データベースについて調べてみた

データベースについて調べたことのメモ。Oracle要素多めになる予定。

統合監査を使用するための設定などについて調べてみた

過去の記事でも書きましたが、Oracle Database 23cから従来型監査がサポートされなくなり、統合監査を使用しなければいけなくなりました。

今回は統合監査を使用するために必要な設定や、従来型における標準監査相当を行うための監査ポリシーの作成方法などについて調べてみました。なお、実機調査の際は、Linux x86-64Oracle 19c(19.22.0)のRAC環境を用いて行いました。

 

統合監査を使用するまでの大まかな流れは、以下となります。

  1. 統合監査機能の有効化
  2. 統合監査ポリシーの作成
  3. 統合監査ポリシーの適用

この流れに沿って、統合監査を使用するまでの手順を説明していきます。また、監査設定・監査レコードの確認手順も併せて説明いたします。

 

1. 統合監査機能の有効化

統合監査機能を有効化するために、oracleモジュールのrelinkを行う必要があります。まず初期状態で統合監査機能が有効であるかを、v$option(RAC環境ではgv$option)ビューから確認します。

oracle$ sqlplus /nolog
SQL> connect / as sysdba

SQL> SELECT inst_id, parameter, value FROM gv$option WHERE parameter = 'Unified Auditing';

   INST_ID PARAMETER                      VALUE
---------- ------------------------------ ----------
         1 Unified Auditing               FALSE
         2 Unified Auditing               FALSE

 

oracleモジュールのrelinkを行うために、起動中のデータベースインスタンスを全ノードで停止します。

oracle$ srvctl stop db -d orcl

 

以下のコマンドを実行して、oracleモジュールのrelinkを行います。RACの場合、全ノードで実行する必要があります。relinkを行うとlibknlopt.aのサイズとタイムスタンプが変わるので、relink前後で念のため確認しておきます。

oracle$ cd $ORACLE_HOME/rdbms/lib
oracle$ ls -l libknlopt.a
-rw-r--r-- 1 oracle oinstall 2366974  2月  8 00:27 libknlopt.a

oracle$ make -f ins_rdbms.mk uniaud_on ioracle
/usr/bin/ar d /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/lib/libknlopt.a kzanang.o
/usr/bin/ar cr /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/lib/libknlopt.a /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/lib/kzaiang.o 
chmod 755 /u01/app/oracle/product/19.0.0/dbhome_1/bin
cd /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/lib/;\
/usr/bin/ar r  /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/lib/libknlopt.a `/usr/bin/ar t /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/lib/libknlopt.a` ;

(中略)

mv /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/lib/oracle /u01/app/oracle/product/19.0.0/dbhome_1/bin/oracle
chmod 6751 /u01/app/oracle/product/19.0.0/dbhome_1/bin/oracle
(if [ ! -f /u01/app/oracle/product/19.0.0/dbhome_1/bin/crsd.bin ]; then \
    getcrshome="/u01/app/oracle/product/19.0.0/dbhome_1/srvm/admin/getcrshome" ; \
    if [ -f "$getcrshome" ]; then \
        crshome="`$getcrshome`"; \
        if [ -n "$crshome" ]; then \
            if [ $crshome != /u01/app/oracle/product/19.0.0/dbhome_1 ]; then \
                oracle="/u01/app/oracle/product/19.0.0/dbhome_1/bin/oracle"; \
                $crshome/bin/setasmgidwrap oracle_binary_path=$oracle; \
            fi \
        fi \
    fi \
fi\
);

oracle$ ls -l libknlopt.a
-rw-r--r-- 1 oracle oinstall 2367166  2月 27 23:27 libknlopt.a

 

全ノードでoracleモジュールのrelinkが完了したら、データベースインスタンスを全ノードで起動し、データベースインスタンスに接続して、統合監査が有効になっていることを、v$option(RAC環境ではgv$option)ビューから確認します。

oracle$ srvctl start db -d orcl

oracle$ sqlplus /nolog
SQL> connect / as sysdba

SQL> SELECT inst_id, parameter, value FROM gv$option WHERE parameter = 'Unified Auditing';

   INST_ID PARAMETER                      VALUE
---------- ------------------------------ ----------
         1 Unified Auditing               TRUE
         2 Unified Auditing               TRUE
                                          ^^^^^ TRUEなので、統合監査が有効

 

 

2. 統合監査ポリシーの作成

統合監査ポリシーを作成する際は、CREATE AUDIT POLICY文を使用します。以降で記載するCREATE AUDIT POLICY文の説明は、Oracle Database 19c SQL言語リファレンスの記載内容を基に記載していますので、詳細を知りたい方はそちらもご参照ください。

ここでは説明の便宜上、CREATE AUDIT POLICY文は以下のように3つの定義部で構成されているものとして説明していきます。

CREATE AUDIT POLICY 統合監査ポリシー名

  {1.監査対象定義部}

  [2.監査条件定義部]

  [3.その他定義部]
;

上記3つの定義部のうち、1つめの監査対象定義部は記載が必須の定義部となっており、残り2つの定義部は、作成したい統合監査ポリシーの内容によって、記載が不要となります。

 

2.1 監査対象定義部

監査対象定義部は、以下の様に3つの句で構成されていますが、最低でもどれか1つの句が記載されていれば、CREATE AUDIT POLICY文は成立します。

2.1.1 システム権限句

システム権限を監査対象としたい場合は、下記の様にPRIVILEGESに続けて、対象としたいシステム権限をカンマ区切りで列挙します。

PRIVILEGES システム権限1, システム権限2, …

 

監査対象として指定できるシステム権限は、system_privilege_mapディクショナリビューのname列で取得できるシステム権限のうち、INHERIT ANY PRIVILEGES, SYSASM, SYSBACKUP, SYSDBA, SYSDG, SYSKM, SYSRAC, SYSOPERを除いたものを、監査対象として指定できます。Oracle 19cで取得したsystem_privilege_mapディクショナリビューのname列の一覧は、こちらをご参照ください。

 

2.1.2 標準アクション句

標準アクション句は、以下の様に3つの句で構成されており、最低でもどれか1つの句が存在している必要があります。

 

2.1.2.1 オブジェクトアクション句

データベースオブジェクトに対するアクションを監査対象としたい場合は、下記の様にACTIONSに続けて監査対象とするアクションとONに続けて対象オブジェクトを記述します。指定できるアクションは対象オブジェクトの種類によって異なり、一覧についてはこちらをご参照ください。

ACTIONS アクション ON 対象オブジェクト

 

気を付けたい点として、複数アクションや複数オブジェクトを監査対象とする場合の記述がちょっと(結構?)面倒くさい点です。

例えば、TAB01テーブルとTAB02テーブルに対するSELECTとUPDATEを監査対象としたい場合、以下の様に「1アクション ON 1オブジェクト」の記載をカンマ区切りで列挙する必要があります。「ACTIONS SELECT, INSERT ON TAB01, TAB02」という記述はできません。

ACTIONS SELECT ON TAB01, INSERT ON TAB01,
        SELECT ON TAB02, INSERT ON TAB02

 

なお、対象オブジェクトに対する全てのアクションを監査したい場合は、全アクションを列挙する代わりに、ALLを指定することができます。

ACTIONS ALL ON TAB01

また、全オブジェクトに対して監査をしたい場合は、オブジェクトアクション句では記述せず、次に説明するシステムアクション句で監査したいアクションを指定します。

 

2.1.2.2 システムアクション句

データベースに対するシステムアクションを監査したい場合は、下記の様にACTIONSに続けて、対象としたいシステムアクションをカンマ区切りで列挙します。監査対象として指定できるシステムアクションは、component列がStandardであるauditable_system_actionsディクショナリビューのname列で取得できるシステムアクションを指定することができます。Oracle 19cで取得したauditable_system_actionsディクショナリビューのname列の一覧は、こちらをご参照ください。

ACTIONS システムアクション1, システムアクション2, …

なお、全てのシステムアクションを監査対象としたい場合は、システムアクションを列挙する代わりに、ALLを指定することができます。

ACTIONS ALL

 

2.1.2.3 コンポーネントアクション句

DataPump、SQL*Loader(ダイレクトパスロード)、Label Security、Real Application Security、Database Vaultといった、コンポーネントに対するアクションを監査したい場合は、下記の様に「ACTIONS COMPONENT =」に続けて、対象コンポーネントを示すキーワードと監査対象アクションを列挙します(Database Vaultのときのみ対象オブジェクトをONに続けて記述)。

ACTIONS COMPONENT = {
   { DATAPUMP | DIRECT_LOAD | OLS | XS } アクション1, アクション2, … 
   | DV アクション on 対象オブジェクト, アクション on 対象オブジェクト, … 
}

監査対象として指定できるアクションはコンポーネント毎に決まっており、component列が対象コンポーネントを示すものである、auditable_system_actionsディクショナリビューのname列で取得できるシステムアクションを指定することができます。Database Vault以外のコンポーネントには、全アクションを意味するALLを指定することができます。

複数のコンポーネントを監査対象として定義したい場合は、下記の様に「ACTIONS COMPONET =」をコンポーネント毎に記述します。この時のポイントとして、複数アクションを列挙するときと違い、カンマ区切りにしない点に注意が必要です。

ACTIONS COMPONENT = DATAPUMP ALL
ACTIONS COMPONENT = DIRECT_LOAD ALL

 

コンポーネント毎の「ACTIONS COMPONET =」に続けて指定するキーワードと、auditable_system_actionsディクショナリビューのcomponent列の一覧は、以下の通りです。

コンポーネント 指定キーワード component列
DataPump DATAPUMP Datapump
SQL*Loader(ダイレクトパスロード) DIRECT_LOAD Direct path API
Label Security OLS Label Security
Real Application Security XS XS
Database Vault DV Database Vault

 

2.1.3 ロール句

ロールに直接付与されているシステム権限を監査したい場合は、監査対象とするロール名をROLESに続けて、カンマ区切りで列挙します。

ROLES ロール1, ロール2, …

 

 

2.2 監査条件定義部

