プライマリ・コンテンツに移動
Oracle® Audit Vault and Database Firewall監査者ガイド
リリース12.2
E70391-18
目次へ移動
目次
索引へ移動
索引

前
次

4 Oracleデータベースの監査ポリシーの作成

ここでのトピック

4.1 監査ポリシーについて

Audit Vault Serverコンソールを使用すると、Oracleデータベース・セキュア・ターゲットから監査ポリシーを取得できます。その後、ポリシーを変更するか新しいポリシーを作成し、Oracleデータベースにプロビジョニングできます。次のタイプのOracleデータベース監査ポリシーを取得および変更できます。

  • SQL文

  • スキーマ・オブジェクト

  • 権限

  • ファイングレイン監査

  • 取得ルール(REDOログ・ファイル・アクティビティの場合)

ノート:

Oracle Audit Vault and Database FirewallはOracle Database 12cの統合監査証跡からデータを収集できますが、統合監査ポリシーを取得することも、プロビジョニングすることもできません。

4.1.1 Oracleデータベースの監査ポリシー作成の一般的なステップ

通常、Oracleデータベースの監査ポリシーを作成するには、この章で説明する次のステップを実行します。

  1. セキュア・ターゲットOracleデータベースから現在の監査ポリシー設定を取得し、現在の設定の中で必要なものを指定します。
  2. 必要であれば、必要な設定に追加する監査ポリシー設定を定義します。
  3. 監査ポリシーをセキュア・ターゲット・データベースにプロビジョニングします。必要に応じて指定したポリシー設定と作成した新しい設定が、データベースで使用されるポリシーになります。

4.2 Oracleデータベースの監査設定の取得および変更

ここでのトピック

4.2.1 「監査設定」ページの列の理解

セキュア・ターゲットOracleデータベースから監査設定を取得するたびに、その時点でのデータベース監査設定の状態を確認します。「監査設定」ページ(Audit Vault Serverコンソールの「ポリシー」タブをクリックすると表示される)に、セキュア・ターゲットOracleデータベースで使用中の監査設定の概要が表示されます。また、これらの設定と、それらのデータベースに対してOracle AVDF監査ポリシーで必要と指定した設定の違いが表示されます。次に、現在の設定のうちどれが必要かを指定できます。

表4-1で、「監査設定」ページに表示される列を説明します。

表4-1 「監査設定」ページの「監査設定の適用」のフィールド

説明

ターゲット名

セキュア・ターゲットの名前

使用中

セキュア・ターゲットで使用中の監査設定の数

必要

監査者が必要であると指定した監査設定の数

競合

データベースで使用中の監査設定と、Oracle AVDF監査ポリシーでそのデータベースに必要と指定された数の違い。

この数が0よりも大きい場合、最後にOracle AVDFから監査ポリシーをプロビジョニングした後で、新しい監査設定がデータベースで作成されている可能性があります。最後に監査ポリシーをプロビジョニングした後で、必要に応じて監査設定がさらに選択されている可能性があります。

問題を解決するには、新しい監査設定が必要かどうかを指定したり、再度ポリシーをプロビジョニングします。こうして、「問題」列の数が0に戻ります。

最終取得

選択したデータベースの監査情報が最後に取得された時刻

プロビジョニング時刻

監査設定がOracle AVDFからデータベースに最後にプロビジョニングされた時刻

4.2.2 複数のOracleデータベースからの監査設定の取得

複数のOracleデータベース・セキュア・ターゲットから一度に監査設定を取得できます。監査設定の取得をスケジュールする場合、Oracleデータベース・セキュア・ターゲットごとに個別に行うことができます。

1つまたは複数のOracleデータベース・セキュア・ターゲットから監査設定を取得するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。

    デフォルトでは、「監査設定」ページが表示されます。そのセキュア・ターゲットに対するこの時点の監査設定の概要が表示されます。このページにはセキュア・ターゲットごとに監査ポリシーのステータスが表示されます。

  3. 「監査設定」ページの「セキュア・ターゲット」列で、必要なセキュア・ターゲット・データベースのチェック・ボックスを選択します。

    アクセス権があるOracleデータベース・セキュア・ターゲットしか表示されません。

    ノート: 監査証跡および監査ポリシー管理はOracle Database 9iではサポートされていません。

  4. 「監査設定の取得」ボタンをクリックします。

    取得のステータスを確認するには、「クイック・リンク」メニューで「ジョブ」をクリックします。監査設定の取得が完了すると、「監査設定」ページがリフレッシュされて新しいデータが表示されます。

4.2.3 単一のOracleデータベースの監査設定の取得のスケジューリング

各Oracleデータベース・セキュア・ターゲットから監査設定を取得するスケジュールを設定できます。

