Fine-Grained Audit (FGA) in Oracle Database allows auditing of specific data access based on defined conditions. For example, it monitors activity only when sensitive data or specific rows/columns are accessed. This targeted auditing ensures better data security and minimizes unnecessary logs by focusing on high-risk scenarios.
correlation https://teguhth.blogspot.com/2024/11/enable-oracle-19c-unified-auditing-or.html
Berikut contoh penggunaan Fine-Grained Audit (FGA) untuk tabel pembelian:
Studi Kasus:
Audit hanya jika kolom JUMLAH_PEMBELIAN diakses untuk transaksi dengan JUMLAH_PEMBELIAN > 3.
Langkah-Langkah:
1. Tambahkan kebijakan audit menggunakan DBMS_FGA:
BEGIN
DBMS_FGA.ADD_POLICY(
object_schema => 'USER_SCHEMA',
object_name => 'PEMBELIAN',
policy_name => 'JUMLAH_PEMBELIAN_AUDIT',
audit_condition => 'JUMLAH_PEMBELIAN > 3',
audit_column => 'JUMLAH_PEMBELIAN',
enable => TRUE
);
END;
/
2. Penjelasan:
audit_condition: Kondisi audit hanya mencatat transaksi dengan JUMLAH_PEMBELIAN > 3.
audit_column: Audit hanya aktif saat kolom JUMLAH_PEMBELIAN diakses.
3. Hasil: Jika query seperti berikut dijalankan:
SELECT JUMLAH_PEMBELIAN FROM PEMBELIAN WHERE JUMLAH_PEMBELIAN > 3;
Aktivitas ini akan direkam dalam UNIFIED_AUDIT_TRAIL, termasuk siapa yang menjalankan query, waktu akses, dan detail lainnya.
Tujuan:
FGA memungkinkan audit granular berdasarkan kondisi tertentu, seperti data sensitif atau transaksi dengan nilai besar.
4. check result audit
SELECT AUDIT_TYPE,EVENT_TIMESTAMP, DBUSERNAME, ACTION_NAME, OBJECT_NAME,CLIENT_PROGRAM_NAME,UNIFIED_AUDIT_POLICIES,SQL_TEXT
FROM UNIFIED_AUDIT_TRAIL
WHERE DBUSERNAME = 'AISYAH' order by EVENT_TIMESTAMP desc
No comments:
Post a Comment