過去の記事でも書きましたが、Oracle Database 23cから従来型監査がサポートされなくなり、統合監査を使用しなければいけなくなりました。
今回は統合監査を使用するために必要な設定や、従来型における標準監査相当を行うための監査ポリシーの作成方法などについて調べてみました。なお、実機調査の際は、Linux x86-64版Oracle 19c(19.22.0)のRAC環境を用いて行いました。
統合監査を使用するまでの大まかな流れは、以下となります。
この流れに沿って、統合監査を使用するまでの手順を説明していきます。また、監査設定・監査レコードの確認手順も併せて説明いたします。
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 |
次の記事:参照整合性制約におけるインデックスの効果を調べてみた