Oracleデータベース・セキュア・ターゲットの監査設定の取得をスケジュールするには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「セキュア・ターゲット」タブをクリックし、必要なOracleデータベース・セキュア・ターゲットの名前をクリックします。
  3. 「監査ポリシー」セクションを開きます。

    ここで、今すぐに監査設定を取得するか(「監査設定の取得」をクリックして)、取得のスケジュールに進みます。

  4. 「スケジュールされた取得」の横で、「有効」ラジオ・ボタンをクリックします。

    スケジューリング用のフィールドが表示されます。

  5. 「初回実行時間」フィールドでカレンダ・アイコンをクリックして、初回取得日時を選択します。
  6. 「繰返し間隔」フィールドで、最初のフィールドに数値を入力し、ドロップダウン・リストから単位を選択します(時など)。
  7. 「保存」をクリックします。

    スケジュールされた取得のステータスを確認するには、「クイック・リンク」メニューで「ジョブ」をクリックします。監査設定の取得が完了すると、「監査設定」ページがリフレッシュされて新しいデータが表示されます。

4.2.4 必要な監査設定の指定

セキュア・ターゲットOracleデータベースから監査設定を取得したら、表示し、必要に応じて変更できます。取得した時点で使用中の監査設定を変更することに注意してください。変更された可能性がある場合は、再び取得する必要があります。

  1. Audit Vault Serverコンソールに監査者としてログインします。

  2. 「セキュア・ターゲット」タブをクリックし、必要なOracleデータベース・セキュア・ターゲットの名前をクリックします。

  3. 「監査設定」ページで、必要なセキュア・ターゲット・データベースの名前をクリックします。

    このセキュア・ターゲットの「監査設定の概要」ページが表示され、次の監査タイプに関して使用中の監査設定と必要とマークされた監査設定が示されます。

    • オブジェクト

    • 権限

    • FGA

    • 取得ルール

  4. いずれかの監査タイプの設定を更新するには、そのリンク(たとえば、「オブジェクト」)をクリックします。

    その監査タイプの「監査設定」ページが表示され、現在の監査設定が示されます。2番目の列には、セキュア・ターゲット・データベースでの設定とOracle Audit Vault and Database Firewallの設定に違いがある場合に問題を示すアイコンが表示されます。

  5. 必要と判断した監査設定それぞれのチェック・ボックスを選択し、「必要として設定」をクリックします。

  6. 監査設定を削除するには、削除する監査設定のチェック・ボックスを選択して「不要として設定」をクリックします。

  7. この監査タイプ(たとえば、「文」)の新しい監査設定を作成するには、「作成」をクリックします。

4.3 Oracleデータベースの追加監査ポリシー設定の作成

ここでのトピック

4.3.1 監査ポリシー設定の作成について

セキュア・ターゲットOracleデータベースから監査ポリシー設定を取得し、使用中の設定で必要なものを選択したら、Oracleデータベースの新しいポリシー設定を作成することもできます。

4.3.2 SQL文用の監査ポリシーの作成

ここでのトピック

4.3.2.1 SQL文監査について

文監査は、文が作用する特定のスキーマ・オブジェクトではなく、文の種類によってSQLを監査します。文監査は、対象を広げることも絞ることもでき、たとえば、全データベース・ユーザーのアクティビティや、ユーザーの選択リストのみのアクティビティを監査できます。一般的な範囲の広い文監査では、オプションごとに関連する複数のタイプのアクションの使用を監査します。これらの文は、次のカテゴリに分類されます。

  • データ定義文(DDL)。たとえば、AUDIT TABLEはすべてのCREATE TABLE文とDROP TABLE文を監査します。AUDIT TABLEは、文の発行対象の表に関係なく、複数のDDL文を追跡します。また、選択したユーザーまたはデータベースのすべてのユーザーを監査するように文監査を設定することもできます。

  • データ操作文(DML)。たとえば、AUDIT SELECT TABLEは、表かビューかに関係なくすべてのSELECT ... FROM TABLE文またはSELECT ... FROM VIEW文を監査します。

4.3.2.2 SQL文監査設定の定義

