プライマリ・コンテンツに移動
Oracle® Database Vault管理者ガイド
11gリリース2 (11.2)
B56297-10
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

A 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_ADMINまたはDV_SECANALYSTロールが付与されているユーザーは、DVYS.AUDIT_TRAIL$表に直接問い合せることができます。

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


注意:

Oracle Audit Vault and Database Firewallは、Oracle Database Vaultの監査データを収集できます。詳細は、『Oracle Audit Vault and Database Firewall管理者ガイド』を参照してください。

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

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

データ型 NULL 説明

ID#

NUMBER

NOT NULL

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

OS_USERNAME

VARCHAR2(255)

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

USERNAME

VARCHAR2(30)


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

USERHOST

VARCHAR2(128)


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

TERMINAL

VARCHAR2(255)


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

TIMESTAMP

DATE


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

OWNER

VARCHAR2(30)


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

OBJ_NAME

VARCHAR2(128)


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

  • ROLE$

  • REALM$

  • CODE$

  • FACTOR$

ACTION

NUMBER

NOT NULL

数値のアクション・タイプ・コード。アクション・タイプに対応する名前は、ACTION_NAME列に示されます。ACTIONおよびACTION_NAMEの想定値は次のとおりです。

  • 10000: ファクタ評価の監査

  • 10001: ファクタ割当ての監査

  • 10002: ファクタ式の監査

  • 10003: レルム違反の監査

  • 10004: レルム認可の監査

  • 10005: コマンド認可の監査

  • 10006: セキュア・ロールの監査

  • 10007: アクセス制御セッション初期化の監査

  • 10008: アクセス制御コマンド認可の監査

  • 10009: Oracle Label Securityセッション初期化の監査

  • 10010: Oracle Label Securityラベル・アップグレード試行の監査

ACTION_NAME

VARCHAR2(128)


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

ACTION_OBJECT_ID

NUMBER


OBJ_NAMEに指定された表のレコードの一意の識別子

ACTION_OBJECT_NAME

VARCHAR2(128)


OBJ_NAMEに指定された表のレコードの一意の名前または固有のキー

ACTION_COMMAND

VARCHAR2(4000)


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

AUDIT_OPTION

VARCHAR2(4000)


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

RULE_SET_ID

NUMBER


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

RULE_SET_NAME

VARCHAR2(30)


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

RULE_ID

NUMBER


未使用

RULE_NAME

VARCHAR2(30)


未使用

FACTOR_CONTEXT

VARCHAR2(4000)


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

COMMENT_TEXT

VARCHAR2(4000)


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

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


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

PROXY_SESSIONID

NUMBER


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

GLOBAL_UID

VARCHAR2(32)


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

INSTANCE_NUMBER

NUMBER


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

OS_PROCESS

VARCHAR2(16)


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

CREATED_BY

VARCHAR2(30)


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

CREATE_DATE

DATE


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

UPDATED_BY

VARCHAR2(30)


CREATED_BY列の値と同じ。

UPDATE_DATE

DATE


UPDATED_BY列の値と同じ。


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

DVSYSが所有するDVSYS.AUDIT_TRAIL$システム表をダンプ・ファイルにエクスポートすることで、Oracle Database Vault監査証跡のアーカイブを作成できます。監査証跡は、大きくなりすぎないように定期的にアーカイブし、パージする必要があります。

