プライマリ・コンテンツに移動
Oracle® Database Vault管理者ガイド
12cリリース1 (12.1)
B71286-08
目次へ移動
目次
索引へ移動
索引

前
次

A Oracle Database Vaultの監査

ポリシー構成の変更といったOracle Database Vault内のアクティビティは、監査することができます。

内容は次のとおりです。

Oracle Database Vaultでの監査について

Oracle Database Vaultのすべてのアクティビティは、Database Vault Administratorのアクティビティを含めて監査できます。

オプションで、レルム、ルール・セットおよびファクタに作成する個別のポリシーを監査できます。監査は、ユーザーのアクションの成功(ポリシーによってユーザーがタスクを実現できたかどうか)、またはユーザーのアクションの失敗(ポリシー違反したかどうか)のいずれかを示します。このようなアクションは監査ログに書き込まれます。この内容を確認するには、適切なデータ・ディクショナリ・ビューを問い合せるか、「Oracle Database Vaultレポート」に記載されているレポートを実行します。

Database Vaultへのすべての構成変更については監査が必須となっており、これには、権限が与えられていないユーザーによってDatabase Vaultポリシーの変更が試行されるアクションが含まれます。

新しいデータベースをインストールして、Oracle Database Vaultを使用するようにそのデータベースを構成する場合、デフォルトで混合モード環境(統合監査と事前移行済監査の混合)が使用されます。以前のリリースからアップグレードした場合、Database Vaultは、そのリリースで使用できた監査を使用します。

完全な統合監査環境に移行する前に、監査ポリシーを次のように作成できます。

  • Database VaultのAPIの使用: DBMS_MACADM PL/SQLパッケージまたはEnterprise ManagerのDatabase Vaultページを使用します。この場合、監査レコードはDatabase Vault監査証跡に書き込まれます。この証跡は、DVSYS.AUDIT_TRAIL$表に格納されます。これらの監査レコードについて、DVSYS.DV$CONFIGURATION_AUDITビューとDVSYS.DV$ENFORCEMENT_AUDITビューに問い合せることができます。

  • 統合監査ポリシーのSQL文の使用: これらの文は、CREATE AUDIT POLICYALTER AUDIT POLICYDROP AUDIT POLICYAUDITおよびNO AUDIT文です。これらは統合監査証跡に書き込まれます。この証跡は、UNIFIED_AUDIT_TRAILSYS.DV$CONFIGURATION_AUDITおよびSYS.DV$ENFORCEMENT_AUDITデータ・ディクショナリ・ビューで取得されます。

統合監査に移行する場合、Database VaultのAPIの監査機能は、無効となります。「Oracle Database Vault監査証跡のアーカイブおよびパージ」の説明に従い、これらの監査レコードをアーカイブおよびパージする必要があります。それ以降、統合監査ポリシーのPL/SQL文によってDatabase Vault監査ポリシーを管理できます。

記述した内容を除き、この章の残りの項では、Database Vault監査の非統合または混合モードの監査環境での動作について説明します。

関連項目:

Oracle Database Vault環境での統合監査証跡の保護

デフォルトでは、統合監査証跡を含むAUDSYSスキーマはレルムで保護されません。

AUDSYSスキーマにレルムは必要ありません。このスキーマに含まれる情報は内部用であり、他のデータベース・オブジェクト(表やビュー)をスキーマで表示できるのと同じように表示することはできないからです。統合監査証跡を保護するには、AUDIT_ADMINロールとAUDIT_VIEWERロールの周囲にレルムを作成します。こうすると、これらのロールを付与できるユーザーを制御できます。

関連項目:

レルムの作成

Oracle Database Vault固有の監査イベント

Oracle Database Vaultの監査イベントは、レルムで試行されたアクションが成功したか等のアクティビティを追跡します。

内容は次のとおりです。

Oracle Database Vaultポリシーの監査イベント

Oracle Database Vaultでは、監査イベントを使用して構成アクティビティを追跡します。