SQL文監査設定を定義するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 必要であれば、現在の監査設定を取得して更新します。
  3. 「ポリシー」タブをクリックし、「監査設定」ページでOracleデータベース・セキュア・ターゲットをクリックします。
  4. 「監査設定の概要」ページで「文」をクリックします。

    「文監査設定」ページが表示されます。

  5. 作成」ボタンをクリックします。
  6. 「作成」ページで、次のように監査ポリシーを定義します。
    • 監査の実行者 - 監査するユーザーを選択します。

      • 両方: プロキシ・ユーザーを含め、すべてのユーザーを監査します。

      • プロキシ: データベースのプロキシ・ユーザーを監査します。このオプションを選択すると、「プロキシ・ユーザー」フィールドが表示されます。ここに少なくとも1人のユーザーを指定する必要があります。選択するためにプロキシ・ユーザーとそのセキュア・ターゲットのリストを表示するには、フィールドの右側の上矢印アイコンをクリックします。

      • ユーザー: この設定が適用されるユーザーを監査します。このオプションを選択した場合は、「ユーザー」ドロップダウン・リストからユーザーを選択する必要があります。

    • 文の実行条件 - 次のいずれか1つを選択します。

      • 両方: 成功した文と失敗した文の両方を監査します。

      • 成功時: 成功した場合に文を監査します。

      • 失敗時: 失敗した場合に文を監査します。

    • DML監査粒度 - DML文の監査粒度を選択します。

      • アクセス: 操作が発生するたびに監査レコードを作成します。

      • セッション: 現行セッションで操作が初めて発生したときに監査レコードを作成します。

      DDL文は、アクセス時に常に監査されます。

    • 文の監査タイプ - 文のタイプをダブルクリックして右側のボックスに移動することで、監査するSQL文を選択します。二重矢印を使用すると、すべての文を右または左に移動できます。

  7. 「保存」をクリックします。

4.3.2.3 「文監査設定」ページの理解

表4-2に、「文」ページで使用される列を示します。

表4-2 「文監査設定」ページの列

説明

(一番左の列)

監査設定を選択するためのチェック・ボックス

問題アイコン

感嘆符のアイコンは、次のいずれかの状態を示します。

  • 設定がOracle AVDFで必要とマークされているが、セキュア・ターゲット・データベースで使用中になっていません。

  • セキュア・ターゲット・データベースで設定が使用中ですが、Oracle AVDFで必要とマークされていません。

設定

監査対象の文です。

使用中

設定がセキュア・ターゲット・データベースでアクティブである場合は上向き矢印、プロビジョニングされていない場合または非アクティブである場合は下向き矢印です。

必要

監査設定が設定がOracle AVDFで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。

使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。

監査粒度

監査の粒度です(BY ACCESSまたはBY SESSION)。

実行条件

監査対象の実行条件: SUCCESSFAILUREまたはBOTH

プロキシ・ユーザー

データベースのプロキシ・ユーザーです(存在する場合)。

ユーザー

この設定が適用されるユーザーです(存在する場合)。

4.3.3 スキーマ・オブジェクト用の監査ポリシーの作成

ここでのトピック

4.3.3.1 スキーマ・オブジェクト監査について

スキーマ・オブジェクト監査は、AUDIT SELECT ON HR.EMPLOYEESなどの特定のスキーマ・オブジェクトに対する特定の文の監査です。スキーマ・オブジェクト監査は対象を非常に限定するものであり、データベースの全ユーザーの特定のスキーマ・オブジェクトに対する特定の文のみを監査します。

たとえば、オブジェクト監査は、特定の表に対するSELECT文やDELETE文のように、オブジェクト権限によって許可されるすべてのSELECT文とDML文を監査できます。これらの権限を制御するGRANT文およびREVOKE文も監査されます。

オブジェクト監査を使用すると、非常に機密性が高いプライベートなデータをユーザーが表示または削除できるようにする強力なデータベース・コマンドの使用を監査できます。表、ビュー、順序、スタンドアロンのストアド・プロシージャやファンクションおよびパッケージを参照する文を監査できます。

Oracle Databaseにより、データベースの全ユーザーに対してスキーマ・オブジェクト監査オプションが設定されます。これらのオプションは、特定のユーザーのリストに対しては設定できません。

4.3.3.2 スキーマ・オブジェクト監査設定の定義

スキーマ・オブジェクト監査設定を定義するには:

  1. Audit Vaultコンソールに監査者としてログインします。
  2. 必要であれば、現在の監査設定を取得して更新します。
  3. 「ポリシー」タブをクリックし、「監査設定」ページでセキュア・ターゲットOracleデータベースをクリックします。

    そのターゲットの「監査設定の概要」ページが表示されます。

  4. 「オブジェクト」をクリックして、「オブジェクト監査設定」ページを表示します。
  5. 作成」ボタンをクリックします。
  6. 「オブジェクト監査設定」ページで、次のように設定を定義します。
    • オブジェクト・タイプ - ドロップダウン・リストから監査するオブジェクト・タイプ(TABLELOBRULEVIEWなど)を選択します。

    • オブジェクト - 選択したオブジェクト・タイプの特定のオブジェクトを選択します。

    • オブジェクト実行条件 - 次のいずれか1つを選択します。

      • 両方: 成功した文と失敗した文の両方を監査します。

      • 成功: 成功した場合に文を監査します。

      • 失敗: 失敗した場合に文を監査します。

    • DML監査粒度 - DML文の監査粒度を選択します。

      • アクセス: 操作が発生するたびに監査レコードを作成します。

      • セッション: 現行セッションで操作が初めて発生したときに監査レコードを作成します。

      DDL文は、アクセス時に常に監査されます。

    • 文の監査タイプ - 文のタイプをダブルクリックして右側のボックスに移動することで、監査するSQL文を選択します。二重矢印を使用すると、すべての文を右または左に移動できます。

  7. 「保存」をクリックします。

    新しいオブジェクト監査設定が、「オブジェクト監査設定」ページに追加されます。

