我希望能够审核我自己的架构中的特定操作(例如 DDL、插入、更新,任何我喜欢的操作)。我在 Oracle 19C 上使用混合模式进行审计。
我有一个用户“SPLUNK”,它有下表:
CREATE TABLE BAT
(
ID INT GENERATED ALWAYS AS IDENTITY NOT NULL
, NAME VARCHAR2(20)
);
我创建并启用审计策略来测试对表结构的任何更改,如下所示:
CREATE AUDIT POLICY ALTER_TABLE_POLICY_SPL
ACTIONS ALTER ON SPLUNK.BAT;
AUDIT POLICY ALTER_TABLE_POLICY_SPL;
如果我作为 SPLUNK 用户运行以下 SQL 语句:
ALTER TABLE BAT
ADD (AGE INT );
然后运行这条语句:
select * from unified_audit_trail
ORDER BY EVENT_TIMESTAMP DESC;
我的更改声明未包含在审核结果中。但是,如果我创建另一个用户 TESTUSER,请将 ALTER 和 SELECT 权限授予 SPLUNK.BAT:
GRANT ALTER ON SPLUNK.BAT TO TESTUSER;
GRANT SELECT ON SPLUNK.BAT TO TESTUSER;
然后我以测试者的身份运行它:
ALTER TABLE SPLUNK.BAT
ADD (FAVORITENUM INT );
我的更改声明包含在 unified_audit_trail 中。是什么赋予了?具体来说,为什么我对 TESTUSER 用户的 alter 语句进行了审核,但没有对 SPLUNK 用户进行审核?
更重要的是,我如何更改我的审核策略以审核所有用户(包括 SPLUNK 用户)对 SPLUNK.BAT 的更改表操作?
某些审核策略仅在新会话中审核。我猜你一直在为 SPLUNK 用户使用同一个会话。
没有结果。开始一个新会话: