Prinsip-prinsip pelindungan data pribadi
Tujuan Pembelajaran
Setelah mempelajari bagian ini, mahasiswa diharapkan mampu: - Menjelaskan prinsip-prinsip utama perlindungan data pribadi. - Menghubungkan prinsip-prinsip tersebut ke dalam praktik sistem basis data. - Mengimplementasikan fitur keamanan dan kontrol di MySQL untuk mendukung kepatuhan terhadap perlindungan data.
Prinsip-Prinsip Pelindungan Data Pribadi
Berikut adalah prinsip-prinsip yang umum digunakan secara internasional (juga tercantum dalam UU No. 27/2022 tentang Pelindungan Data Pribadi di Indonesia):
Prinsip | Penjelasan | Contoh Praktik di MySQL Ubuntu 24.04 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1. Persetujuan (Consent) | Data hanya boleh dikumpulkan dan digunakan jika telah disetujui oleh subjek data. | Tabel harus mencatat status persetujuan pengguna. | |||||||||||||||||
2. Tujuan Terbatas (Purpose Limitation) | Data hanya boleh digunakan untuk tujuan yang sah dan disetujui. | Gunakan peran (role-based access) untuk membatasi penggunaan. | |||||||||||||||||
3. Minimalisasi Data (Data Minimization) | Hanya data yang benar-benar dibutuhkan yang boleh dikumpulkan. | Jangan buat kolom berlebihan; hindari menyimpan data sensitif jika tidak perlu. | |||||||||||||||||
4. Akurasi (Accuracy) | Data harus dijaga agar tetap akurat dan diperbarui. | Gunakan constraint dan validasi. | |||||||||||||||||
5. Penyimpanan Terbatas (Storage Limitation) | Data tidak boleh disimpan lebih lama dari yang diperlukan. | Terapkan mekanisme penghapusan otomatis berdasarkan waktu. | |||||||||||||||||
6. Integritas dan Kerahasiaan (Security) | Data harus dilindungi dari akses tidak sah atau pelanggaran. | Gunakan GRANT/REVOKE, enkripsi, dan backup. | |||||||||||||||||
7. Akuntabilitas (Accountability) | Pengendali data harus dapat menunjukkan kepatuhan terhadap prinsip ini. | Catat log akses atau audit trail. |
Contoh Implementasi di MySQL Ubuntu 24.041. Pencatatan Persetujuan CREATE TABLE pengguna ( id INT PRIMARY KEY AUTO_INCREMENT, nama VARCHAR(100), email VARCHAR(100), setuju_pdp BOOLEAN DEFAULT FALSE, tanggal_setuju TIMESTAMP NULL );
Misalnya hanya admin yang boleh mengakses semua data: -- Buat user terbatas CREATE USER 'survey_user'@'localhost' IDENTIFIED BY 'safePass123'; -- Hanya izinkan akses kolom non-sensitif GRANT SELECT(nama, email) ON mydb.pengguna TO 'survey_user'@'localhost';
CREATE TABLE mahasiswa ( nim VARCHAR(10) PRIMARY KEY, nama VARCHAR(100) NOT NULL, email VARCHAR(100), ipk DECIMAL(3,2) CHECK (ipk BETWEEN 0.00 AND 4.00) ); 4. Penghapusan Otomatis Data Lama (Retention Policy) DELETE FROM log_akses WHERE waktu_akses < NOW() - INTERVAL 1 YEAR; > Bisa dijalankan otomatis lewat cron job di Ubuntu.
Enkripsi data email (opsional, manual): -- Contoh hanya ilustrasi, enkripsi dilakukan di level aplikasi INSERT INTO pengguna (nama, email) VALUES ('Budi', AES_ENCRYPT('budi@mail.com', 'kunci_rahasia'));
CREATE TABLE log_akses ( user VARCHAR(50), waktu_akses TIMESTAMP DEFAULT CURRENT_TIMESTAMP, tindakan VARCHAR(255) ); -- Insert log saat pengguna mengakses data INSERT INTO log_akses (user, tindakan) VALUES ('admin', 'Lihat tabel pengguna'); > Untuk logging otomatis, perlu integrasi dengan aplikasi atau trigger. Ringkasan Praktik MySQL untuk Prinsip PDP
Pranala Menarik |