これらのアクティビティは、次のとおりです。

  • レルムの監査。レルムの作成時に設定した監査オプションに基づいて、正常終了したアクションおよび失敗したアクションの両方を監査できます。ただし、スキーマ所有者によって実行されたアクションは監査できません。

  • ルール・セット監査。ルール・セットの処理結果を監査します。正常終了した処理および失敗した処理の両方を監査できます。レルム認可は、ルール・セットを使用して管理できます。ルール・セットの処理結果を監査できます。ファクタ割当ておよびセキュア・アプリケーション・ロール監査は、ルール・セットを使用して管理できます。

  • ファクタの監査。正常終了したファクタ処理および失敗したファクタ処理の両方を監査できます。失敗したファクタ処理の場合、「取得エラー」、「取得がNULL」、「検証エラー」、「検証がFalse」、「信頼レベルがNULL」、「信頼レベルがゼロ未満」のすべてまたはいずれかについて監査できます。

  • Oracle Label Securityセッション初期化の失敗。Oracle Label Securityセッションの初期化に失敗したインスタンスを監査します。

  • Oracle Label Securityセッション・ラベル・アップグレード試行の失敗。Oracle Label Securityコンポーネントによって最大セッション・ラベルを超えるラベルの設定が妨げられているセッションのインスタンスを監査します。

関連項目:

Oracle Database Vault監査証跡レコードの書式

統合監査を使用しない場合、Oracle Database Vaultは、表DVSYS.AUDIT_TRAIL$に監査記録を書き込みます。

これらの監査レコードはOracle Database Vault監査証跡の一部ではないため、データベースで監査がどのように有効になっても、Oracle Database VaultがDVSYS.AUDIT_TRAIL$表から監査データをどのように収集するかには影響しません。実際には、Oracle Databaseで監査が無効になっている場合でも、Oracle Database Vaultの監査機能はDVSYS.AUDIT_TRAIL$表への書込みを続けます。

DV_OWNERDV_ADMINDV_SECANALYSTまたはDV_MONITORロールが付与されているユーザーは、DVYS.AUDIT_TRAIL$表に直接問い合せることができます。

表A-1では、監査証跡の書式を説明しています。DVSYS.AUDIT_TRAIL$表を使用するカスタム・レポートの作成を予定している場合、これらの書式を理解する必要があります。

表A-1 Oracle Database Vault監査証跡の書式

データ型 NULL 説明

ID#

NUMBER

NOT NULL

監査レコードごとの数値識別子。

OS_USERNAME

VARCHAR2(255)

NULL

アクションが監査対象となったユーザーのオペレーティング・システムのログイン・ユーザー名。

USERNAME

VARCHAR2(30)

NULL

アクションが監査対象となったデータベース・ユーザーの名前。

USERHOST

VARCHAR2(128)

NULL

クライアント・コンピュータ名。

TERMINAL

VARCHAR2(255)

NULL

ユーザーの端末に対する識別子。

TIMESTAMP

DATE

NULL

監査証跡エントリの作成日時(ローカル・データベース・セッションのタイムゾーン)。

OWNER

VARCHAR2(30)

NULL

アクションの影響を受けるオブジェクトの作成者、常時DVSYS(DVSYSでオブジェクトが作成されるため)

OBJ_NAME

VARCHAR2(128)

NULL

アクションの影響を受けるオブジェクトの名前。想定値は次のとおりです。

  • ROLE$

  • REALM$

  • CODE$

  • FACTOR$

ACTION

NUMBER

NOT NULL

数値のアクション・タイプ・コード。アクション・タイプに対応する名前は、ACTION_NAME列に示されます。予想されるACTIONACTION_NAMEの値のリストについては、表22-2を参照してください。

ACTION_NAME

VARCHAR2(128)

NULL

ACTION列の数値コードに対応するアクション・タイプの名前

ACTION_OBJECT_ID

NUMBER

NULL

OBJ_NAMEに指定された表のレコードの一意の識別子。レルムの場合、このフィールドには、「失敗時に監査」監査オプションのあるすべてのレルムIDのカンマ区切りの値のリストが含まれます。

ACTION_OBJECT_NAME

VARCHAR2(128)

NULL

OBJ_NAMEに指定された表のレコードの一意の名前または固有のキー。レルムの場合、このフィールドには、「失敗時に監査」監査オプションのあるすべてのレルム名のカンマ区切りの値のリストが含まれます。

ACTION_COMMAND

VARCHAR2(4000)

NULL

実行された結果、監査イベントがトリガーされたコマンド・プロシージャのSQLテキスト。

AUDIT_OPTION

VARCHAR2(4000)

NULL

結果として監査イベントがトリガーされたレコードに指定されたすべての監査オプションのラベル。たとえば、失敗またはNULLになったときに監査することになっているファクタ設定操作では、これら2つのオプションを指します。

RULE_SET_ID

NUMBER

NULL

実行された結果、監査イベントがトリガーされたルール・セットの一意の識別子。

