日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FGA细粒度审计

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FGA细粒度审计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FGA細粒度審計

  • 1. 前言
  • 2. 細粒度審計(FGA:Fine Grained Auditing)
    • 2.1 創建細粒度審計的語法
    • 2.2 重點參數介紹
    • 2.3 舉例:
  • 3. 使用FGA細粒度審計
    • 3.1 創建審計
    • 3.2 對此表創建細粒度審計
    • 3.3 創建完之后驗證創建是否成功
  • 4.查看審計是否有效
    • 4.1 查看當前審計內容(此處現在查詢為空)
    • 4.2 各種查詢進行測試
    • 4.3 查詢審計的信息
  • 5. 刪除細粒度審計
    • 5.1 語法
    • 5.2 刪除已經創建的FGA審計
    • 5.3 驗證
    • 5.4 附
  • 6. 常用視圖

1. 前言

  • ORACLE的標準審計默認級別是DB,這個級別是不會記錄sql語句的,如果需要記錄sql語句,則需要將audit_trail參數設置為audit_trail=db,extend。
AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended } SYS@hfdr>show parameter audit_trailNAME TYPE VALUE ------------------------------------ ----------- ------------------------------ audit_trail string DB

可是更改audit_trail參數需要重啟數據庫,就可以使用細粒度審計(FGA:Fine Grained Auditing)來進行實現

2. 細粒度審計(FGA:Fine Grained Auditing)

細粒度審計(FGA:Fine Grained Auditing):實現特定行和列的自定義審計
  • 2.1 創建細粒度審計的語法

DBMS_FGA.ADD_POLICY( object_schema IN VARCHAR2 DEFAULT NULL object_name IN VARCHAR2, policy_name IN VARCHAR2, audit_condition IN VARCHAR2 DEFAULT NULL, audit_column IN VARCHAR2 DEFAULT NULL handler_schema IN VARCHAR2 DEFAULT NULL, handler_module IN VARCHAR2 DEFAULT NULL, enable IN BOOLEAN DEFAULT TRUE, statement IN SELECT,audit_trail IN BINARY_INTEGER DEFAULT NULL,audit_column_opts IN BINARY_INTEGER DEFAULT ANY_COLUMNS,policy_owner IN VARCHAR2 DEFAULT NULL);/
  • 2.2 重點參數介紹

object_schema:指定要審計的對象的模式。(如果NULL,則假定當前登錄用戶。) object_name:指定要審計的對象的名稱。 policy_name:指定要創建的策略的名稱。確保此名稱是唯一的。 audit_condition:審計的相關條件,如果為null或未指定,則對表執行的任何審計都會被記錄 audit_column:指定要審核的一列或多列,包括隱藏列。如果設置為NULL或省略 Enable:使用 true 或 false 啟用或禁用策略。 statement_types:指定要審計的 SQL 語句:INSERT、UPDATE、DELETE或SELECT
  • 2.3 舉例:

BEGINDBMS_FGA.ADD_POLICY(object_schema => 'HR',object_name => 'EMPLOYEES',policy_name => 'chk_hr_employees',audit_column => 'SALARY',enable => TRUE,statement_types => 'INSERT, UPDATE, SELECT, DELETE'); END; /

3. 使用FGA細粒度審計

  • 3.1 創建審計

ZHANGYUN@hfdr>select * from zy;ID NAME ADDR ---------- -------------------- --------------------1 zhangyu6 hefei2 zhangyu4 hefei3 zhangyu4444 hefei4 zhangyu3 hefei5 zhangyu2 hefei6 zhangyu1 hefei
  • 3.2 對此表創建細粒度審計

BEGINDBMS_FGA.ADD_POLICY(object_schema => 'ZHANGYUN',object_name => 'ZY',policy_name => 'chk_zhangyun_zy',audit_column => 'name',enable => TRUE,statement_types => 'INSERT, UPDATE, SELECT, DELETE'); END; /
  • 3.3 創建完之后驗證創建是否成功

ZHANGYUN@hfdr>select policy_name from dba_audit_policies;POLICY_NAME ------------------------------ CHK_ZHANGYUN_ZY

4.查看審計是否有效

  • 4.1 查看當前審計內容(此處現在查詢為空)

ZHANGYUN@hfdr>select sql_text from dba_fga_audit_trail;
  • 4.2 各種查詢進行測試

ZHANGYUN@hfdr>select * from zy where name='zhangyu1';ID NAME ADDR ---------- -------------------- --------------------6 zhangyu1 hefei ZHANGYUN@hfdr>select * from zy;ID NAME ADDR ---------- -------------------- --------------------1 zhangyu6 hefei2 zhangyu4 hefei3 zhangyu4444 hefei4 zhangyu3 hefei5 zhangyu2 hefei6 zhangyu1 hefei ZHANGYUN@hfdr>select id from zy;ID ----------123456 ZHANGYUN@hfdr>select id from zy where name='zhangyu1';ID ----------6
  • 4.3 查詢審計的信息

ZHANGYUN@hfdr>select sql_text from dba_fga_audit_trail; SQL_TEXT -------------------------------------------------------------------------------- select * from zy where name='zhangyu1' select * from zy select id from zy where name='zhangyu1'

可以發現只要涉及到name列的查詢語句都被記錄了下來,配置成功。

5. 刪除細粒度審計

  • 5.1 語法

DBMS_FGA.DROP_POLICY( object_schema VARCHAR2, object_name VARCHAR2, policy_name IVARCHAR2);
  • 5.2 刪除已經創建的FGA審計

BEGIN DBMS_FGA.DROP_POLICY( object_schema => 'zhangyun', object_name => 'zy', policy_name => 'chk_zhangyun_zy'); END; /
  • 5.3 驗證

select policy_name from dba_audit_policies;
  • 5.4 附

ZHANGYUN@hfdr>select sql_text from dba_fga_audit_trail;SQL_TEXT -------------------------------------------------------------------------------- select * from zy where name='zhangyu1' select * from zy select id from zy where name='zhangyu1'

即使刪除了創建的FGA審計策略,已經記錄下的語句不會刪除

6. 常用視圖

SYS.FGA_LOG$:基表。如果audit_trail參數包含DB,審計記錄會被記錄在FGA_LOG$表中。 V$XML_AUDIT_TRAIL:如果audit_trail參數包含XML,審計記錄會記錄在AUDIT_FILE_DEST初始化參數指定的目的地下的XML文件中,Oracle會讀取這些XML文件,生成V$XML_AUDIT_TRAIL動態性能視圖,方便DBA查看審計詳細信息。 DBA_AUDIT_POLICIES:詳細記錄了審計配置的策略信息。 DBA_FGA_AUDIT_TRAIL:查看到審計的SQL語句和綁定變量。 DBA_COMMON_AUDIT_TRAIL:包含V$XML_AUDIT_TRAIL動態性能視圖的內容,是標準和細粒度審計記錄。

總結

以上是生活随笔為你收集整理的FGA细粒度审计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。