4.3.3.3 「オブジェクト監査設定」ページの理解

表4-3に、「オブジェクト」ページで使用される列を示します。

表4-3 「オブジェクト監査設定」ページの列

説明

(一番左の列)

監査設定を選択するためのチェック・ボックス

問題アイコン

感嘆符のアイコンは、次のいずれかの状態を示します。

  • 設定がOracle AVDFで必要とマークされているが、セキュア・ターゲット・データベースで使用中になっていません。

  • セキュア・ターゲット・データベースで設定が使用中ですが、Oracle AVDFで必要とマークされていません。

設定

監査対象の文です。

使用中

設定がセキュア・ターゲット・データベースでアクティブである場合は上向き矢印、プロビジョニングされていない場合または非アクティブである場合は下向き矢印です。

必要

監査設定が設定がOracle AVDFで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。

使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。

オブジェクト・タイプ

この設定が適用されるオブジェクト(データベース表など)

オブジェクト所有者名

この設定が適用されるデータベース・スキーマです。

オブジェクト名

指定したスキーマのオブジェクトの名前。

監査粒度

監査の粒度です(BY ACCESSまたはBY SESSION)。

実行条件

監査対象の実行条件: SUCCESSFAILUREまたはBOTH

4.3.4 権限用の監査ポリシーの作成

ここでのトピック

4.3.4.1 権限監査について

権限監査は、システム権限を使用するSQL文の監査です。すべてのシステム権限の使用を監査できます。文監査と同様に、権限監査では、全データベース・ユーザーのアクティビティも、特定のリストのユーザーのみのアクティビティも監査できます。

たとえば、AUDIT SELECT ANY TABLEを有効にすると、Oracle Databaseは、SELECT ANY TABLE権限を持つユーザーが発行したすべてのSELECT tablename文を監査します。この種の監査機能は、サーベンス・オクスリー(SOX)法のコンプライアンス要件にとって非常に重要です。企業改革法および他のコンプライアンス規則では、不適切なデータ変更や不正なレコード変更がないか特権ユーザーを監査する必要があることが規定されています。

権限監査では、対応するアクションを有効にする強力なシステム権限の使用が監査されます(AUDIT CREATE TABLEなど)。文と権限の両方で類似した監査オプションを設定しても、生成される監査レコードは1つのみです。たとえば、文の句TABLEとシステム権限のCREATE TABLEの両方を監査すると、表が作成されるたびに監査レコードが1つのみ生成されます。文監査句TABLECREATE TABLE文、ALTER TABLE文、およびDROP TABLE文を監査します。ところが権限監査オプションCREATE TABLEが監査するのはCREATE TABLE文のみですが、これはCREATE TABLE文のみがCREATE TABLE権限を必要とするためです。

既存の所有者およびスキーマ・オブジェクト権限によりアクションがすでに許可されている場合は、権限監査は行われません。権限監査は、これらの権限では不十分な場合、つまりシステム権限によってのみアクションが可能になる場合にのみ、トリガーされます。

権限監査は、次の理由から文監査より対象が限定されます。

  • 関連する文のリストではなく、特定の種類のSQL文のみを監査するため。

  • 対象の権限の使用のみを監査するため。

4.3.4.2 権限監査設定の定義