RULE_SET_NAME

VARCHAR2(30)

NULL

実行された結果、監査イベントがトリガーされたルール・セットの一意の名前。

RULE_ID

NUMBER

NULL

未使用

RULE_NAME

VARCHAR2(30)

NULL

未使用

FACTOR_CONTEXT

VARCHAR2(4000)

NULL

監査イベントがトリガーされた時点での、現行セッションに対するすべてのファクタ識別子を含むXML文書。

COMMENT_TEXT

VARCHAR2(4000)

NULL

監査対象となった文の詳細を示す、監査証跡エントリについてのテキスト・コメント。

SESSIONID

NUMBER

NOT NULL

Oracleセッションごとの数値識別子。

ENTRYID

NUMBER

NOT NULL

ID#列の値と同じ。

STATEMENTID

NUMBER

NOT NULL

起動された結果、監査イベントが生成された文の数値識別子。ほとんどのOracle Database Vaultイベントの場合、このパラメータは空です。

RETURNCODE

NUMBER

NOT NULL

アクションによって生成されたOracleエラー・コード。起動された結果、監査イベントが生成された文またはプロシージャに対するエラー・コード。ほとんどのOracle Database Vaultイベントの場合、このパラメータは空です。

EXTENDED_TIMESTAMP

TIMESTAMP(6)WITH TIME ZONE

NULL

UTC(協定世界時)タイムゾーンの、監査証跡エントリの作成時のタイムスタンプ(エントリに対するユーザー・ログインのタイムスタンプ)。

PROXY_SESSIONID

NUMBER

NULL

エンタープライズ・ユーザーがプロキシ機構を介してログインした場合の、プロキシ・セッションのシリアル番号

GLOBAL_UID

VARCHAR2(32)

NULL

ユーザーがエンタープライズ・ユーザーとしてログインした場合の、ユーザーのグローバル・ユーザー識別子。

INSTANCE_NUMBER

NUMBER

NULL

INSTANCE_NUMBER初期化パラメータによって指定されるインスタンス番号

OS_PROCESS

VARCHAR2(16)

NULL

Oracleプロセスのオペレーティング・システム・プロセス識別子

CREATED_BY

VARCHAR2(30)

NULL

アクションが監査対象となったユーザーのデータベースのログイン・ユーザー名。

CREATE_DATE

DATE

NULL

SYSDATEの日付を基にした、アクションが発生した日付。

UPDATED_BY

VARCHAR2(30)

NULL

CREATED_BY列の値と同じ。

UPDATE_DATE

DATE

NULL

UPDATED_BY列の値と同じ。

Oracle Database Vault監査証跡のアーカイブおよびパージ

統合監査に移行していない場合、Oracle Database Vault監査証跡を定期的にアーカイブおよびパージする必要があります。

内容は次のとおりです。

Oracle Database Vault監査証跡のアーカイブおよびパージについて

非統合監査環境では、表DVSYS.AUDIT_TRAIL$をダンプ・ファイルにエクスポートすることによって、Oracle Database Vaultの監査証跡をアーカイブできます。

監査証跡は、大きくなりすぎないように定期的にアーカイブし、パージする必要があります。

統合監査に移行するように選択する場合、移行の完了後、このプロシージャを使用してDatabase Vault監査証跡レコードをアーカイブおよびパージします。統合監査がレコードの収集を開始すると、新しいレコードは、UNIFIED_AUDIT_TRAILSYS.DV$CONFIGURATION_AUDITおよびSYS.DV$ENFORCEMENT_AUDITデータ・ディクショナリ・ビューの表示に利用できます。

Oracle Database Vault監査証跡のアーカイブ