Oracle Database Vault監査証跡をアーカイブし、パージするには、次のようにします。

  1. エクスポート操作を実行するユーザーに適切な権限が付与されていることを確認してください。

    詳細は、「Oracle Database Vault環境でのOracle Data Pumpの使用」を参照してください。

  2. Oracle Database Vaultを無効にします。

    「手順1: Oracle Database Vaultの無効化」を参照してください。

  3. オペレーティング・システムのコマンド・プロンプトで、Oracle Database Vault監査証跡用のディレクトリを$ORACLE_BASE/admin/$DB_UNIQUE_NAME/dvauditなどに作成します。

    このディレクトリを、Oracle Databaseのオペレーティング・システム監査証跡ディレクトリと同じ場所(デフォルトでは、$ORACLE_BASE/admin/$DB_UNIQUE_NAME/adumpディレクトリ)に置いてもかまいません。SQL*Plusでは、監査証跡ディレクトリの場所は次のようにチェックできます。

    SHOW PARAMETER AUDIT_FILE_DEST
    

    次のような出力が表示されます。

    NAME                 TYPE     VALUE
    -------------------  -------  ---------------------------------------
    audit_file_dest      string   /opt/oracle/app/oracle/admin/orcl/adump
    
  4. SQL*Plusで、Oracle Database Vault監査証跡の生成場所となるディレクトリ・オブジェクトを作成します。これを行うには、SYSまたはCREATE ANY DIRECTORY権限を持つ任意のユーザーとして接続します。

    次に例を示します。

    CREATE DIRECTORY dv_audit_dir AS '/opt/oracle/app/oracle/admin/orcl/dvaudit';
    

    ディレクトリ・パスを一重引用符で囲みます。二重引用符は使用しないでください。

  5. SQL*Plusで、ユーザーDVSYSに、ディレクトリ・オブジェクトに対する読取り/書込み権限を付与します。

    次に例を示します。

    GRANT READ, WRITE ON DIRECTORY dvaudit TO dvsys; 
    
  6. オペレーティング・システムのコマンド・プロンプトで次のようなコマンドを入力し、DVSYS.AUDIT_TRAIL$監査表を新しいダンプ・ファイルにエクスポートします。

    EXPDP DVSYS
    Enter password: password
    DIRECTORY=dvaudit \
    TABLES=DVSYS.AUDIT_TRAIL$ \
    QUERY=DVSYS.AUDIT_TRAIL$:"WHERE timestamp < 2009-08-03:19:34:59" 
    DUMPFILE=dv_audit_031607.dmp
    

    ここでは、次のようになります。

    • DIRECTORY: 手順5で作成したディレクトリ・オブジェクトを入力します。EXPDPを実行するユーザー(この例ではDVSYS)に、このディレクトリ・オブジェクトの読取り/書込み権限が付与されていることを確認します。ディレクトリ・オブジェクトを作成したユーザーには、そのディレクトリ・オブジェクトの読取り/書込み権限が自動的に付与されています。

    • TABLES: 監査証跡表の名前DVSYS.AUDIT_TRAIL$を入力します。

    • QUERY: オプション。この設定を使用すると、監査表の内容の一部がダンプ・ファイルに書き込まれます。このケースでは、timestamp列の値が2009-08-03:19:34:59より小さい監査レコードです。

    • DUMPFILE: 作成するダンプ・ファイルの名前を入力します。デフォルトの拡張子は.dmpですが、任意の拡張子を使用できます。指定するファイル名は一意であることを確認してください。

  7. SQL*Plusで、Oracle Database Vault監査証跡表をパージします。これでアーカイブが完了します。

    たとえば、timestamp列の値が2009-08-03:19:34:59より小さいすべての監査証跡レコードをアーカイブする場合は、次の文を入力します。

    DELETE FROM DVSYS.AUDIT_TRAIL$ WHERE TIMESTAMP < 2009-08-03:19:34:59;
    

    監査証跡を完全にパージして監査証跡表に割り当てられているエクステントを削除するには、次の文を入力します。

    TRUNCATE TABLE DVSYS.AUDIT_TRAIL$;
    
  8. SQL*Plusを終了します。

  9. Oracle Database Vaultを再び有効にします。

    「手順3: Oracle Database Vaultの有効化」を参照してください。

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

Oracle Database Vaultをインストールすると、データベース内に複数のAUDIT設定が作成されます。ただし、これらの監査設定が行われるには、このデータベースで監査が有効になっている必要があります。監査が有効かどうかは、SHOW PARAMETERコマンドを使用して、AUDIT_TRAIL初期化パラメータの値を検索することで確認できます。デフォルトでは、Oracle Databaseでの監査は無効です。

AUDIT_TRAILパラメータがNONEに設定されている場合、監査は有効ではないので、AUDIT_TRAILを設定する必要があります。AUDIT_TRAILパラメータの設定の詳細は、『Oracle Databaseセキュリティ・ガイド』および『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のユーザー監査設定

これらのアカウントの詳細は、表11-2「Oracle Database Vaultで使用されるデータベース・アカウント」を参照してください。

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

ADMINISTER DATABASE TRIGGER

ALTER object

AUDIT SYSTEM

BECOME USER

CLUSTER

COMMENT

CONTEXT

CREATE object

DATABASE LINK

DEBUG

DIRECTORY

DROP object

EXECUTE LIBRARY (WHENEVER NOT SUCCESSFUL)

EXECUTE PROCEDURE (WHENEVER NOT SUCCESSFUL)

EXEMPT ACCESS POLICY

EXPORT FULL DATABASE

GRANT object

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