现实中的细粒度审计(1)
现实中的细粒度审计(1) 现实中的细粒度审计(1)
SELECT INSERT、UPDATEDELETESELECTSELECT
推出了一种称为细粒度审计 (FGA) 的新特性,它改变了这种局面。该特性允许您将单个的 SELECTSELECT
SELECT
Name Null? Type ---------------- -------- ------------ACCT_NO NOT NULL NUMBERCUST_ID NOT NULL NUMBERBALANCE NUMBER(15,2)
begindbms_fga.add_policy (object_schema=>'BANK',object_name=>'ACCOUNTS',policy_name=>'ACCOUNTS_ACCESS' );end;
dbms_fga 权限的用户来执行。
select * from bank.accounts;
select timestamp, db_user,os_user,object_schema,object_name,sql_textfrom dba_fga_audit_trail;TIMESTAMP DB_USER OS_USER OBJECT_ OBJECT_N SQL_TEXT--------- ------- ------- ------- -------- ----------------------22-SEP-03 BANK ananda BANK ACCOUNTS select * from accounts
DBA_FGA_AUDIT_TRAILi Database 之前不可能得到这种信息,但随着 FGA 的推出,获得此信息变得轻而易举。
i Database 中,FGA 只能捕获 SELECTg,FGA 还可以处理 DML 语句 — INSERT、UPDATEDELETE
SELECTdbms_fga.add_policy
audit_column => 'BALANCE'
dbms_fga.add_policy
audit_condition => 'BALANCE >= 11000'
begindbms_fga.add_policy (object_schema=>'BANK',object_name=>'ACCOUNTS',policy_name=>'ACCOUNTS_ACCESS',audit_column => 'BALANCE',audit_condition => 'BALANCE >= 11000' );end;
中的示例演示了何时审计操作和何时不审计操作的各种情况。