このセクションでは、統合監査のためのALTER AUDIT POLICY文について説明します。この種類の監査は、Oracle Database 12cで新たに導入されたもので、完全かつ高度な監査機能を提供します。統合監査の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
前提条件
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::=

セマンティクス
ポリシー
変更する統合監査ポリシーの名前を指定します。このポリシーは、CREATE AUDIT POLICY文を使用して作成されている必要があります。すべての監査ポリシーの説明を確認するには、AUDIT_UNIFIED_POLICIESビューを問い合せます。
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」を参照してください。
例
次の例では、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;
統合監査ポリシーから権限、アクションおよびロールを削除する例  次の文では、システム権限CREATE ANY TABLEを統合監査ポリシーtable_polから削除します。
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;