A Oracle Database Vaultの監査
ポリシー構成への変更など、Oracle Database Vaultのアクティビティを監査できます。
- Oracle Database Vaultの監査について
Oracle Database Vaultのすべてのアクティビティは、Database Vault Administratorのアクティビティを含めて監査できます。 - Oracle Database Vault環境での統合監査証跡の保護
デフォルトでは、統合監査証跡を含むAUDSYS
スキーマはレルムで保護されません。 - Oracle Database Vault固有の監査イベント
Oracle Database Vaultの監査イベントは、レルムで試行されたアクションが成功したかどうかなど、アクティビティを追跡します。 - Oracle Database Vault監査証跡のアーカイブおよびパージ
統合監査に移行していない場合、Oracle Database Vault監査証跡を定期的にアーカイブおよびパージする必要があります。 - Oracle Database Vaultに作成されたOracle Database監査設定
Oracle Database Vaultをインストールすると、データベース内に複数のAUDIT
設定が作成されます。
A.1 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 POLICY
、ALTER AUDIT POLICY
、DROP AUDIT POLICY
、AUDIT
およびNO AUDIT
文です。これらは統合監査証跡に書き込まれます。この証跡は、UNIFIED_AUDIT_TRAIL
、AUDSYS.DV$CONFIGURATION_AUDIT
およびAUDSYS.DV$ENFORCEMENT_AUDIT
データ・ディクショナリ・ビューで取得されます。
統合監査に移行する場合、Database VaultのAPIの監査機能は、無効となります。「Oracle Database Vault監査証跡のアーカイブおよびパージ」の説明に従い、これらの監査レコードをアーカイブおよびパージする必要があります。それ以降、統合監査ポリシーのPL/SQL文によってDatabase Vault監査ポリシーを管理できます。
記述した内容を除き、この章の残りの項では、Database Vault監査の非統合または混合モードの監査環境での動作について説明します。
関連項目:
-
Oracle Database Vaultでの統合環境の動作と統合監査ポリシーの作成方法の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください
-
Database Vault統合監査に固有の次のデータ・ディクショナリ・ビュー。
-
統合監査にデータベースを移行する場合は、『Oracle Databaseアップグレード・ガイド』を参照してください
親トピック: Oracle Database Vaultの監査
A.2 Oracle Database Vault環境での統合監査証跡の保護
デフォルトでは、統合監査証跡を含むAUDSYS
スキーマはレルムで保護されません。
統合監査証跡をより適切に保護するために、次のことを実行することをお薦めします。
AUDSYS
スキーマの周囲に通常の(必須でない)レルムを作成し、認可されたユーザー(AUDIT_ADMIN
およびAUDIT_VIEWER
ロールを付与されているユーザー)のみが統合監査証跡ビューを問い合せ、DBMS_AUDIT_MGMT
PL/SQLパッケージを使用して監査証跡を管理できるようにします。このレルムは、SYS
を含む多くの権限を持つユーザーが、そのレルムの認可リストに追加されるまでこれらのアクションを実行できないようにします。CREATE AUDIT POLICY
、ALTER AUDIT POLICY
およびDROP AUDIT POLICY
SQL文のコマンド・ルールを作成し、認可されたユーザーのみがこれらの文を実行できるようにします。
関連トピック
親トピック: Oracle Database Vaultの監査
A.3 Oracle Database Vault固有の監査イベント
Oracle Database Vaultの監査イベントは、レルムで試行されたアクションが成功したかどうかなど、アクティビティを追跡します。
- Oracle Database Vaultポリシー監査イベント
Oracle Database Vaultでは、監査イベントを使用して、構成アクティビティを追跡します。 - Oracle Database Vault監査証跡レコードの書式
統合監査を使用しない場合、Oracle Database Vaultは、監査レコードをDVSYS.AUDIT_TRAIL$
表に書き込みます。
親トピック: Oracle Database Vaultの監査
A.3.1 Oracle Database Vaultポリシーの監査イベント
Oracle Database Vaultでは、監査イベントを使用して構成アクティビティを追跡します。
これらのアクティビティは、次のとおりです。
-
レルムの監査。レルムの作成時に設定した監査オプションに基づいて、正常終了したアクションおよび失敗したアクションの両方を監査できます。ただし、スキーマ所有者によって実行されたアクションは監査できません。
-
ルール・セットの監査。ルール・セットの処理結果を監査します。正常終了した処理および失敗した処理の両方を監査できます。レルム認可は、ルール・セットを使用して管理できます。ルール・セットの処理結果を監査できます。ファクタ割当ておよびセキュア・アプリケーション・ロール監査は、ルール・セットを使用して管理できます。
-
ファクタの監査。正常終了したファクタ処理および失敗したファクタ処理の両方を監査できます。失敗したファクタ処理の場合、「取得エラー」、「取得がNULL」、「検証エラー」、「検証がFalse」、「信頼レベルがNULL」、「信頼レベルがゼロ未満」のすべてまたはいずれかについて監査できます。
-
Oracle Label Securityセッション初期化の失敗。Oracle Label Securityセッションの初期化に失敗したインスタンスを監査します。
-
Oracle Label Securityセッション・ラベル・アップグレード試行の失敗。Oracle Label Securityコンポーネントによって最大セッション・ラベルを超えるラベルの設定が妨げられているセッションのインスタンスを監査します。
A.3.2 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_OWNER
、DV_ADMIN
、DV_SECANALYST
またはDV_MONITOR
ロールが付与されているユーザーは、DVYS.AUDIT_TRAIL$
表に直接問い合せることができます。
表A-1では、監査証跡の書式を説明しています。DVSYS.AUDIT_TRAIL$
表を使用するカスタム・レポートの作成を予定している場合、これらの書式を理解する必要があります。
表A-1 Oracle Database Vault監査証跡の書式
列 | データ型 | Null | 説明 |
---|---|---|---|
|
|
|
監査レコードごとの数値識別子。 |
|
|
|
アクションが監査対象となったユーザーのオペレーティング・システムのログイン・ユーザー名。 |
|
|
|
アクションが監査対象となったデータベース・ユーザーの名前。 |
|
|
|
クライアント・コンピュータ名。 |
|
|
|
ユーザーの端末に対する識別子。 |
|
|
|
監査証跡エントリの作成日時(ローカル・データベース・セッションのタイムゾーン)。 |
|
|
|
アクションの影響を受けるオブジェクトの作成者、常時 |
|
|
|
アクションの影響を受けるオブジェクトの名前。想定値は次のとおりです。
|
|
|
|
数値のアクション・タイプ・コード。アクション・タイプに対応する名前は、 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
実行された結果、監査イベントがトリガーされたコマンド・プロシージャのSQLテキスト。 |
|
|
|
結果として監査イベントがトリガーされたレコードに指定されたすべての監査オプションのラベル。たとえば、失敗または |
|
|
|
実行された結果、監査イベントがトリガーされたルール・セットの一意の識別子。 |
|
|
|
実行された結果、監査イベントがトリガーされたルール・セットの一意の名前。 |
|
|
|
使用されていません。 |
|
|
|
使用されていません。 |
|
|
|
監査イベントがトリガーされた時点での、現行セッションに対するすべてのファクタ識別子を含むXML文書。 |
|
|
|
監査対象となった文の詳細を示す、監査証跡エントリについてのテキスト・コメント。 |
|
|
|
Oracleセッションごとの数値識別子。 |
|
|
|
|
|
|
|
起動された結果、監査イベントが生成された文の数値識別子。ほとんどのOracle Database Vaultイベントの場合、このパラメータは空です。 |
|
|
|
アクションによって生成されたOracleエラー・コード。起動された結果、監査イベントが生成された文またはプロシージャに対するエラー・コード。ほとんどのOracle Database Vaultイベントの場合、このパラメータは空です。 |
|
|
|
UTC(協定世界時)タイムゾーンの、監査証跡エントリの作成時のタイムスタンプ(エントリに対するユーザー・ログインのタイムスタンプ)。 |
|
|
|
エンタープライズ・ユーザーがプロキシ機構を介してログインした場合の、プロキシ・セッションのシリアル番号 |
|
|
|
ユーザーがエンタープライズ・ユーザーとしてログインした場合の、ユーザーのグローバル・ユーザー識別子。 |
|
|
|
|
|
|
|
Oracleプロセスのオペレーティング・システム・プロセス識別子 |
|
|
|
アクションが監査対象となったユーザーのデータベースのログイン・ユーザー名。 |
|
|
|
|
|
|
|
|
|
|
|
|
A.4 Oracle Database Vault監査証跡のアーカイブおよびパージ
統合監査に移行していない場合、Oracle Database Vault監査証跡を定期的にアーカイブおよびパージする必要があります。
- Oracle Database Vault監査証跡のアーカイブおよびパージ
非統合監査環境では、DVSYS.AUDIT_TRAIL$
表をダンプ・ファイルにエクスポートすることで、Oracle Database Vault監査証跡のアーカイブを作成できます。 - Oracle Database Vault監査証跡のアーカイブ
SQL*PlusおよびOracle Data Pumpを使用すると、Oracle Database Vault監査証跡をアーカイブできます。 - Oracle Database Vault監査証跡のパージ
SQL*PlusでOracle Database Vault監査証跡をパージできます。
親トピック: Oracle Database Vaultの監査
A.4.1 Oracle Database Vault監査証跡のアーカイブおよびパージについて
非統合監査環境では、DVSYS.AUDIT_TRAIL$
表をダンプ・ファイルにエクスポートすることで、Oracle Database Vault監査証跡をアーカイブできます。
監査証跡は、大きくなりすぎないように定期的にアーカイブし、パージする必要があります。
統合監査に移行するように選択する場合、移行の完了後、このプロシージャを使用してDatabase Vault監査証跡レコードをアーカイブおよびパージします。統合監査がレコードの収集を開始すると、新しいレコードは、UNIFIED_AUDIT_TRAIL
、AUDSYS.DV$CONFIGURATION_AUDIT
およびAUDSYS.DV$ENFORCEMENT_AUDIT
データ・ディクショナリ・ビューの表示に使用できるようになります。
A.4.2 Oracle Database Vault監査証跡のアーカイブ
SQL*PlusおよびOracle Data Pumpを使用すると、Oracle Database Vault監査証跡をアーカイブできます。
-
SYSDBA
管理権限を持つユーザーSYS
として、データベース・インスタンスにログインします。sqlplus sys as sysdba Enter password: password
-
アーカイブを実行するユーザーに適切な権限があることを確認します。
たとえば:
GRANT CREATE ANY DIRECTORY, EXP_FULL_DATABASE, UNLIMITED TABLESPACE TO psmith;
-
DV_OWNER
またはDV_AUDIT_CLEANUP
ロールを付与されているユーザーとして接続します。たとえば:
connect ebrown Enter password: password
-
Oracle Database Vault監査証跡を、該当するスキーマの新しい表にアーカイブします。
たとえば:
CREATE TABLE psmith.dv_audit_trail nologging \ AS SELECT * FROM DVSYS.AUDIT_TRAIL$;
-
スキーマがレルムによってすでに保護されている場合、担当者またはエクスポート操作を実行するユーザーに、Database Vault環境でOracle Data Pumpを使用する適切な認可が付与されていることを確認します。
たとえば、ユーザー
psmith
がそのスキーマに対してData Pump操作を実行できるように、このユーザーを認可するとします。EXEC DBMS_MACADM.AUTHORIZE_DATAPUMP_USER('PSMITH', 'PSMITH');
-
Data Pumpユーザーとして接続します。
たとえば:
CONNECT psmith Enter password: password
-
Database Vault監査証跡用のディレクトリを作成します。
CREATE DIRECTORY dv_audit_dir AS 'dv_audit_trail_directory';
-
SQL*Plusを終了します。
EXIT
-
Data Pumpを使用して、Database Vault監査証跡を、作成したディレクトリ・オブジェクトにエクスポートします。
expdp psmith directory=dv_audit_dir tables=psmith.dv_audit_trail \ dumpfile=dv_audit.dmp log=dv_audit_exp.log
-
DV_OWNER
ロールを付与されているユーザーとしてSQL*Plusに接続します。sqlplus ebrown Enter password: password
-
このようにしなかった場合、Database Vault監査証跡を含むスキーマの周辺にレルムを作成します。
-
レルムを作成します。たとえば:
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; /
-
監査証跡を含むスキーマをこのレルムに追加します。たとえば:
BEGIN DBMS_MACADM.ADD_OBJECT_TO_REALM( realm_name => 'DV Audit Trail Realm', object_owner => 'psmith', object_name => '%', object_type => '%'); END; /
-
このレルムに対して信頼されるユーザーを認可します。
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」を参照してください
A.5 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かつ成功時または失敗時) |
---|---|
これらのアカウントの詳細は、表14-1を参照してください。 また、 |
|
|
|
|
|
親トピック: Oracle Database Vaultの監査