Fine-grained controle omvat nu steun voor Dml- statements in queries:
-- Truncate de Audit trail tabel.
CONN sys/password@db10g AS SYSDBA Truncate table fga_log$; SELECT sql_text from dba_fga_audit_trail; No rows selected.
-- Pas de policy op de SAL kolom toe van de EMP tabel.
BEGIN DBMS_FGA.add_policy ( object_schema => „SCOTT“, object_name => „EMP“, policy_name => „SAL_AUDIT“, audit_condition => NULL, -- Equivalent aan TRUE audit_column => „SAL“, statement_types => „ SELECT,INSERT,UPDATE,DELETE “); END; -- Test de controle.
CONN scott/tiger@db10g SELECT * FROM emp; INSERT INTO emp (empno, ename, sal) VALUES (9999, „Tim“, 1); UPDATE emp SET sal = 10 WHERE empno = 9999; DELETE emp WHERE empno = 9999;
ROLLBACK;
-- Controleer de audit trail.
SELECT sql_text FROM dba_fga_audit_trail; SQL_TEXT-------------------------------------- SELECT * FROM emp INSERT INTO emp (empno, ename, sal) VALUES (9999, 'Tim', 1) UPDATE emp SET sal = 10 WHERE empno = 9999 DELETE emp WHERE empno = 9999 4 rows selected.
-- Drop de policy.
CONN sys/password@db10g AS SYSDBA
BEGIN DBMS_FGA.drop_policy( object_schema=> 'SCOTT',
object_name => 'EMP',
policy_name => 'SAL_AUDIT');
END;
/ Uniform Audit TrailDe DBA_COMMON_AUDIT_TRAIL view is toegevoegd om de volledige audit trail te tonen: - DBA_AUDIT_TRAIL – Alleen Standaard auditing (van AUD$)
- DBA_FGA_AUDIT_TRAIL - Fine-grained auditing only (van FGA_LOG$)
- DBA_COMMON_AUDIT_TRAIL - Zowel standaard als fine-grained auditing.
Audit Trail Inhoud Verscheidene velden zijn toegevoegd aan zowel de standaard als fine-grained audittrails: - EXTENDED_TIMESTAMP - Een nauwkeurigere waarde dan de bestaande TIMESTAMP kolom.
- PROXY_SESSIONID – De proxy session serial number als een enterprise user inlogt volgens de proxy methode.
- GLOBAL_UID -Global Universal Identifier for an enterprise user.
- INSTANCE_NUMBER - De INSTANCE_NUMBER waarde van de werkende instance.
- OS_PROCESS - Operating system process id van het oracle proces.
- TRANSACTIONID - Transaction identifier voor de audited transactie. Deze kolom kan gebruikt worden om te joinen met de XID kolom van de FLASHBACK_TRANSACTION_QUERY view
- SCN – System Change number van de query. Deze kolom kan in flash-back queries worden gebruikt.
- SQL_BIND - de waarden van bind variabelen als ze er zijn.
- SQL_TEXT - SQL statement die de audittrail aanzette.
De kolommen SQL_BIND en SQL_TEXT zijn slechts gevuld wanneer de AUDIT_TRAIL=DB_EXTENDED initialiseringsparameter wordt geplaatst: -- Configureer uitgebreide auditing. ALTER SYSTEM SET audit_trail=db_extended SCOPE=SPFILE;
SHUTDOWN IMMEDIATE
STARTUP
TRUNCATE TABLE aud$;
TRUNCATE TABLE fga_log$;
AUDIT ALL BY scott BY ACCESS; -- Voer een auditable actie uit.CONN scott/tiger
UPDATE emp SET ename = ename; -- check de audit trail.SELECT sql_text FROM dba_common_audit_trail;
SQL_TEXT
---------------------------- UPDATE emp SET ename = ename 1 row selected. -- Unconfigure audit trail.CONN sys/password AS SYSDBA
ALTER SYSTEM SET audit_trail=none SCOPE=SPFILE;
SHUTDOWN IMMEDIATE
STARTUP
TRUNCATE TABLE aud$;
TRUNCATE TABLE fga_log$; ZIE OOK DBMS_CRYPTO Virtual Private Database |