Oracle FGA細粒度審計——基於內容的資料庫審計(三)
在上面兩篇中,我們已經介紹了Oracle FGA細粒度審計的核心內容元件,以及如何檢視審計結果。此外,還有一些關於Oracle FGA使用中的細節問題需要注意。本篇將關注dbms_fga包的其他一些方法的方式。
4、 dbms_fga包其他方法解析
dbms_fga包是Oracle提供的FGA管理程式元件,藉助dbms_fga我們可以容易的進行FGA策略的制定、刪除和管理。
在上面兩篇系列的文章中,我們已經熟悉了dbms_fga包的add_policy儲存過程。使用該方法,我們可以方便的制定各種型別的FGA審計策略。下面介紹該包的其他方法。
ü 刪除Oracle FGA審計策略drop_policy
有新增策略的方法,就有對應的刪除方法。對新增進的Oracle FGA策略,可以使用drop_policy的方法進行刪除。下面是該方法的簽名。
PROCEDURE drop_policy(object_schema IN VARCHAR2 := NULL,
object_name IN VARCHAR2,
policy_name IN VARCHAR2);
輸入指定的審計物件所屬schema、審計物件名稱以及對應的policy名稱,就可以實現刪除審計策略。
注意:筆者從這個方法中有一個感受,就是Oracle FGA策略policy是一種緊密圍繞審計物件的方法。透過審計物件schema、物件名稱和策略名稱唯一定位到一個審計策略。這是否也就意味著不同審計物件能夠擁有相同名稱的policy。
下面是針對drop_policy的實驗。
SQL> select policy_name,policy_text from dba_audit_policies;
POLICY_NAME POLICY_TEXT
------------------------------ --------------------------------------------------------------------------------
POL_VID_LENGTH length(vid)>5
POL_VID_MODIFY
POL_DT_DEL trunc(dt)
POL_VID_SELECT to_char(sysdate,'Day') in ('星期六','星期日')
之後實驗刪除。
SQL> exec dbms_fga.drop_policy(object_schema => 'SCOTT',object_name => 'T',policy_name => 'POL_VID_SELECT');
PL/SQL procedure successfully completed
SQL> select policy_name,policy_text from dba_audit_policies;
POLICY_NAME POLICY_TEXT
------------------------------ --------------------------------------------------------------------------------
POL_VID_LENGTH length(vid)>5
POL_VID_MODIFY
POL_DT_DEL trunc(dt)
ü Oracle FGA策略啟用禁用方法disable_policy和enable_policy
在某些時候,需要臨時性的將審計策略進行終止使用。在dba_audit_policies檢視中,存在enabled列,表示當前policy是否啟用。
SQL> select policy_name,enabled,policy_text from dba_audit_policies;
POLICY_NAME ENABLED POLICY_TEXT
-------------------- ------- --------------------------------------------------------------------------------
POL_VID_LENGTH YES length(vid)>5
POL_VID_MODIFY YES
POL_DT_DEL YES trunc(dt)
可以使用dbms_fga包的兩個方法進行策略啟用禁用的操作。方法API介面簽名如下:
-- enable_policy - enable a security policy for a table or view
--
-- INPUT PARAMETERS
-- object_schema - schema owning the table/view, current user if NULL
-- object_name - name of table or view
-- policy_name - name of policy to be enabled or disabled
PROCEDURE enable_policy(object_schema IN VARCHAR2 := NULL,
object_name IN VARCHAR2,
policy_name IN VARCHAR2,
enable IN BOOLEAN := TRUE);
-- disable_policy - disable a security policy for a table or view
--
-- INPUT PARAMETERS
-- object_schema - schema owning the table/view, current user if NULL
-- object_name - name of table or view
-- policy_name - name of policy to be enabled or disabled
PROCEDURE disable_policy(object_schema IN VARCHAR2 := NULL,
object_name IN VARCHAR2,
policy_name IN VARCHAR2);
Oracle FGA策略一旦被disable掉,就不再進行審計工作。
//禁用對應的實驗Policy
SQL> exec dbms_fga.disable_policy(object_schema => 'SCOTT',object_name => 'T',policy_name => 'POL_VID_LENGTH');
PL/SQL procedure successfully completed
SQL> select policy_name,enabled,policy_text from dba_audit_policies;
POLICY_NAME ENABLED POLICY_TEXT
-------------------- ------- --------------------------------------------------------------------------------
POL_VID_LENGTH NO length(vid)>5
POL_VID_MODIFY YES
POL_DT_DEL YES trunc(dt)
//之後進行插入(vid長度超過5)
SQL> insert into t values (6,'fdsfdsff');
1 row inserted
SQL> commit;
Commit complete
SQL> select sysdate from dual;
SYSDATE
-----------
2011-6-26 2
SQL> select timestamp,sql_text from dba_fga_audit_trail;
TIMESTAMP SQL_TEXT
----------- --------------------------------------------------------------------------------
2011-6-24 2 insert into t values (4,'k45545', sysdate)
2011-6-24 2 update t set vid='kkl' where id=1
2011-6-24 2 delete t where id=2
2011-6-25 2 select * from t
2011-6-25 2 select id from t
2011-6-25 2 select * from t
6 rows selected
結果發現,當策略被禁用之後,是不會進行審計操作的。
對禁用的policy,使用enable_policy可以方便的重新啟用。
SQL> exec dbms_fga.enable_policy(object_schema => 'SCOTT',object_name => 'T',policy_name => 'POL_VID_LENGTH');
PL/SQL procedure successfully completed
POLICY_NAME ENABLED POLICY_TEXT
-------------------- ------- --------------------------------------------------------------------------------
POL_VID_LENGTH YES length(vid)>5
POL_VID_MODIFY YES
POL_DT_DEL YES trunc(dt)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17203031/viewspace-700921/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle FGA細粒度審計——基於內容的資料庫審計(一)Oracle資料庫
- Oracle FGA細粒度審計——基於內容的資料庫審計(二)Oracle資料庫
- oracle 細粒度審計(fga)Oracle
- 【FGA】將FGA細粒度審計功能的審計結果記錄在資料庫中資料庫
- oracle細粒度審計Oracle
- Fine-grainedauditing(FGA) 細粒度審計AI
- 【FGA】將FGA細粒度審計功能的審計結果記錄在XML檔案中XML
- oracle審計-細粒度(轉)Oracle
- 細粒度審計FGA儲存過程含義儲存過程
- Oracle OCP(52):細粒度審計Oracle
- Oracle Database標準審計和細粒度審計功能OracleDatabase
- Oracle FGA審計功能Oracle
- 【實驗】【審計】【FGA】使用Oracle的審計功能監控資料庫中的可疑操作Oracle資料庫
- 【FGA】擴充套件Oracle細粒度審計功能——呼叫定製的儲存過程套件Oracle儲存過程
- oracle 10g 增強審計(二)----細粒度訪問審計Oracle 10g
- oracle fga審計(欄位級)Oracle
- 利用Oracle FGA實現審計Oracle
- 【審計】標準資料庫審計資料庫
- 審計Oracle資料庫的使用Oracle資料庫
- ORACLE 資料庫審計詳解Oracle資料庫
- ORACLE資料庫標準審計Oracle資料庫
- Oracle資料庫審計功能介紹Oracle資料庫
- 資料庫審計-hexorbase資料庫HexoORB
- 拍拍貸資料庫審計資料庫
- 資料庫DDL操作審計資料庫
- FGA審計及audit_trail引數AI
- 舉例說明Oracle資料庫審計的用法Oracle資料庫
- Fine-Grained Auditing test (精細審計:FGA測試)AI
- 關於oracle審計功能Oracle
- MySQL資料庫審計系統MySql資料庫
- Access資料庫審計工具mdbtools資料庫
- Oracle審計Oracle
- oracle 審計Oracle
- Oracle資料庫內部安全威脅:審計特權使用者Oracle資料庫
- 網路安全審計主要包括哪些內容?
- RHEL審計內容/etc/audit/audit.rules
- 資料庫審計技術進化資料庫
- 開啟mysql 資料庫審計功能。MySql資料庫