CREATE権限の監査設定を作成するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 必要であれば、現在の監査設定を取得して更新します。
  3. 「ポリシー」タブをクリックし、「監査設定」ページでセキュア・ターゲットOracleデータベースをクリックします。

    そのターゲットの「監査設定の概要」ページが表示されます。

  4. 「権限」をクリックして、「権限監査設定」ページを表示します。
  5. 作成」ボタンをクリックします。
  6. 権限監査の作成ページで、次のように権限監査ポリシーを定義します。
    • 監査の実行者 - 監査するユーザーを選択します。

      • 両方: プロキシ・ユーザーを含め、すべてのユーザーを監査します。

      • プロキシ: データベースのプロキシ・ユーザーを監査します。このオプションを選択すると、「プロキシ・ユーザー」フィールドが表示されます。ここに少なくとも1人のユーザーを指定する必要があります。選択するためにプロキシ・ユーザーとそのセキュア・ターゲットのリストを表示するには、フィールドの右側の上矢印アイコンをクリックします。

      • ユーザー: この設定が適用されるユーザーを監査します。このオプションを選択すると、「ユーザー」フィールドが表示されます。ドロップダウン・リストからユーザーを指定する必要があります。

    • 権限の実行条件 - 次のいずれか1つを選択します。

      • 両方: 成功した権限使用と失敗した権限使用の両方を監査します

      • 成功: 成功した場合に権限使用を監査します

      • 失敗: 失敗した場合に権限使用を監査します

    • DML監査粒度 - DML文の監査粒度を選択します。

      • アクセス: 操作が発生するたびに監査レコードを作成します。

      • セッション: 現行セッションで操作が初めて発生したときに監査レコードを作成します。

      DDL文は、アクセス時に常に監査されます。

    • 文の監査タイプ - 文のタイプをダブルクリックして右側のボックスに移動することで、監査する権限を選択します。

      二重矢印を使用すると、すべての文を右または左に移動できます。

  7. 「保存」をクリックします。

    新しい権限監査設定が、「権限監査設定」ページに追加されます。

4.3.4.3 「権限監査設定」ページの理解

表4-4に、「権限監査設定」ページで使用される列を示します。

表4-4 「権限監査設定」ページの列

説明

(一番左の列)

監査設定を選択するためのチェック・ボックス

問題アイコン

感嘆符のアイコンは、次のいずれかの状態を示します。

  • 設定がOracle AVDFで必要とマークされているが、セキュア・ターゲット・データベースで使用中になっていません。

  • セキュア・ターゲット・データベースで設定が使用中ですが、Oracle AVDFで必要とマークされていません。

設定

監査対象の文です。

使用中

設定がセキュア・ターゲット・データベースでアクティブである場合は上向き矢印、プロビジョニングされていない場合または非アクティブである場合は下向き矢印です。

必要

監査設定が設定がOracle AVDFで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。

使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。

使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。

監査粒度

監査の粒度です(BY ACCESSまたはBY SESSION)。

実行条件

監査対象の実行条件: SUCCESSFAILUREまたはBOTH

ユーザー

この設定が適用されるユーザーです(存在する場合)。

プロキシ・ユーザー

データベースのプロキシ・ユーザーです(存在する場合)。

4.3.5 ファイングレイン監査(FGA)用の監査ポリシーの作成

ここでのトピック

4.3.5.1 ファイングレイン監査について

ファイングレイン監査(FGA)では、監査が行われるために存在する必要のある特定の条件を定義するポリシーを作成できます。たとえば、ファイングレイン監査を使用すると、次のタイプのアクティビティを監査できます。

  • 午後9時から午前6時の間、または土曜日と日曜日に表にアクセスする場合

  • 社内ネットワーク外部のIPアドレスを使用する場合

  • 表の列を選択または更新する場合

  • 表の列の値を変更する場合

ファイングレイン監査ポリシーでは、SELECT、INSERT、UPDATEおよびDELETE操作の粒度を指定します。また、監査を必要な条件のみに制限することで、生成される監査情報の量を減らします。これにより、コンプライアンス要件をサポートする有意義な監査証跡が生成されます。たとえば、中央の税務当局は、ファイングレイン監査を使用すると、所員による権限外の閲覧を防止するために、どのデータがアクセスされたかを判断できる十分な詳細を使用して納税申告書へのアクセスを追跡することができます。特定のユーザーが特定の表に対してSELECT権限を使用したことを知るだけでは不十分です。ファイングレイン監査では、ユーザーが表を問い合せた時刻や、アクションを実行したユーザーのコンピュータIPアドレスなど、詳しい監査を得ることができます。

4.3.5.1.1 特定の列および行の監査

ファイングレイン監査ポリシーを定義するとき、関連列と呼ばれる1つ以上の特定の列を、条件が満たされた場合の監査対象とすることができます。この機能を使用すると、特に重要なデータ、機密性の高いデータ、あるいはプライバシに関するデータ(たとえばクレジット・カード番号、患者の診断結果、社会保障番号といった列にあるデータなど)に、監査対象として焦点を当てることができます。監査は、問合せで特定の列が参照されたときにのみトリガーされるため、関連列の監査を使用すると、誤ったインスタンスや不要な監査レコードの削減に役立ちます。

また、監査ポリシーに条件を追加して、特定の列および行に対する監査を微調整することもできます。たとえば、「ファイングレイン監査の作成」ページの次のフィールドに入力するとします。

  • 条件: department_id = 50

  • : salary, commission_pct

この設定では、部門50の従業員のsalary列およびcommission_pct列からデータを選択しようとするすべてのユーザーが監査されます。

