Tuesday, December 3, 2024

.::: Fine-Grained Audit (FGA) sample Oracle Audit & Compare with Standart Audit :::.

 

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

Popular Posts