Security Rules (firestore.rules)
Deklarasi aturan keamanan firestore.rules, isolasi data multi-tenant, dan proteksi rekam medis.
Status: Stablev1.0.0Source Verified: Yes
Source:
firestore.rulesTests: tests/rules/firestore.test.tsFirestore Security Rules#
Arsitektur deklaratif firestore.rules yang memastikan bahwa tidak ada akses baca atau tulis ilegal yang dapat menembus database.
1. Prinsip Keamanan Firestore Rules#
- Default Deny: Seluruh akses diblokir secara default (
allow read, write: if false;). - Server Authoritative: Perubahan data sensitif hanya dapat dilakukan oleh Firebase Admin SDK melalui API Route terotentikasi.
- Role Verification: Membaca klaim peran pada dokumen
/users/$(request.auth.uid).
2. Isolasi Tenant Multi-Klinik#
Staf klinik hanya dapat membaca dokumen yang memiliki clinicId yang sama persis dengan profil mereka:
javascript
javascript
1match /patients/{patientId} {2 allow read: if isAuthenticated() && (3 resource.data.clinicId == getUserData().clinicId ||4 request.auth.uid in resource.data.parentIds5 );6}
3. Hak Akses Orang Tua / Wali#
Wali pasien hanya dapat mengakses data anak mereka jika UID mereka tercantum secara eksplisit pada array parentIds.