1. Glossario/

Unified Auditing

Unified Audit Trail

Unified Auditing è il framework introdotto in Oracle 12c per consolidare in un’unica destinazione — la struttura AUDSYS — tutti i record di audit generati dal database: audit standard, fine-grained auditing (FGA), operazioni SYSDBA/SYSOPER e audit di Recovery Manager. In Oracle 21c il framework è obbligatorio e il vecchio parametro AUDIT_TRAIL non ha più effetto.

Come funziona #

I record vengono scritti nella tabella interna UNIFIED_AUDIT_TRAIL (visibile tramite la view omonima) attraverso policy dichiarative create con CREATE AUDIT POLICY. Una policy può filtrare per azione, oggetto, utente o condizione booleana.

-- Creazione di una policy di audit sulle SELECT sensibili
CREATE AUDIT POLICY audit_select_emp
  ACTIONS SELECT ON hr.employees
  WHEN 'SYS_CONTEXT(''USERENV'',''SESSION_USER'') != ''HR'''
  EVALUATE PER SESSION;

AUDIT POLICY audit_select_emp;

I record sono scritti in modo asincrono in un tablespace dedicato gestito da AUDSYS; il flush periodico è controllato dal parametro UNIFIED_AUDIT_SGA_QUEUE_SIZE.

Quando si usa #

Unified Auditing è rilevante in tutti i contesti che richiedono conformità normativa (GDPR, PCI-DSS, SOX) o tracciabilità operativa su ambienti Oracle 12c e successivi. Rispetto al vecchio audit trail, offre:

  • un solo punto di lettura per tutti i tipi di evento;
  • policy granulari attivabili/disattivabili senza riavvio;
  • riduzione dell’overhead grazie alla scrittura asincrona.

Il limite principale è che la UNIFIED_AUDIT_TRAIL cresce rapidamente su sistemi ad alto traffico: è necessario pianificare una policy di purge tramite DBMS_AUDIT_MGMT.