関連列を指定しない場合、Oracle Databaseでは、表のすべての列に監査が適用されます。つまり、行が返されるかどうかに関係なく、指定した種類の文が任意の列に影響を与えるときは必ず監査が行われます。

4.3.5.1.2 ファイングレイン監査でのイベント・ハンドラの使用

ファイングレイン監査ポリシーでは、イベント・ハンドラを指定して監査イベントを処理できます。イベント・ハンドラを使用すると、監査イベントのトリガーの処理方法を柔軟に決定できます。たとえば、さらに分析するために監査イベントを特別な監査表に書き込んだり、セキュリティ管理者のページャや電子メールにアラートを送信したりできます。この機能により、適切なレベルまでエスカレーションするように監査の対応を微調整できます。

実装の柔軟性を高めるため、ユーザー定義の関数を使用してポリシー条件を決定したり、監査の関連列(監査列)を特定したりできます。たとえば、関数を使用すると、ユーザーが社内からデータにアクセスしているかぎりは給与情報へのアクセスを監査せず、社外からアクセスしたときには重役レベルの給与情報へのアクセスの監査を指定することができます。

4.3.5.2 ファイングレイン監査設定の定義

ファイングレイン監査設定を定義するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 必要であれば、現在の監査設定を取得して更新します。
  3. 「ポリシー」タブをクリックし、「監査設定」ページでセキュア・ターゲットOracleデータベースをクリックします。

    データベースの「監査設定の概要」ページが表示されます。

  4. 「監査設定」の下でFGAをクリックして、「ファイングレイン監査設定」ページを表示します。
  5. 作成」ボタンをクリックします。
  6. 次のように監査ポリシーを定義します。
    • ポリシー名 - ファイングレイン監査ポリシーの名前を入力します。

    • 監査証跡 - 次の監査証跡タイプのいずれかを選択します。

      監査タイプ 説明 説明

      F

      データベース

      データベース監査証跡のSYS.FGA_LOG$システム表にポリシー・レコードを書き込みます。

      D

      SQLテキストを使用するデータベース

      「データベース」オプションと同じ機能を実行します。また、SYS.FGA_LOG$表のSQLバインドおよびSQLテキストのCLOB型の列にデータを移入します。

      X

      XML

      オペレーティング・システムのXMLファイルにポリシー・レコードを書き込みます。このファイルの場所を探すために、データベース管理者はSQL*Plusで次のコマンドを実行できます。

      SQL> SHOW PARAMETER AUDIT_FILE_DEST

      E

      SQLテキストを使用するXML

      「XML」オプションと同じ機能を実行します。また、SQLTEXT値やSQLBIND値を含め、監査証跡のすべての列を組み込みます。

      警告:

      SQLテキストを収集すると、クレジット・カード番号などの機密データが監査証跡に表示されることに注意してください。

    • セキュア・ターゲット・スキーマ - 監査するスキーマを選択します。

    • セキュア・ターゲット・オブジェクト - 監査するオブジェクトを選択します。

    • - それぞれの文をダブルクリックして右側のボックスに移動することで、監査するSQL文を1つ以上選択します。DELETEINSERTMERGESELECTまたはUPDATEを選択できます。

    • - (オプション)監査するデータベース列(関連列)の名前を入力します。各列名をカンマで区切ります。複数の列を入力する場合、このポリシーをトリガーする条件として「すべて」または「いずれか」を選択します。

    • 条件 - (オプション)行データをフィルタ処理するためのブール条件を入力します。たとえば、department_id = 50のように指定します。

      このフィールドが空白またはNullの場合、監査は条件に関係なく行われます。

    • ハンドラ・スキーマ - (イベント・ハンドラ関数を指定する場合は必須)イベント・ハンドラが作成されたスキーマ・アカウントの名前を入力します。たとえば、SEC_MGRのように指定します。

    • ハンドラ・パッケージ - (イベント・ハンドラ関数を指定する場合は必須)イベント・ハンドラが作成されたパッケージの名前を入力します。たとえば、OE_FGA_POLICIESのように指定します。

    • ハンドラ関数 - (オプション)イベント・ハンドラの名前を入力します。例: CHECK_OE_VIOLATIONS

  7. 「保存」をクリックします。

4.3.5.3 「ファイングレイン監査設定」ページの理解

表4-5に、「ファイングレイン監査設定」ページで使用される列を示します。

表4-5 「ファイングレイン監査設定」ページの列

フィールド 説明

(一番左の列)

監査設定を選択するためのチェック・ボックス

問題アイコン

感嘆符のアイコンは、次のいずれかの状態を示します。

  • 設定がOracle AVDFで必要とマークされているが、セキュア・ターゲット・データベースで使用中になっていません。

  • セキュア・ターゲット・データベースで設定が使用中ですが、Oracle AVDFで必要とマークされていません。