統合監査ポリシーを適用させる条件を設定したい場合は、下記の様にWHEN句を記載します。

WHEN '監査条件' EVALUATE PER { STATEMENT | SESSION | INSTANCE }

 

監査条件は式やファンクションを用いて記述します。また、この条件評価を行うタイミングをEVALUATE PERに続けて指定します。監査対象SQL文などが実行される度に評価を行う場合はSTATEMENT、接続中セッション内で監査対象SQL文などが最初に実行されたタイミングのみで評価を行う場合はSESSION、DBインスタンスが起動してから最初に実行されたタイミングのみで評価を行う場合はINSTANCEを指定します。

例えば、ホスト名がCLNT01から接続されている時は監査を有効にする場合は、以下の様な記述を行います。

WHEN 'SYS_CONTEXT(''USERENV'', ''HOST'') = ''CLNT01''' EVALUATE PER SESSION

 

2.3 その他定義部

ここでは以下2つの要素について記述します。

[ ONLY TOPLEVEL ]

[ CONTAINER = { ALL | CURRENT } ]

ONLY TOPLEVELを指定すると、ユーザが直接発行したSQL文を監査対象とし、直接発行したSQL文に伴い実行される内部SQLは監査対象外となります。監査ログの出力容量の抑止等の効果が期待できるので、内部SQLまで監査する要件がなければ、これを指定しておくとよさそうに思えます。

CONTAINER句は、この統合監査ポリシーを共通の統合監査ポリシーとして作成する場合は「CONTAINER = ALL」を指定します。現在接続中のコンテナに対するローカルの統合監査ポリシーとして作成する場合は「CONTAINER = CURRENT」を指定するか、CONTAINER句を一切指定しません。

 

 

3. 統合監査ポリシーの適用

作成した統合監査ポリシーを有効にするためには、AUDIT POLICY文を使用します。

ここでは説明の便宜上、AUDIT POLICY文は以下のように2つの定義部で構成されているものとして説明していきます。

AUDIT POLICY 統合監査ポリシー名

  [1.監査対象ユーザ定義部]

  [2.監査対象結果定義部]
;

なお、2つの定義部は必須の指定項目ではありません。2つとも指定しない場合は、全てのユーザに対して実行SQL(操作)の結果に関わらず、統合監査ポリシーの内容に従って監査が行われます。

 

3.1 監査対象ユーザ定義部

監査対象ユーザ定義部は、監査対象ユーザを指定したい場合に定義します。何も定義しなかった場合、全ユーザが監査対象となります。ここの記述方法は以下の3種類があり、1回のAUDIT POLICY文で指定できるのは、どれか1つだけとなります。

① BY ユーザ名1, ユーザ名2, ... 

② EXCEPT ユーザ名1, ユーザ名2, ... 

③ BY USERS WITH GRANTED ROLES ロール名1, ロール名2, ...

指定したユーザを監査対象としたい場合は①を使用し、指定したユーザ以外を監査対象としたい場合は②を使用します。指定したロールを付与されたユーザを監査対象としたい場合は③を使用します。

 

3.2 監査対象結果定義部

監査対象結果定義部は、実行SQL(操作)の結果によって監査対象とするかを指定したい場合に定義します。何も定義しなかった場合は、結果に関わらず監査対象とします。

成功時のみ監査したい場合、失敗時のみ監査したい場合の記述は、以下の様になります。

成功時: WHENEVER SUCCESSFUL
失敗時: WHENEVER NOT SUCCESSFUL

 

 

4.監査設定・監査レコードの確認

統合監査に必要となる各種設定はできたので、ここでは作成した統合監査ポリシーの確認や、取得された監査レコードの確認方法について紹介します。

4.1 統合監査ポリシーの確認

作成した統合監査ポリシーの確認は、audit_unified_policiesディクショナリビューから確認できます。以下は、統合監査ポリシーTEST_POL01について確認する例です。

SQL> SELECT policy_name, audit_option, audit_option_type, object_schema, object_type, object_name, condition_eval_opt, audit_only_toplevel
  2  FROM audit_unified_policies WHERE policy_name = 'TEST_POL01' ORDER BY 1;


POLICY_NAME          AUDIT_OPTION         AUDIT_OPTION_TYPE  OBJECT_SCHEMA        OBJECT_TYP OBJECT_NAME                    CONDITION AUD
-------------------- -------------------- ------------------ -------------------- ---------- ------------------------------ --------- ---
TEST_POL01           ALL                  OBJECT ACTION      TEST                 TABLE      TAB01                          NONE      YES
TEST_POL01           ALL                  DIRECT_LOAD ACTION NONE                 NONE       NONE                           NONE      YES

 

4.2 統合監査ポリシーの有効化状況の確認

統合監査ポリシーの有効化状況は、audit_unified_enabled_policiesディクショナリビューから確認できます。以下は名称がTEST_POLから始まる統合監査ポリシーの有効化状況を確認する例です。

SQL> SELECT policy_name, enabled_option, entity_name, entity_type, success, failure
  2  FROM audit_unified_enabled_policies WHERE policy_name LIKE 'TEST_POL%' ORDER BY 1;

POLICY_NAME                    ENABLED_OPTION  ENTITY_NAME                    ENTITY_ SUC FAI
------------------------------ --------------- ------------------------------ ------- --- ---
TEST_POL01                     BY USER         TEST                           USER    YES YES
TEST_POL02                     BY USER         ALL USERS                      USER    YES YES

 

4.3 取得された監査レコードの確認

取得された監査レコードは、unified_audit_policiesディクショナリビューから確認できます。取得できる情報(列)が多数あるため、詳細はリファレンスマニュアルをご参照ください。以下は統合監査ポリシーTEST_POL01に合致した監査レコードを確認する例です。

SQL> SELECT event_timestamp, instance_id, sessionid, os_username, userhost, dbusername, action_name, object_schema, object_name, sql_text, return_code
  2  FROM unified_audit_trail WHERE event_timestamp > '2024/02/29 14:00:00' AND unified_audit_policies = 'TEST_POL01' ORDER BY event_timestamp;

EVENT_TIMESTAMP                INSTANCE_ID  SESSIONID OS_USERNAM USERHOST        DBUSERNAME ACTION_NAME     OBJECT_SCHEMA                  OBJECT_NAME
------------------------------ ----------- ---------- ---------- --------------- ---------- --------------- ------------------------------ ------------------------------
SQL_TEXT                                                                         RETURN_CODE
-------------------------------------------------------------------------------- -----------
24-02-29 14:34:11.425688                 1 1091111701 oracle     apsrv01         TEST       SELECT          TEST                           TAB01
select count(*) from tab01 t1, tab02 t2 where t1.id = t2.id                                0

 

 

以上が統合監査の設定に関して調べた内容となります。監査を行うと監査レコードがどんどん蓄積されていくので、監査レコード等のパージなど、統合監査における監査レコードのメンテナンス作業方法について、気が向いたら調べてみようと思います。

 

 

参考情報

ディクショナリビュー等から確認できる、監査対象として指定できるシステム権限やアクセスに関する情報を、参考までに記載します。

 

system_privilege_mapディクショナリビューname列一覧

Oracle 19c(19.22.0)で確認したsystem_privilege_mapディクショナリビューのname列のリストとなります。

No. name列(システム権限)
1 ADMINISTER ANY SQL TUNING SET
2 ADMINISTER DATABASE TRIGGER
3 ADMINISTER KEY MANAGEMENT
4 ADMINISTER RESOURCE MANAGER
5 ADMINISTER SQL MANAGEMENT OBJECT
6 ADMINISTER SQL TUNING SET
7 ADVISOR
8 ALTER ANY ANALYTIC VIEW
9 ALTER ANY ASSEMBLY
10 ALTER ANY ATTRIBUTE DIMENSION
11 ALTER ANY CLUSTER
12 ALTER ANY CUBE
13 ALTER ANY CUBE BUILD PROCESS
14 ALTER ANY CUBE DIMENSION
15 ALTER ANY DIMENSION
16 ALTER ANY EDITION
17 ALTER ANY EVALUATION CONTEXT
18 ALTER ANY HIERARCHY
19 ALTER ANY INDEX
20 ALTER ANY INDEXTYPE
21 ALTER ANY LIBRARY
22 ALTER ANY MATERIALIZED VIEW
23 ALTER ANY MEASURE FOLDER
24 ALTER ANY MINING MODEL
25 ALTER ANY OPERATOR
26 ALTER ANY OUTLINE
27 ALTER ANY PROCEDURE
28 ALTER ANY ROLE
29 ALTER ANY RULE
30 ALTER ANY RULE SET
31 ALTER ANY SEQUENCE
32 ALTER ANY SQL PROFILE
33 ALTER ANY SQL TRANSLATION PROFILE
34 ALTER ANY TABLE
35 ALTER ANY TRIGGER
36 ALTER ANY TYPE
37 ALTER DATABASE
38 ALTER DATABASE LINK
39 ALTER LOCKDOWN PROFILE
40 ALTER PROFILE
41 ALTER PUBLIC DATABASE LINK
42 ALTER RESOURCE COST
43 ALTER ROLLBACK SEGMENT
44 ALTER SESSION
45 ALTER SYSTEM
46 ALTER TABLESPACE
47 ALTER USER
48 ANALYZE ANY
49 ANALYZE ANY DICTIONARY
50 AUDIT ANY
51 AUDIT SYSTEM
52 BACKUP ANY TABLE
53 BECOME USER
54 CHANGE NOTIFICATION
55 COMMENT ANY MINING MODEL
56 COMMENT ANY TABLE
57 CREATE ANALYTIC VIEW
58 CREATE ANY ANALYTIC VIEW
59 CREATE ANY ASSEMBLY
60 CREATE ANY ATTRIBUTE DIMENSION
61 CREATE ANY CLUSTER
62 CREATE ANY CONTEXT
63 CREATE ANY CREDENTIAL
64 CREATE ANY CUBE
65 CREATE ANY CUBE BUILD PROCESS
66 CREATE ANY CUBE DIMENSION
67 CREATE ANY DIMENSION
68 CREATE ANY DIRECTORY
69 CREATE ANY EDITION
70 CREATE ANY EVALUATION CONTEXT
71 CREATE ANY HIERARCHY
72 CREATE ANY INDEX
73 CREATE ANY INDEXTYPE
74 CREATE ANY JOB
75 CREATE ANY LIBRARY
76 CREATE ANY MATERIALIZED VIEW
77 CREATE ANY MEASURE FOLDER
78 CREATE ANY MINING MODEL
79 CREATE ANY OPERATOR
80 CREATE ANY OUTLINE
81 CREATE ANY PROCEDURE
82 CREATE ANY RULE
83 CREATE ANY RULE SET
84 CREATE ANY SEQUENCE
85 CREATE ANY SQL PROFILE
86 CREATE ANY SQL TRANSLATION PROFILE
87 CREATE ANY SYNONYM
88 CREATE ANY TABLE
89 CREATE ANY TRIGGER
90 CREATE ANY TYPE
91 CREATE ANY VIEW
92 CREATE ASSEMBLY
93 CREATE ATTRIBUTE DIMENSION
94 CREATE CLUSTER
95 CREATE CREDENTIAL
96 CREATE CUBE
97 CREATE CUBE BUILD PROCESS
98 CREATE CUBE DIMENSION
99 CREATE DATABASE LINK
100 CREATE DIMENSION
101 CREATE EVALUATION CONTEXT
102 CREATE EXTERNAL JOB
103 CREATE HIERARCHY
104 CREATE INDEXTYPE
105 CREATE JOB
106 CREATE LIBRARY
107 CREATE LOCKDOWN PROFILE
108 CREATE MATERIALIZED VIEW
109 CREATE MEASURE FOLDER
110 CREATE MINING MODEL
111 CREATE OPERATOR
112 CREATE PLUGGABLE DATABASE
113 CREATE PROCEDURE
114 CREATE PROFILE
115 CREATE PUBLIC DATABASE LINK
116 CREATE PUBLIC SYNONYM
117 CREATE ROLE
118 CREATE ROLLBACK SEGMENT
119 CREATE RULE
120 CREATE RULE SET
121 CREATE SEQUENCE
122 CREATE SESSION
123 CREATE SQL TRANSLATION PROFILE
124 CREATE SYNONYM
125 CREATE TABLE
126 CREATE TABLESPACE
127 CREATE TRIGGER
128 CREATE TYPE
129 CREATE USER
130 CREATE VIEW
131 DEBUG ANY PROCEDURE
132 DEBUG CONNECT ANY
133 DEBUG CONNECT SESSION
134 DELETE ANY CUBE DIMENSION
135 DELETE ANY MEASURE FOLDER
136 DELETE ANY TABLE
137 DEQUEUE ANY QUEUE
138 DROP ANY ANALYTIC VIEW
139 DROP ANY ASSEMBLY
140 DROP ANY ATTRIBUTE DIMENSION
141 DROP ANY CLUSTER
142 DROP ANY CONTEXT
143 DROP ANY CUBE
144 DROP ANY CUBE BUILD PROCESS
145 DROP ANY CUBE DIMENSION
146 DROP ANY DIMENSION
147 DROP ANY DIRECTORY
148 DROP ANY EDITION
149 DROP ANY EVALUATION CONTEXT
150 DROP ANY HIERARCHY
151 DROP ANY INDEX
152 DROP ANY INDEXTYPE
153 DROP ANY LIBRARY
154 DROP ANY MATERIALIZED VIEW
155 DROP ANY MEASURE FOLDER
156 DROP ANY MINING MODEL
157 DROP ANY OPERATOR
158 DROP ANY OUTLINE
159 DROP ANY PROCEDURE
160 DROP ANY ROLE
161 DROP ANY RULE
162 DROP ANY RULE SET
163 DROP ANY SEQUENCE
164 DROP ANY SQL PROFILE
165 DROP ANY SQL TRANSLATION PROFILE
166 DROP ANY SYNONYM
167 DROP ANY TABLE
168 DROP ANY TRIGGER
169 DROP ANY TYPE
170 DROP ANY VIEW
171 DROP LOCKDOWN PROFILE
172 DROP PROFILE
173 DROP PUBLIC DATABASE LINK
174 DROP PUBLIC SYNONYM
175 DROP ROLLBACK SEGMENT
176 DROP TABLESPACE
177 DROP USER
178 EM EXPRESS CONNECT
179 ENQUEUE ANY QUEUE
180 EXECUTE ANY ASSEMBLY
181 EXECUTE ANY CLASS
182 EXECUTE ANY EVALUATION CONTEXT
183 EXECUTE ANY INDEXTYPE
184 EXECUTE ANY LIBRARY
185 EXECUTE ANY OPERATOR
186 EXECUTE ANY PROCEDURE
187 EXECUTE ANY PROGRAM
188 EXECUTE ANY RULE
189 EXECUTE ANY RULE SET
190 EXECUTE ANY TYPE
191 EXECUTE ASSEMBLY
192 EXEMPT ACCESS POLICY
193 EXEMPT IDENTITY POLICY
194 EXEMPT REDACTION POLICY
195 EXPORT FULL DATABASE
196 FLASHBACK ANY TABLE
197 FLASHBACK ARCHIVE ADMINISTER
198 FORCE ANY TRANSACTION
199 FORCE TRANSACTION
200 GLOBAL QUERY REWRITE
201 GRANT ANY OBJECT PRIVILEGE
202 GRANT ANY PRIVILEGE
203 GRANT ANY ROLE
204 IMPORT FULL DATABASE
205 INHERIT ANY PRIVILEGES
206 INHERIT ANY REMOTE PRIVILEGES
207 INSERT ANY CUBE DIMENSION
208 INSERT ANY MEASURE FOLDER
209 INSERT ANY TABLE
210 KEEP DATE TIME
211 KEEP SYSGUID
212 LOCK ANY TABLE
213 LOGMINING
214 MANAGE ANY FILE GROUP
215 MANAGE ANY QUEUE
216 MANAGE FILE GROUP
217 MANAGE SCHEDULER
218 MANAGE TABLESPACE
219 MERGE ANY VIEW
220 ON COMMIT REFRESH
221 PURGE DBA_RECYCLEBIN
222 QUERY REWRITE
223 READ ANY ANALYTIC VIEW CACHE
224 READ ANY FILE GROUP
225 READ ANY TABLE
226 REDEFINE ANY TABLE
227 RESTRICTED SESSION
228 RESUMABLE
229 SELECT ANY CUBE
230 SELECT ANY CUBE BUILD PROCESS
231 SELECT ANY CUBE DIMENSION
232 SELECT ANY DICTIONARY
233 SELECT ANY MEASURE FOLDER
234 SELECT ANY MINING MODEL
235 SELECT ANY SEQUENCE
236 SELECT ANY TABLE
237 SELECT ANY TRANSACTION
238 SET CONTAINER
239 SYSBACKUP
240 SYSDBA
241 SYSDG
242 SYSKM
243 SYSOPER
244 SYSRAC
245 TEXT DATASTORE ACCESS
246 TRANSLATE ANY SQL
247 UNDER ANY TABLE
248 UNDER ANY TYPE
249 UNDER ANY VIEW
250 UNLIMITED TABLESPACE
251 UPDATE ANY CUBE
252 UPDATE ANY CUBE BUILD PROCESS
253 UPDATE ANY CUBE DIMENSION
254 UPDATE ANY TABLE
255 USE ANY JOB RESOURCE
256 USE ANY SQL TRANSLATION PROFILE
257 WRITE ANY ANALYTIC VIEW CACHE

 

 

オブジェクトタイプ別監査可能アクション一覧

Oracle19cのマニュアルから確認した、オブジェクトタイプ別の監査可能なアクションの一覧となります。

オブジェクトのタイプ アクション
ディレクト AUDIT, GRANT, READ
ファンクション AUDIT, EXECUTE , GRANT
Javaスキーマ・オブジェクト(ソース、クラス、リソース) AUDIT, EXECUTE, GRANT
ライブラリ EXECUTE, GRANT
マテリアライズド・ビュー ALTER, AUDIT, COMMENT, DELETE, INDEX, INSERT, LOCK, SELECT, UPDATE
マイニング・モデル AUDIT, COMMENT, GRANT, RENAME, SELECT
オブジェクト型 ALTER, AUDIT, GRANT
パッケージ AUDIT, EXECUTE, GRANT
プロシージャ AUDIT, EXECUTE, GRANT
順序 ALTER, AUDIT, GRANT, SELECT
ALTER, AUDIT, COMMENT, DELETE, FLASHBACK, GRANT, INDEX, INSERT, LOCK, RENAME, SELECT, UPDATE
ビュー AUDIT, DELETE, FLASHBACK, GRANT, INSERT, LOCK, RENAME, SELECT, UPDATE

 

 

auditable_system_actionsディクショナリビュー一覧

Oracle 19c(19.22.0)で確認したauditable_system_actionsディクショナリビューのcomponent列とname列のリストとなります。

No. component列(コンポーネント) name列(アクション)
1 Database Vault FACTOR ALL
2 Database Vault FACTOR ERROR
3 Database Vault FACTOR NULL
4 Database Vault FACTOR TRUST LEVEL NEG
5 Database Vault FACTOR TRUST LEVEL NULL
6 Database Vault FACTOR VALIDATE ERROR
7 Database Vault FACTOR VALIDATE FALSE
8 Database Vault REALM ACCESS
9 Database Vault REALM SUCCESS
10 Database Vault REALM VIOLATION
11 Database Vault RULE SET EVAL
12 Database Vault RULE SET FAILURE
13 Database Vault RULE SET SUCCESS
14 Datapump ALL
15 Datapump EXPORT
16 Datapump IMPORT
17 Direct path API ALL
18 Direct path API LOAD
19 Label Security ALL
20 Label Security ALTER DATA LABEL
21 Label Security ALTER LABEL COMPONENTS
22 Label Security ALTER POLICY
23 Label Security APPLY POLICY
24 Label Security CREATE DATA LABEL
25 Label Security CREATE LABEL COMPONENTS
26 Label Security CREATE POLICY
27 Label Security DISABLE POLICY
28 Label Security DROP DATA LABEL
29 Label Security DROP LABEL COMPONENTS
30 Label Security DROP POLICY
31 Label Security ENABLE POLICY
32 Label Security PRIVILEGED ACTION
33 Label Security REMOVE POLICY
34 Label Security SET AUTHORIZATION
35 Label Security SUBSCRIBE OID
36 Label Security UNSUBSCRIBE OID
37 Protocol AUTHENTICATION
38 Protocol FTP
39 Protocol HTTP
40 Standard ADMINISTER KEY MANAGEMENT
41 Standard ALL
42 Standard ALTER ANALYTIC VIEW
43 Standard ALTER ASSEMBLY
44 Standard ALTER ATTRIBUTE DIMENSION
45 Standard ALTER AUDIT POLICY
46 Standard ALTER CLUSTER
47 Standard ALTER DATABASE
48 Standard ALTER DATABASE DICTIONARY
49 Standard ALTER DATABASE LINK
50 Standard ALTER DIMENSION
51 Standard ALTER DISK GROUP
52 Standard ALTER FLASHBACK ARCHIVE
53 Standard ALTER FUNCTION
54 Standard ALTER HIERARCHY
55 Standard ALTER INDEX
56 Standard ALTER INDEXTYPE
57 Standard ALTER INMEMORY JOIN GROUP
58 Standard ALTER JAVA
59 Standard ALTER LIBRARY
60 Standard ALTER LOCKDOWN PROFILE
61 Standard ALTER MATERIALIZED VIEW
62 Standard ALTER MATERIALIZED VIEW LOG
63 Standard ALTER MATERIALIZED ZONEMAP
64 Standard ALTER MINING MODEL
65 Standard ALTER OPERATOR
66 Standard ALTER OUTLINE
67 Standard ALTER PACKAGE
68 Standard ALTER PACKAGE BODY
69 Standard ALTER PLUGGABLE DATABASE
70 Standard ALTER PROCEDURE
71 Standard ALTER PROFILE
72 Standard ALTER RESOURCE COST
73 Standard ALTER ROLE
74 Standard ALTER ROLLBACK SEGMENT
75 Standard ALTER SEQUENCE
76 Standard ALTER SESSION
77 Standard ALTER SYNONYM
78 Standard ALTER SYSTEM
79 Standard ALTER TABLE
80 Standard ALTER TABLESPACE
81 Standard ALTER TRACING
82 Standard ALTER TRIGGER
83 Standard ALTER TYPE
84 Standard ALTER TYPE BODY
85 Standard ALTER USER
86 Standard ALTER VIEW
87 Standard ANALYZE CLUSTER
88 Standard ANALYZE INDEX
89 Standard ANALYZE TABLE
90 Standard ASSOCIATE STATISTICS
91 Standard AUDIT
92 Standard CALL
93 Standard CHANGE PASSWORD
94 Standard COMMENT
95 Standard COMMIT
96 Standard CREATE ANALYTIC VIEW
97 Standard CREATE ASSEMBLY
98 Standard CREATE ATTRIBUTE DIMENSION
99 Standard CREATE AUDIT POLICY
100 Standard CREATE CLUSTER
101 Standard CREATE CONTEXT
102 Standard CREATE DATABASE LINK
103 Standard CREATE DIMENSION
104 Standard CREATE DIRECTORY
105 Standard CREATE DISK GROUP
106 Standard CREATE EDITION
107 Standard CREATE FLASHBACK ARCHIVE
108 Standard CREATE FUNCTION
109 Standard CREATE HIERARCHY
110 Standard CREATE INDEX
111 Standard CREATE INDEXTYPE
112 Standard CREATE INMEMORY JOIN GROUP
113 Standard CREATE JAVA
114 Standard CREATE LIBRARY
115 Standard CREATE LOCKDOWN PROFILE
116 Standard CREATE MATERIALIZED VIEW
117 Standard CREATE MATERIALIZED VIEW LOG
118 Standard CREATE MATERIALIZED ZONEMAP
119 Standard CREATE MINING MODEL
120 Standard CREATE OPERATOR
121 Standard CREATE OUTLINE
122 Standard CREATE PACKAGE
123 Standard CREATE PACKAGE BODY
124 Standard CREATE PFILE
125 Standard CREATE PLUGGABLE DATABASE
126 Standard CREATE PROCEDURE
127 Standard CREATE PROFILE
128 Standard CREATE RESTORE POINT
129 Standard CREATE ROLE
130 Standard CREATE ROLLBACK SEGMENT
131 Standard CREATE SCHEMA
132 Standard CREATE SCHEMA SYNONYM
133 Standard CREATE SEQUENCE
134 Standard CREATE SPFILE
135 Standard CREATE SYNONYM
136 Standard CREATE TABLE
137 Standard CREATE TABLESPACE
138 Standard CREATE TRIGGER
139 Standard CREATE TYPE
140 Standard CREATE TYPE BODY
141 Standard CREATE USER
142 Standard CREATE VIEW
143 Standard DELETE
144 Standard DISASSOCIATE STATISTICS
145 Standard DROP ANALYTIC VIEW
146 Standard DROP ASSEMBLY
147 Standard DROP ATTRIBUTE DIMENSION
148 Standard DROP AUDIT POLICY
149 Standard DROP CLUSTER
150 Standard DROP CONTEXT
151 Standard DROP DATABASE LINK
152 Standard DROP DIMENSION
153 Standard DROP DIRECTORY
154 Standard DROP DISK GROUP
155 Standard DROP EDITION
156 Standard DROP FLASHBACK ARCHIVE
157 Standard DROP FUNCTION
158 Standard DROP HIERARCHY
159 Standard DROP INDEX
160 Standard DROP INDEXTYPE
161 Standard DROP INMEMORY JOIN GROUP
162 Standard DROP JAVA
163 Standard DROP LIBRARY
164 Standard DROP LOCKDOWN PROFILE
165 Standard DROP MATERIALIZED VIEW
166 Standard DROP MATERIALIZED VIEW LOG
167 Standard DROP MATERIALIZED ZONEMAP
168 Standard DROP MINING MODEL
169 Standard DROP OPERATOR
170 Standard DROP OUTLINE
171 Standard DROP PACKAGE
172 Standard DROP PACKAGE BODY
173 Standard DROP PLUGGABLE DATABASE
174 Standard DROP PROCEDURE
175 Standard DROP PROFILE
176 Standard DROP RESTORE POINT
177 Standard DROP ROLE
178 Standard DROP ROLLBACK SEGMENT
179 Standard DROP SCHEMA SYNONYM
180 Standard DROP SEQUENCE
181 Standard DROP SYNONYM
182 Standard DROP TABLE
183 Standard DROP TABLESPACE
184 Standard DROP TRIGGER
185 Standard DROP TYPE
186 Standard DROP TYPE BODY
187 Standard DROP USER
188 Standard DROP VIEW
189 Standard EXECUTE
190 Standard EXECUTE DIRECTORY
191 Standard EXPLAIN PLAN
192 Standard FLASHBACK TABLE
193 Standard GRANT
194 Standard INSERT
195 Standard LOCK TABLE
196 Standard LOGOFF
197 Standard LOGON
198 Standard NOAUDIT
199 Standard PURGE DBA_RECYCLEBIN
200 Standard PURGE INDEX
201 Standard PURGE RECYCLEBIN
202 Standard PURGE TABLE
203 Standard PURGE TABLESPACE
204 Standard READ DIRECTORY
205 Standard RENAME
206 Standard REVOKE
207 Standard ROLLBACK
208 Standard SELECT
209 Standard SET ROLE
210 Standard SET TRANSACTION
211 Standard TRUNCATE CLUSTER
212 Standard TRUNCATE TABLE
213 Standard UPDATE
214 Standard WRITE DIRECTORY
215 XS ADD GLOBAL CALLBACK
216 XS ADD PROXY
217 XS ALL
218 XS ASSIGN USER
219 XS CREATE ACL
220 XS CREATE DATA SECURITY
221 XS CREATE NAMESPACE ATTRIBUTE
222 XS CREATE NAMESPACE TEMPLATE
223 XS CREATE ROLE
224 XS CREATE ROLESET
225 XS CREATE SECURITY CLASS
226 XS CREATE SESSION
227 XS CREATE SESSION NAMESPACE
228 XS CREATE USER
229 XS DELETE ACL
230 XS DELETE DATA SECURITY
231 XS DELETE GLOBAL CALLBACK
232 XS DELETE NAMESPACE ATTRIBUTE
233 XS DELETE NAMESPACE TEMPLATE
234 XS DELETE ROLE
235 XS DELETE ROLESET
236 XS DELETE SECURITY CLASS
237 XS DELETE SESSION NAMESPACE
238 XS DELETE USER
239 XS DESTROY SESSION
240 XS DISABLE DATA SECURITY
241 XS DISABLE ROLE
242 XS ENABLE DATA SECURITY
243 XS ENABLE GLOBAL CALLBACK
244 XS ENABLE ROLE
245 XS GET NAMESPACE ATTRIBUTE
246 XS GRANT ROLE
247 XS GRANT SYSTEM PRIVILEGE
248 XS REMOVE PROXY
249 XS REVOKE ROLE
250 XS REVOKE SYSTEM PRIVILEGE
251 XS SET COOKIE
252 XS SET INACTIVE TIMEOUT
253 XS SET NAMESPACE ATTRIBUTE
254 XS SET USER PASSWORD
255 XS SET USER PROFILE
256 XS SET USER VERIFIER
257 XS SWITCH USER
258 XS UPDATE ACL
259 XS UPDATE DATA SECURITY
260 XS UPDATE NAMESPACE TEMPLATE
261 XS UPDATE ROLE
262 XS UPDATE ROLESET
263 XS UPDATE SECURITY CLASS
264 XS UPDATE USER

 

 

次の記事:参照整合性制約におけるインデックスの効果を調べてみた

 

前回の記事:SQLを書き換えないでSQLの実行計画を変更する方法について調べてみた