ALTER AUDIT POLICY (統合監査)
このセクションでは、統合監査のためのALTER
AUDIT
POLICY
文について説明します。この種類の監査は、Oracle Database 12cで新たに導入されたもので、完全かつ高度な監査機能を提供します。統合監査の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
目的
ALTER
AUDIT
POLICY
文を使用すると、統合監査ポリシーを変更できます。
前提条件
AUDIT
SYSTEM
システム権限、またはAUDIT_ADMIN
ロールが必要になります。
マルチテナント・コンテナ・データベース(CDB)に接続している場合、共通の統合監査ポリシーを変更するには、現在のコンテナがルートである必要があります。また、共通に付与されているAUDIT
SYSTEM
権限またはAUDIT_ADMIN
共通ロールが必要です。ローカルの統合監査ポリシーを変更するには、現在のコンテナが、その監査ポリシーが作成されたコンテナである必要があります。また、共通に付与されているAUDIT
SYSTEM
権限またはAUDIT_ADMIN
共通ロールを保有しているか、そのコンテナでローカルに付与されているAUDIT
SYSTEM
権限またはAUDIT_ADMIN
ローカル・ロールを保有している必要があります。
オブジェクト監査オプションを使用して統合監査ポリシーを変更すると、アクティブおよび後続の両方のユーザー・セッションに対して、新しい監査設定が即時に実行されます。システム監査オプションまたは監査条件を使用して統合監査ポリシーを変更すると、現在のユーザー・セッションではなく、新しいユーザー・セッションに対してのみ有効になります。
構文
alter_audit_policy::=
ノート:
ADD
句またはDROP
句を指定するときには、少なくともprivilege_audit_clause
句、action_audit_clause
句、またはrole_audit_clause
句のいずれか1つを指定する必要があります。
(privilege_audit_clause::=、action_audit_clause::=、role_audit_clause::=)
privilege_audit_clause::=
action_audit_clause::=
standard_actions::=
component_actions::=
role_audit_clause::=
セマンティクス
policy
変更する統合監査ポリシーの名前を指定します。このポリシーは、CREATE
AUDIT
POLICY
文を使用して作成されている必要があります。すべての監査ポリシーの説明を確認するには、AUDIT_UNIFIED_POLICIES
ビューを問い合せます。
関連項目:
-
AUDIT_UNIFIED_POLICIES
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。
ADD | DROP
ADD
句を使用すると、監査対象になる権限をpolicy
に追加できます。
DROP
句を使用すると、監査対象になる権限をpolicy
から削除できます。
これらの句のセマンティクスの詳細は、CREATE
AUDIT
POLICY
の「privilege_audit_clause」、「action_audit_clause」、および「role_audit_clause」を参照してください。
CONDITION
この句を使用すると、policy
の監査条件を削除、追加または置換できます。
DROP
を指定すると、policy
から監査条件を削除できます。
policy
の監査条件を追加または置換するには、'
audit_condition
'
... を指定します。
これらの句のセマンティクスの詳細は、CREATE
AUDIT
POLICY
の「audit_condition」、「EVALUATE PER STATEMENT」、「EVALUATE PER SESSION」、および「EVALUATE PER INSTANCE」を参照してください。
ONLY TOPLEVEL
既存の統合監査ポリシーを変更して、ユーザーが発行したトップ・レベルのSQL文のみを監査する場合に、この句を指定します。
例: トップ・レベル監査の追加
この例は、HR監査ポリシーhr_audit_policy
を変更して、トップ・レベルの文のみを取得します。
ALTER AUDIT POLICY hr_audit_policy ADD ONLY TOPLEVEL
トップ・レベルSQL文を監査する既存の監査ポリシーから、トップ・レベル監査を削除できます。
例: トップ・レベル監査の削除
ALTER AUDIT POLICY hr_audit_policy DROP ONLY TOPLEVEL
詳細は、Oracle Databaseセキュリティ・ガイドを参照してください。
例
次の例では、CREATE
AUDIT
POLICY
の「例」で作成した統合監査ポリシーを変更します。
統合監査ポリシーへの権限、アクションおよびロールの追加: 例
次の文では、システム権限CREATE
ANY
TABLE
およびDROP
ANY
TABLE
を統合監査ポリシーdml_pol
に追加します。
ALTER AUDIT POLICY dml_pol ADD PRIVILEGES CREATE ANY TABLE, DROP ANY TABLE;
次の文では、システム・アクションのCREATE
JAVA
、ALTER
JAVA
およびDROP
JAVA
を統合監査ポリシーjava_pol
に追加します。
ALTER AUDIT POLICY java_pol ADD ACTIONS CREATE JAVA, ALTER JAVA, DROP JAVA;
次の文では、ロールのdba
を統合監査ポリシーtable_pol
に追加します。
ALTER AUDIT POLICY table_pol ADD ROLES dba;
次の文では、複数のシステム権限、アクションおよびロールを統合監視ポリシーsecurity_pol
に追加します。
ALTER AUDIT POLICY security_pol ADD PRIVILEGES CREATE ANY LIBRARY, DROP ANY LIBRARY ACTIONS DELETE on hr.employees, INSERT on hr.employees, UPDATE on hr.employees, ALL on hr.departments ROLES dba, connect;
統合監査ポリシーからの権限、アクションおよびロールの削除: 例
次の文では、統合監査ポリシーtable_pol
からシステム権限CREATE
ANY
TABLE
を削除します。
ALTER AUDIT POLICY table_pol DROP PRIVILEGES CREATE ANY TABLE;
次の文では、hr
.employees
に対するINSERT
およびUPDATE
アクションを統合監査ポリシーdml_pol
から削除します。
ALTER AUDIT POLICY dml_pol DROP ACTIONS INSERT on hr.employees, UPDATE on hr.employees;
次の文では、ロールのjava_deploy
を統合監査ポリシーjava_pol
から削除します。
ALTER AUDIT POLICY java_pol DROP ROLES java_deploy;
次の文では、システム権限、アクションおよびロールを統合監視ポリシーhr_admin_pol
から削除します。
ALTER AUDIT POLICY hr_admin_pol DROP PRIVILEGES CREATE ANY TABLE ACTIONS LOCK TABLE ROLES audit_viewer;
統合監査ポリシーのアクションの追加および削除: 例
次の文では、Oracle Data PumpのEXPORT
アクションを統合監査ポリシーdp_actions_pol
に追加し、Oracle Data PumpのIMPORT
アクションを削除します。
ALTER AUDIT POLICY dp_actions_pol ADD ACTIONS COMPONENT = datapump EXPORT DROP ACTIONS COMPONENT = datapump IMPORT;
統合監査ポリシーからの監査条件の削除: 例
次の文では、統合監査ポリシーorder_updates_pol
から監査条件を削除します。
ALTER AUDIT POLICY order_updates_pol CONDITION DROP;
統合監査ポリシーの監査条件の変更: 例
次の文では、統合監査ポリシーemp_updates_pol
の監査条件を変更して、UIDが102のユーザーが監査可能な文を発行したときにのみ、このポリシーを適用します。
ALTER AUDIT POLICY emp_updates_pol CONDITION 'UID = 102' EVALUATE PER STATEMENT;
列レベルでの監査ポリシーの変更: 例
監査ポリシーemployee_audit_policy
は、emp
表のsal
列に対して選択操作が実行された場合にのみ監査レコードを生成します。
CREATE AUDIT POLICY employee_audit_policy ACTIONS SELECT(sal) on scott.emp;
この例では、dept
表のdname
列に挿入操作が行われた場合にも監査レコードが生成されるように、employee_audit_policy
を変更します。
ALTER AUDIT POLICY employee_audit_policy ACTIONS ADD INSERT(dname) on scott.dept;