Merancang keamanan dan privasi data sejak awal: enkripsi at-rest dan in-transit, data masking, RBAC untuk akses terkelola, serta praktik menyusun security blueprint yang sejalan dengan GDPR

Setelah di episode 9 kita memastikan data berkualitas, sekarang kita membahas sisi yang tidak boleh kalah: keamanan dan privasi. Kebocoran data bukan sekadar insiden teknis — ia adalah insiden hukum, reputasi, dan kepercayaan. Dan ketika data melintasi pipeline, lakehouse, dan dashboard, permukaan serangan pun bertambah.
Mengapa episode ini penting? Karena keamanan data adalah tanggung jawab desain, bukan tempelan. Fitur keamanan yang dipasang setelah sistem berjalan selalu lebih mahal dan lebih mudah salah. Arsitek yang memasukkan security ke dalam blueprint sejak awal menyelamatkan organisasi dari biaya remediation yang puluhan kali lipat.
Prinsip Zero Trust: jangan percaya siapa pun secara default — setiap akses harus diverifikasi dan diberi hak minimum. Berlaku pada jaringan, identitas, dan data. Kita bedah detail di episode 18; untuk sekarang pahami tiga aspek inti:
1. Never trust, always verify → setiap akses diverifikasi identitas & konteks
2. Least privilege → beri akses seminimal mungkin yang dibutuhkan
3. Assume breach → rancang seolah-olah sudah ada yang masukData yang disimpan harus dienkripsi. Di platform modern ini hampir selalu bawaan (encryption by default di S3/GCS, BigQuery, Snowflake), tapi arsitek harus menegakkan dan memverifikasinya:
- Object storage: SSE (server-side encryption) aktif, KMS terkelola
- Warehouse/lakehouse: encryption enabled, key rotation terjadwal
- Backup: dienkripsi juga, jangan hanya data utama
- Kunci: simpan di KMS/HSM terpusat, jangan di env var appSemua jalur data wajib TLS. Ini mencakup koneksi aplikasi ke database, pipeline ke warehouse, dan API antar sistem. Arsitek menetapkan standar: TLS 1.3 minimum, sertifikat valid, dan mTLS untuk layanan internal yang sensitif.
Tidak semua orang butuh melihat data asli. Masking menggantikan nilai sensitif dengan nilai samaran:
| Teknik | Cara Kerja | Contoh |
|---|---|---|
| Masking | Nilai ditutup sebagian | 0812-XXXX-XXXX |
| Hashing | Diubah ke hash (tidak reversibel) | name → SHA256(...) |
| Tokenization | Diganti token, nilai asli di vault | email → tok_8f3a... |
| Row-level security | Baris disaring per pengguna | Sales hanya lihat regionnya |
Implementasi masking di SQL:
CREATE FUNCTION mask_phone(p VARCHAR) RETURNS VARCHAR
AS 'SELECT CONCAT(LEFT(p, 4), ''-XXXX-XXXX'')'
LANGUAGE SQL IMMUTABLE;
-- dipakai saat menampilkan ke role non-privileged
SELECT mask_phone(customer_phone) FROM customer;Prinsip: data asli disimpan sekali di trusted zone; masking diterapkan di lapisan konsumsi sesuai role.
RBAC adalah model kontrol akses paling umum: pengguna → role → permission. Arsitek merancang role hierarchy yang stabil:
roles:
data_engineer → read/write bronze & silver, kelola pipeline
data_analyst → read gold, read selected silver
data_scientist → read gold + ML datasets, tulis sandbox
data_steward → kelola metadata, approve akses
dba → admin platform, backup, tuningAturan penting:
GDPR (EU General Data Protection Regulation) adalah standar global untuk perlindungan data pribadi. Prinsip-prinsip yang memengaruhi arsitektur:
| Prinsip GDPR | Implikasi Arsitektur |
|---|---|
| Data minimization | Jangan simpan PII yang tidak dibutuhkan |
| Right to be forgotten | Pipeline harus bisa menghapus data seseorang (purge pipeline) |
| Consent & lawful basis | Tracking penggunaan data perlu metadata consent |
| Data residency | Data warga EU tidak boleh dipindah ke luar (kecuali sesuai) |
| Privacy by design | Keamanan & privasi bagian dari desain, bukan tambahan |
Implikasi arsitektur paling konkret: purge pipeline. Saat user meminta penghapusan data, arsitektur harus tahu di mana saja data orang itu berada — dari bronze, silver, gold, sampai log pipeline — dan bisa menghapusnya.
Warning
"Right to be forgotten" sulit dipenuhi jika data tersebar di cache, search index, backup, dan log. Rancang sejak awal: metadata yang menandai dataset berisi PII, mekanisme purge terpusat, dan backup yang expired otomatis. Menggali data dari backup lama saat komplain GDPR masuk adalah mimpi buruk operasional.
Blueprint adalah dokumen yang menjawab: siapa bisa mengakses apa, dengan cara apa, dan apa yang tercatat. Struktur minimal:
1. Aset data & klasifikasi (public, internal, confidential, restricted)
2. Peta akses: role → dataset → mode (read/write/admin)
3. Enkripsi: at-rest & in-transit, key management, rotation
4. Masking & tokenization untuk PII per lapisan
5. RBAC + privilege elevation flow + approval workflow
6. Audit: apa yang dilog, berapa lama disimpan
7. Incident response: siapa dipanggil saat breach terdeteksiLangkah penyusunan:
Tip
Mulai dari siapa yang butuh akses ke apa (bukan dari tool yang tersedia). Setiap dataset restricted di-log siapa yang mengakses; permission yang tidak dipakai 90 hari dicabut. Blueprint yang bagus menjawab satu pertanyaan di audit berikutnya tanpa kebingungan.
Inti yang harus dibawa pulang:
Di episode 11 selanjutnya kita akan membahas Semantic Layer & Metrics Store — bagaimana satu definisi metrik bisa dipakai konsisten oleh semua dashboard, BI, dan AI. Sampai jumpa di episode 11!