SQL*PlusおよびOracle Data Pumpを使用すると、Oracle Database Vault監査証跡をアーカイブできます。

  1. SYSDBA管理権限を持つユーザーSYSとして、データベース・インスタンスにログインします。

    sqlplus sys as sysdba
    Enter password: password
    
  2. アーカイブを実行するユーザーに適切な権限があることを確認します。

    次に例を示します。

    GRANT CREATE ANY DIRECTORY, EXP_FULL_DATABASE, UNLIMITED TABLESPACE TO psmith;
    
  3. DV_OWNERまたはDV_AUDIT_CLEANUPロールを付与されているユーザーとして接続します。

    次に例を示します。

    connect ebrown
    Enter password: password
    
  4. Oracle Database Vault監査証跡を、該当するスキーマの新しい表にアーカイブします。

    次に例を示します。

    CREATE TABLE psmith.dv_audit_trail nologging \
    AS SELECT * FROM DVSYS.AUDIT_TRAIL$;
    
  5. スキーマがレルムによってすでに保護されている場合、担当者またはエクスポート操作を実行するユーザーに、Database Vault環境でOracle Data Pumpを使用する適切な認可が付与されていることを確認します。

    たとえば、ユーザーpsmithがそのスキーマに対してData Pump操作を実行できるように、このユーザーを認可するとします。

    EXEC DBMS_MACADM.AUTHORIZE_DATAPUMP_USER('PSMITH', 'PSMITH');
    
  6. Data Pumpユーザーとして接続します。

    次に例を示します。

    CONNECT psmith
    Enter password: password
    
  7. Database Vault監査証跡用のディレクトリを作成します。

    CREATE DIRECTORY dv_audit_dir AS 'dv_audit_trail_directory';
    
  8. SQL*Plusを終了します。

    EXIT
    
  9. Data Pumpを使用して、Database Vault監査証跡を、作成したディレクトリ・オブジェクトにエクスポートします。

    expdp psmith directory=dv_audit_dir tables=psmith.dv_audit_trail \
    dumpfile=dv_audit.dmp log=dv_audit_exp.log
    
  10. DV_OWNERロールを付与されているユーザーとしてSQL*Plusに接続します。

    sqlplus ebrown
    Enter password: password
    
  11. このようにしなかった場合、Database Vault監査証跡を含むスキーマの周辺にレルムを作成します。

    1. レルムを作成します。次に例を示します。

      BEGIN
       DBMS_MACADM.CREATE_REALM(
        realm_name    => 'DV Audit Trail Realm', 
        description   => 'Realm to protect the DV audit trail', 
        enabled       => DBMS_MACUTL.G_YES, 
        audit_options => DBMS_MACUTL.G_REALM_AUDIT_FAIL + DBMS_MACUTL.G_REALM_AUDIT_SUCCESS,
        realm_type    => 1);
      END; 
      /
      
    2. 監査証跡を含むスキーマをこのレルムに追加します。次に例を示します。

      BEGIN
       DBMS_MACADM.ADD_OBJECT_TO_REALM(
        realm_name   => 'DV Audit Trail Realm', 
        object_owner => 'psmith', 
        object_name  => '%', 
        object_type  => '%'); 
      END;
      /
      
    3. このレルムに対して信頼されるユーザーを認可します。

      BEGIN
       DBMS_MACADM.ADD_AUTH_TO_REALM(
        realm_name  => 'DV Audit Trail Realm', 
        grantee     => 'PSMITH',
        auth_options => DBMS_MACUTL.G_REALM_AUTH_OWNER);
      END;
      /

関連項目:

  • Database Vault環境でのユーザーへのOracle Data Pump権限の付与の詳細は、「Oracle Database VaultでのOracle Data Pumpの使用」を参照してください

  • CREATE DIRECTORY文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください

  • Oracle Data Pumpのexpdpユーティリティの詳細は、『Oracle Databaseユーティリティ』を参照してください

  • DBMS_MACADMのレルム関連プロシージャの詳細は、「Oracle Database VaultレルムのAPI」を参照してください

Oracle Database Vault監査証跡のパージ

SQL*PlusでOracle Database Vault監査証跡をパージできます。

  1. DV_OWNERロールまたはDV_AUDIT_CLEANUPロールを付与されているユーザーとして、データベース・インスタンスにログインします。

    次に例を示します。

    sqlplus psmith
    Enter password: password
    

    DV_OWNERロールとDV_AUDIT_CLEANUPロールでは、その権限受領者はDVSYS.AUDIT_TRAIL$システム表を切り捨てることができない点に注意してください。

    ユーザーに付与されているロールを検索するには、DBA_ROLE_PRIVSデータ・ディクショナリ・ビューを問い合せることができます。

  2. Database Vault監査証跡をパージします。
    DELETE FROM DVSYS.AUDIT_TRAIL$;

Oracle Database Vault用に作成されるOracle Database監査設定

Oracle Database Vaultをインストールすると、データベース内に複数のAUDIT設定が作成されます。

ただし、非統合監査環境でこれらの監査設定を実施にするには、このデータベースで監査を有効にする必要があります。監査が有効かどうかは、SHOW PARAMETERコマンドを使用して、AUDIT_TRAIL初期化パラメータの値を検索することで確認できます。デフォルトでは、監査はOracle Databaseで有効になっています。