ポリシー名

ファイングレイン監査ポリシーの名前です。

使用中

設定がセキュア・ターゲットでアクティブである場合は上向き矢印、プロビジョニングされていない場合または非アクティブである場合は下向き矢印です。

必要

監査設定が設定がOracle AVDFで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。

使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。

オブジェクト所有者

この監査設定が適用されるスキーマ

オブジェクト

この監査設定が適用される、指定スキーマ内のオブジェクト

文の種類

この監査設定が適用されるSQL文値は次のとおりです。

  • S: SELECT

  • I: INSERT

  • U: UPDATE

  • D: DELETE

  • M: MERGE

監査対象のデータベース列。関連列と呼ばれることもあります。このフィールドが空の場合は、すべての列が監査されます。

4.3.6 REDOログ・ファイル監査用の取得ルールの作成

ここでのトピック

4.3.6.1 REDOログ・ファイル監査の取得ルールについて

データベースREDOログ・ファイルで値の変更前と変更後を追跡する取得ルールを作成できます。Oracle DatabaseによってデータベースREDOログがスキャンされるときに確認が必要なDMLおよびDDL変更を取得ルールで指定します。取得ルールは、表やスキーマに個別に適用することも、データベース全体にグローバルに適用することもできます。文、オブジェクトおよび権限の監査ポリシーやファイングレイン監査ポリシーとは異なり、セキュア・ターゲットから取得ルール設定を取得してアクティブ化することはできません。セキュア・ターゲットでは取得ルールを作成できないためです。取得ルールを作成できるのはAudit Vault Serverコンソールのみです。

ノート:

セキュア・ターゲット・データベースで、REDOログ・ファイルの監査に使用する予定の表が、DBA_STREAMS_UNSUPPORTEDデータ・ディクショナリ・ビューに指定されていないことを確認します。

4.3.6.2 REDOログ・ファイル監査用の取得ルールの定義

取得ルールを定義するには:

  1. コンソールに監査者としてログインします。
  2. 必要に応じて、現在の文監査ポリシーを取得し、更新します。
  3. 「ポリシー」タブをクリックします。
  4. 「ポリシー」「監査設定」を選択します。
  5. 「監査設定」ページで、Oracleデータベース・セキュア・ターゲットをクリックします。
  6. 「取得ルール」をクリックして、「取得ルール設定」ページを表示します。
  7. 作成」ボタンをクリックします。
  8. 「取得ルール設定」ページで、次のように取得ルールを定義します。
    • ルール・タイプ - 次のいずれか1つを選択します。

      • 表: 特定の表に対するDML変更またはDDL変更のいずれかによる行変更を取得します。

      • スキーマ: 特定のスキーマのデータベース・オブジェクトに対するDML変更またはDDL変更のいずれかによる行変更を取得します。

      • グローバル: データベースでのDML変更またはすべてのDDL変更のいずれかによるすべての行変更を取得します。

    • 文の種類 - 「DDL」「DML」または「両方」を選択します。

    • セキュア・ターゲット・スキーマ - 「ルール・タイプ」として「表」または「スキーマ」を選択した場合は、取得ルールを適用するスキーマの名前をドロップダウン・リストから選択します。

    • セキュア・ターゲット表 - 「ルール・タイプ」として「表」を選択した場合は、取得ルールを適用する表の名前をドロップダウン・リストから選択します。

  9. 「保存」をクリックします。

    取得ルールが作成され、「取得ルール設定」ページのリストに追加されます。

4.3.6.3 「取得ルール設定」ページの理解

表4-6に、「取得ルール」ページで使用される列を示します。

表4-6 「取得ルール」ページの列

説明

(一番左の列)

監査設定を選択するためのチェック・ボックス

問題アイコン

感嘆符のアイコンは、次のいずれかの状態を示します。

  • 設定がOracle AVDFで必要とマークされているが、セキュア・ターゲット・データベースで使用中になっていません。

  • セキュア・ターゲット・データベースで設定が使用中ですが、Oracle AVDFで必要とマークされていません。

ルール・タイプ

取得ルールのタイプは次のとおりです。

  • 表: 特定の表に対するDML変更またはDDL変更のいずれかによる行変更を取得または破棄します。

  • スキーマ: 特定のスキーマのデータベース・オブジェクトに対するDML変更またはDDL変更のいずれかによる行変更を取得または破棄します。

  • グローバル: データベースでのDML変更またはすべてのDDL変更のいずれかによるすべての行変更を取得または破棄します。

使用中

設定がセキュア・ターゲットでアクティブである場合は上向き矢印、プロビジョニングされていない場合または非アクティブである場合は下向き矢印です。

