熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

利用OracleFGA實現審計

2013-11-13 12:46:56  來源: Oracle 

  在《初識企業內容管理平台-Documentum》中提到由於Documentum的極其保守所以無法對其系統尤其是數據庫設計部分進行深入了解(不提供對數據庫表的說明書)為了對數據庫部分進行了解需要進行一下反向的工作通過在Webtop/Da中進行操作觀察數據庫表的變化這就需要實現對Oracle數據庫表操作的審計當然這樣的反向工作對了解其它未知的應用系統也同樣有作用

  Oraclei Database 推出了一種稱為細粒度審計 (FGA) 的新特性現在下面就利用FGA實現審計對表的審計其中EDMS是數據庫的一個測試帳戶

  .建立測試表(用戶EDMS下)

  Create Table T_AUDIT_DEMO

  (

  CID   INT   NOT NULL CNAME VARCHAR() NULL ENAME VARCHAR() NULL

  CONSTRAINT PK_T_AUDIT_DEMO PRIMARY KEY (CID)

  );

  .創建審計策略(用戶SYS下)

  begin

  dbms_fgaadd_policy

  (

  object_schema=>EDMS object_name=>T_AUDIT_DEMO

  policy_name=>T_AUDIT_DEMO_AUDIT

  );

  end;

  .測試審計效果(用戶EDMS下)

  INSERT INTO T_AUDIT_DEMO VALUES(曾勳ZENG XUN);

  INSERT INTO T_AUDIT_DEMO VALUES(翁黎明WENG LI MING);

  INSERT INTO T_AUDIT_DEMO VALUES(劉帝勇LIU DI YONG);

  .使用Select查詢測試表(用戶EDMS下)

  SQL> SELECT * FROM T_AUDIT_DEMO;

  CID CNAME ENAME

  

  曾勳ZENG XUN

  翁黎明WENG LI MING

  劉帝勇LIU DI YONG

  .再次查看審計效果(用戶SYS下)

  SQL> select statement_typeSQL_TEXT from dba_fga_audit_trail;

  STATEMENT_TYPE SQL_TEXT

  

  SELECT SELECT * FROM T_AUDIT_DEMO

  注意之前的Insert語句並不在審計中默認的只對Select進行審計在Oracle i中它只捕獲 SELECT 語句而在Oracle i中進行了擴展支持對所有類型的DML進行審計

  .修改審計粒度(用戶SYS下)

  begin

  dbms_fgaadd_policy

  (

  object_schema=>EDMS object_name=>T_AUDIT_DEMO policy_name=>T_AUDIT_DEMO_AUDIT statement_types=>INSERT UPDATE DELETE SELECT

  );

  end;

  注意不能實現對Truncat Table的審計

  .測試審計(用戶EDMSSYS下)

  INSERT INTO T_AUDIT_DEMO VALUES(黃智洪HUANG ZHI HONG);

  DELETE FROM T_AUDIT_DEMO WHERE CID < ;

  SQL> select statement_typeSQL_TEXT from dba_fga_audit_trail;

  STATEMENT_TYPE SQL_TEXT

  

  SELECT SELECT * FROM T_AUDIT_DEMO

  INSERT       INSERT INTO T_AUDIT_DEMO VALUES(黃智洪HUANG ZHI HONG)

  DELETE DELETE FROM T_AUDIT_DEMO WHERE CID <

  SELECT SELECT * FROM T_AUDIT_DEMO

  至此我們已經實現了對表T_AUDIT_DEMO的審計與FGA相關的表或者視圖

  select * from fga$

  select * from fga_log$

  select * from fgacol$

  select * from dba_fga_audit_trail

  select * from dba_common_audit_trail

  select * from dba_audit_policies

  select * from dba_fga_audit_trail

  與FGA相關的包或者過程

  dbms_fgaadd_policy dbms_fgadrop_policy

  至於這些表視圖包的列或者參數的使用方法可以Describe或者查看相關文檔


From:http://tw.wingwit.com/Article/program/Oracle/201311/16575.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.