表A-2に、Oracle Database Vaultによりデータベースに追加されるAUDITの設定を示します。

表A-2 Oracle Database VaultによりOracle Databaseに追加される監査ポリシーの設定

監査設定タイプ 監査対象文(特に断りのない場合はBY ACCESSかつ成功時または失敗時)

システム監査設定/システム権限の使用

ALTER ANY

CREATE ANY

DELETE ANY

DROP ANY

EXECUTE ANY (WHENEVER NOT SUCCESSFUL)

FORCE ANY

GRANT ANY

INSERT ANY

UPDATE ANY

システム監査設定/オブジェクト管理

ALTER DATABASE, PROFILE, ROLLBACK SEGMENT, SESSION, SYSTEM, TABLE, TABLESPACE, USER

CREATE CLUSTER, DATABASE LINK, INDEXTYPE, LIBRARY, OPERATOR, PUBLIC SYNONYM, PROCEDURE, PROFILE, ROLE, ROLLBACK SEGMENT, SEQUENCE, SESSION, SNAPSHOT, SYNONYM, TABLE, TABLESPACE, TRIGGER, TYPE, USER, VIEW

TRUNCATE

システム監査設定/割込みコマンド

ALTER SESSION

BECOME USER

CREATE SESSION

DEBUG CONNECT SESSION

RESTRICTED SESSION

システム監査設定/管理コマンド

ADMINISTER DATABASE TRIGGER

BACKUP ANY TABLE

EXEMPT ACCESS POLICY

MANAGE TABLESPACE

システム監査設定/監査コマンド

AUDIT ANY

AUDIT SYSTEM

システム監査設定/アクセス制御

GRANT ANY PRIVILEGE/ANY OBJECT PRIVILEGE/ROLE

GRANT DIRECTORY

GRANT SEQUENCE

GRANT TABLE

GRANT TYPE

DVSYS/DVFのユーザー監査設定

LBACSYSのユーザー監査設定

これらのアカウントの詳細は、表12-2を参照してください。

また、DVSYSスキーマおよびDVFスキーマの詳細は、次の項を参照してください。

ADMINISTER DATABASE TRIGGER

ALTERオブジェクト

AUDIT SYSTEM

BECOME USER

CLUSTER

COMMENT

CONTEXT

CREATEオブジェクト

DATABASE LINK

DEBUG

DIRECTORY

DROPオブジェクト

EXECUTE LIBRARY (WHENEVER NOT SUCCESSFUL)

EXECUTE PROCEDURE (WHENEVER NOT SUCCESSFUL)

EXEMPT ACCESS POLICY

EXPORT FULL DATABASE

GRANTオブジェクト

IMPORT FULL DATABASE

INDEX

MANAGE SCHEDULER

MANAGE TABLESPACE

MATERIALIZED VIEW(マテリアライズド・ビューへのアクセスと作成の両方を監査)

SELECT SEQUENCE (WHENEVER NOT SUCCESSFUL)

SELECT TABLE (WHENEVER NOT SUCCESSFUL)

DVFのオブジェクト監査設定

AUDIT PACKAGE/PROCEDURE/FUNCTION/SEQUENCE/TABLE

COMMENT TABLE/VIEW

DELETE TABLE/VIEW

EXECUTE PACKAGE/PROCEDURE/FUNCTION (WHENEVER NOT SUCCESSFUL)

GRANT PACKAGE/PROCEDURE/FUNCTION/SEQUENCE/TABLE

RENAME PACKAGE/PROCEDURE/FUNCTION/SEQUENCE/VIEW/TABLE

SELECT SEQUENCE/TABLE/VIEW (WHENEVER NOT SUCCESSFUL)

DVSYSのオブジェクト監査設定

LBACSYSのオブジェクト監査設定

AUDIT PACKAGE/PROCEDURE/FUNCTION/SEQUENCE/TABLE

COMMENT TABLE/VIEW

DELETE TABLE/VIEW

EXECUTE PACKAGE/PROCEDURE/FUNCTION (WHENEVER NOT SUCCESSFUL)

GRANT PACKAGE/PROCEDURE/FUNCTION/SEQUENCE/TABLE

INSERT TABLE/VIEW

RENAME PACKAGE/PROCEDURE/FUNCTION/SEQUENCE/VIEW/TABLE

SELECT SEQUENCE/TABLE/VIEW (WHENEVER NOT SUCCESSFUL)

UPDATE TABLE/VIEW