必要

監査設定が設定がOracle AVDFで必要とマークされている場合は上向き矢印、監査設定が不要とマークされている場合は下向き矢印です。

使用中ではない監査設定を必要として設定すると、「使用中」の矢印はプロビジョニング後に上向きになります。使用中の監査設定を不要として設定すると、その監査設定はプロビジョニング後に表示されなくなります。

スキーマ

このルールが適用されるスキーマを示します。

表取得ルールの場合に、このルールが適用される表を示します。

文の種類

監査される文の種類(DDLDMLまたはBoth)を示します。

4.4 Oracleデータベースへの監査ポリシーのプロビジョニング

セキュア・ターゲットOracleデータベースの監査ポリシーを更新または作成した(あるいは両方を行った)後で、監査ポリシーの変更をそのデータベースにプロビジョニングすることができます。

監査ポリシー設定は次の方法でプロビジョニングできます。

注意:

Audit Vault Serverコンソールで「必要」と指定されていない監査設定は、セキュア・ターゲットではオフになります。必要な監査設定の指定を参照してください。

4.4.1 SQLスクリプトへの監査設定のエクスポート

セキュア・ターゲットの監査ポリシー設定をOracle Audit Vault and Database FirewallからSQLスクリプトにエクスポートできます。その後、スクリプトをセキュア・ターゲットOracleデータベースのデータベース管理者に渡すことができます。管理者はスクリプトを使用してそのデータベースの監査設定を更新します。

セキュア・ターゲット・データベースの監査設定をSQLスクリプトにエクスポートするには:

  1. Audit Vaultコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。

    「監査設定」ページが表示され、アクセス権があるOracleデータベース・セキュア・ターゲットが示されます。

  3. セキュア・ターゲット・データベースの名前をクリックします。

    そのデータベースの「監査設定の概要」が表示されます。

  4. エクスポートする監査タイプの1つまたは複数のチェック・ボックス、すなわち「文」「オブジェクト」「権限」FGAまたは「取得ルール」を選択します。
  5. 「エクスポート/プロビジョニング」をクリックします。

    「監査設定のエクスポート/プロビジョニング」ページが表示され、エクスポートできる監査コマンドが示されます。

  6. 「エクスポート」ラジオ・ボタンをクリックしてから「エクスポート」ボタンをクリックし、「OK」をクリックして確定します。
  7. SQLファイルをシステム上の場所に保存します。
  8. 保存したスクリプトを、そのセキュア・ターゲットのデータベース管理者に渡します。

    その後、データベース管理者がポリシーをセキュア・ターゲットに適用できます。設定が更新されたことを確認するために、監査設定を取得できます。

4.4.2 Audit Vault Serverからの監査設定のプロビジョニング

Audit Vault Serverからセキュア・ターゲットOracleデータベースに監査ポリシー設定を直接プロビジョニングできます。こうすると、データベース管理者が操作を行わずに、セキュア・ターゲットの監査設定が更新されます。ただし、データベース管理者は、これらの監査設定の変更または削除を行ったり、新しい設定を追加したりすることができます。このため、最新の監査設定を保持するには定期的に設定を取得する必要があります。

監査設定をセキュア・ターゲットにプロビジョニングするには、次のようにします。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。

    「監査設定」ページが表示され、アクセス権があるOracleデータベース・セキュア・ターゲットが示されます。

  3. セキュア・ターゲット・データベースの名前をクリックします。

    そのデータベースの「監査設定の概要」が表示されます。

  4. プロビジョニングする監査タイプの1つまたは複数のチェック・ボックス、すなわち「文」「オブジェクト」「権限」FGAまたは「取得ルール」を選択します。
  5. 「エクスポート/プロビジョニング」をクリックします。

    「監査設定のエクスポート/プロビジョニング」ページが表示され、エクスポートできる監査コマンドが示されます。プロビジョニングの前にそれらを確認できます。

  6. 「プロビジョニング」ラジオ・ボタンをクリックします。
  7. 「セキュア・ターゲットのデータベース・ユーザー名」フィールドに、AUDIT SQL文、NOAUDIT SQL文およびDBMS_FGA PL/SQLパッケージのEXECUTE権限が付与されたユーザーのユーザー名を入力します。

    セキュア・ターゲット・データベースがOracle Database Vaultで保護されている場合、ユーザーがAUDIT SYSTEM権限とAUDIT ANY権限を付与されていることを確認します。監査コマンド・ルールが設定されている場合は、コマンドが有効になっており、入力したユーザー名のユーザーがそのコマンドを実行できることを確認します。

  8. 「パスワード」フィールドにこのユーザーのパスワードを入力します。
  9. 「プロビジョニング」ボタンをクリックし、「OK」をクリックして確認します。