🛡️ Audit & Compliance Module (au_*, core_audit)
Modul Audit & Compliance membantu memonitor aktivitas penting, menjaga jejak audit, dan menerapkan Segregation of Duties (SoD).
1. Module Purpose
- Menyimpan audit trail untuk perubahan data penting.
- Menyimpan rule SoD antar role.
- Menjadi basis untuk laporan compliance.
2. Tables & Structure
| Tabel | Deskripsi singkat |
|---|---|
core_audit | Audit trail aktivitas penting |
au_sod | Rule Segregation of Duties antar role |
Catatan: core_audit didefinisikan di modul Core, tetapi secara fungsi juga menjadi bagian dari audit & compliance.
3. Key Fields & Relationships
3.1 core_audit
- Fields:
tenant_id,user_id,entity_type,entity_id,action,payload_before,payload_after,created_at. - FK:
user_id→core_user.id.
3.2 au_sod
- Fields:
tenant_id,role_a_id,role_b_id,rule_code,description. - FK:
role_a_id,role_b_id→core_role.id.
4. Business Flows
4.1 Logging Perubahan Data Sensitif
- Saat terjadi perubahan pada entity penting (mis.
fi_ar_inv,po_order,inv_adj), aplikasi menulis record kecore_audit. - Auditor dapat menelusuri siapa mengubah apa dan kapan.
4.2 Penerapan SoD
- Admin mendefinisikan rule di
au_sod(mis.ROLE_REQUESTERtidak boleh digabung denganROLE_APPROVER). - Saat assign role ke user (
core_user_role), sistem memeriksa ruleau_sod.
5. Example Reports (SQL)
Contoh SELECT untuk laporan audit & SoD.