Menerapkan Zero Trust pada akses data: akses berbasis identitas, arsitektur PDP dan PEP untuk keputusan akses terpusat, serta perbandingan RBAC, ABAC, dan ReBAC dalam desain kontrol akses

Setelah di episode 17 kita menetapkan blueprint enterprise, sekarang kita kembali ke keamanan — tapi kali ini lebih dalam: Zero Trust untuk data. Di episode 10 kita menyentuh prinsipnya; sekarang kita bedah bagaimana mengimplementasikannya secara konkret pada akses data.
Mengapa episode ini penting? Karena model keamanan tradisional ("di dalam jaringan = aman") sudah tidak berlaku: data sekarang di cloud, diakses dari mana saja, oleh tim internal, vendor, dan AI agent. Zero Trust menggeser fondasi dari di mana akses datang menjadi siapa dan dalam konteks apa.
Model lama: keamanan berbasis perimeter — kalau sudah masuk VPN/network, bebas mengakses. Model Zero Trust: setiap permintaan akses data diverifikasi secara independen, tidak peduli dari mana datangnya.
LAMA: "Sudah di jaringan internal → percaya → akses luas"
BARU: "Setiap akses → verifikasi identitas + konteks → keputusan
per-permintaan, hak minimum, akses dicabut otomatis"Pilar Zero Trust untuk data:
Arsitektur kontrol akses modern memisahkan dua tanggung jawab:
| Komponen | Kepanjangan | Fungsi |
|---|---|---|
| PDP | Policy Decision Point | Memutuskan boleh/tidak berdasarkan policy |
| PEP | Policy Enforcement Point | Menjalankan keputusan di sisi resource |
Mengapa pemisahan ini penting? Karena policy dikelola terpusat di PDP (sekali diubah, berlaku di semua resource), sementara enforcement terjadi lokal di setiap resource (PEP). Tanpa pemisahan, policy tersebar di ratusan tempat dan tidak konsisten.
Implementasi praktis: Open Policy Agent (OPA) adalah contoh PDP paling umum — policy ditulis sebagai kode (Rego), di-version, dan diuji:
package data.access
default allow := false
allow if {
input.subject.role == "data_analyst"
input.resource.domain == "sales"
input.action == "read"
not input.resource.tier == "restricted"
}Satu PDP, banyak resource: database, object storage, BI, dan API semuanya bisa ditanya ke engine yang sama.
Tiga model kontrol akses yang sering dicampur aduk:
| Model | Kepanjangan | Dasar Keputusan | Contoh |
|---|---|---|---|
| RBAC | Role-Based | Role statis user | Analyst bisa baca sales |
| ABAC | Attribute-Based | Atribut user + resource + konteks | Analyst baca sales hanya regionnya, jam kerja |
| ReBAC | Relationship-Based | Relasi antar entitas | Manager bisa baca data tim yang dipimpinnya |
Perbandingan praktis:
USER: analyst Andi, region Jakarta, role data_analyst
DATA: dataset sales_revenue, tier internal, region Jakarta
RBAC: Andi role analyst → boleh baca sales? YA (role cocok)
ABAC: analyst + region Jakarta cocok + jam kerja → YA
analyst + region Surabaya (bukan tugasnya) → TIDAK
ReBAC: Andi punya relasi "assigned_to" region → YAABAC adalah pilihan umum untuk data karena granular: keputusan bisa memakai atribut seperti region, klasifikasi data, waktu, dan approval. Ini yang kita pakai untuk contoh di bawah.
USER: role, region, department, level, employment_status
RESOURCE: domain, tier (public/internal/restricted), owner, pii_flag
CONTEXT: waktu, device, lokasi, approval_status1. data_analyst → baca data tier internal domain miliknya, region sesuai
2. data_scientist → baca gold + sandbox ML, tanpa PII (kecuali approval)
3. auditor → baca semua metadata + audit log, bukan data transaksional
4. AI agent → baca terbatas, tanpa PII, sesi di-log & terbatas waktu
5. semua → akses restricted butuh approval + tercatat- Database/warehouse: row-level security / masking sesuai atribut user
- Object storage: policy bucket berbasis atribut
- BI: permission pada dataset + row-level di dashboard
- API data: middleware yang bertanya ke PDP sebelum meneruskanUji dengan skenario: user normal, user berubah region, mantan karyawan (akses dicabut), dan AI agent. Semua keputusan di-log untuk audit (episode 20).
Warning
ABAC yang terlalu rumit akan jadi beban operasional: ratusan atribut dan policy yang tidak bisa lagi diprediksi siapa boleh akses apa. Mulai dengan 5-10 atribut dan 5-10 aturan inti, evaluasi keputusannya, baru perluas. Keputusan akses yang tidak bisa dijelaskan adalah kegagalan desain.
Tip
Mulai dari yang paling bernilai: proteksi PII. Terapkan ABAC dulu pada dataset ber-PII (region + tier + approval) sebelum menyentuh seluruh warehouse. Ini juga yang paling mudah dijustifikasi ke manajemen karena menyangkut kepatuhan (episode 19).
Inti yang harus dibawa pulang:
Di episode 19 selanjutnya kita akan membahas Regulatory Compliance Data — GDPR, AI Act, data residency, dan kesiapan audit dalam desain arsitektur. Sampai jumpa di episode 19!