Oracle 統一審計- Best 實踐三

Haoword_wang發表於2024-03-31

繼上一篇,我們繼續學習Oracle 統一審計

四 審計系統許可權

可以使用CREATE AUDIT POLICY語句對系統許可權進行審計。

4.1關於系統許可權審計

系統許可權審計對成功使用系統許可權(如READ ANY TABLE)的活動進行審計。

在這種審計中,需要審計許可權才能成功的SQL語句將被記錄下來。

一個統一的審計策略可以同時包含特權審計選項和操作審計選項。不要審計管理使用者(如SYS)的許可權使用情況。相反,審計它們的物件操作。

注意:

單個查詢可以生成多個審計記錄,對於查詢中正在訪問的每個物件都有一個審計記錄,如果對所有這些物件都啟用了審計。例如,當您查詢檢視時,可以為檢視本身引用的每個底層物件生成多個審計記錄

注意:

您可以審計系統特權、物件、資料庫事件等等。但是,如果您必須查詢資料庫特權的使用情況(例如,已授予給定角色的哪些特權被使用),並生成已使用和未使用特權的報告,那麼您可以建立特權捕獲

4.2可以審計的系統許可權

我們可以審計幾乎所有系統特權的使用情況。要查詢可審計的系統特權列表,可以查詢SYSTEM_PRIVILEGE_MAP表。

如下方式:

SELECT NAME FROM SYSTEM_PRIVILEGE_MAP;

NAME

-------------

ALTER ANY CUBE BUILD PROCESS

SELECT ANY CUBE BUILD PROCESS

ALTER ANY MEASURE FOLDER

...

與操作審計選項類似,特權審計對已授予資料庫使用者的系統特權的使用情況進行審計。如果為SQL語句和特權審計設定了類似的審計選項,那麼只會生成一條審計記錄。例如,如果存在兩個策略,其中一個審計EXECUTE PROCEDURE專門針對HR。程式和第二次稽核一般執行程式(所有程式),則只寫一條稽核記錄。

如果操作已被現有所有者和物件特權允許,則不會發生特權審計。特權審計只有在特權不足時才會觸發,也就是說,只有當使操作成為可能的是系統特權時才會觸發。例如,假設使用者SCOTT被授予SELECT ANY TABLE特權,並且SELECT ANY TABLE正在被審計。如果SCOTT選擇他自己的表(例如SCOTT. emp),則不會使用SELECT ANY table特權。因為他在自己的模式中執行SELECT語句,所以沒有生成審計記錄。另一方面,如果SCOTT從另一個模式(例如,HR。EMPLOYEES表),然後生成一條審計記錄。因為SCOTT選擇了他自己模式之外的表,所以他需要使用SELECT ANY table特權。

4.3 無法審計的系統許可權

無法審計若干系統特權。這些特權是:

INHERIT ANY PRIVILEGE

INHERIT PRIVILEGE

TRANSLATE ANY SQL

TRANSLATE SQL

4.4配置統一審計策略捕獲系統許可權使用情況

CREATE AUDIT POLICY語句中的PRIVILEGES子句審計系統特權的使用情況。

使用以下語法建立一個統一的審計策略,對許可權進行審計:

CREATE AUDIT POLICY policy_name

PRIVILEGES privilege1 [, privilege2];

For example:

CREATE AUDIT POLICY my_simple_priv_policy

PRIVILEGES SELECT ANY TABLE, CREATE LIBRARY;

我們可以構建更復雜的特權統一審計策略,例如包含條件的審計策略。請記住,在建立策略之後,必須使用AUDIT語句來啟用它。

4.5 示例:審計具有ANY許可權的使用者

CREATE AUDIT POLICY語句可以審計使用者的任何許可權。

例27-3展示瞭如何審計使用者HR_MGR的幾個ANY許可權。

例27-3審計具有ANY許可權的使用者

CREATE AUDIT POLICY hr_mgr_audit_pol

PRIVILEGES DROP ANY TABLE, DROP ANY CONTEXT, DROP ANY INDEX, DROP ANY LIBRARY;

AUDIT POLICY hr_mgr_audit_pol BY HR_MGR;

4.6示例:使用條件審計系統許可權

CREATE AUDIT POLICY語句可以建立一個審計策略,該審計策略使用條件對系統許可權進行審計。

例27-4展示瞭如何使用一個條件來審計兩個作業系統使用者psmith和jrawlins使用的許可權。

例27-4使用條件審計系統許可權

CREATE AUDIT POLICY os_users_priv_pol

PRIVILEGES SELECT ANY TABLE, CREATE LIBRARY

WHEN 'SYS_CONTEXT (''USERENV'', ''OS_USER'') IN (''psmith'', ''jrawlins'')'

EVALUATE PER SESSION;

AUDIT POLICY os_users_priv_pol;

4.7系統許可權統一審計策略如何出現在審計跟蹤中

UNIFIED_AUDIT_TRAIL資料字典檢視列出了系統特權審計事件。

下面的示例以例27-4中建立的統一審計策略os_users_priv_pol為例,給出了作業系統使用者psmith所使用的許可權列表。

SELECT SYSTEM_PRIVILEGE_USED FROM UNIFIED_AUDIT_TRAIL

WHERE OS_USERNAME = 'PSMITH' AND UNIFIED_AUDIT_POLICIES = 'OS_USERS_PRIV_POL';

SYSTEM_PRIVILEGE_USED

----------------------

SELECT ANY TABLE

DROP ANY TABLE

注意:

如果為SELECT ANY TABLE系統特權建立了審計策略,則使用者是否行使了READ物件特權或SELECT物件特權將影響審計跟蹤捕獲的操作。

五 審計管理使用者

可審計的管理使用者帳戶


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/26342786/viewspace-3006894/,如需轉載,請註明出處,否則將追究法律責任。

相關文章