ヘッダーをスキップ
Oracle Enterprise Manager Configuration Change Consoleインストレーション・ガイド
10gリリース5(10.2.0.5) for Microsoft Windows or UNIX Systems
B55859-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

C Oracleデータベースのリアルタイム監視の構成

ここでは、Oracleデータベース内で監査を設定するための手順を説明します。トレース・コンポーネント・ルール・セットを使用してOracleデータベースを監視する場合は、イベントを取得するために次の手順を実行する必要があります。監査を構成する前に、『Oracle Database管理者ガイド』のデータベース使用の監査に関する項を参照してください。このドキュメントでは、Oracleの監査機能の概要および監査構成の基本概念とガイドラインが説明されています。Oracle監査システムの構成や細かいチューニングに関する詳細のすべては含まれないことに注意してください。かわりに、Oracle監査システムを構成するための基本手順の例や、Configuration Change ConsoleとOracle Audit Monitorを組み合せて使用する方法が記載されています。

監査ユーザー権限の設定

Oracleデータベースを監視するコンポーネントを作成するときは、データベースにログインして監査証跡を読むことができるデータベース・ユーザーを使用してそのコンポーネントを構成します。このユーザー・アカウントは監査表のみの読取り専用アクセス権を持つ必要があります。このユーザーは、Configuration Change Consoleサーバーがリポジトリのために使用するユーザーとは異なります。

監視対象のOracleデータベースがインストールされているマシンで、またはリモートから、次の手順を実行します。

  1. Oracle Enterprise Managerコンソールを起動します。

  2. メイン・ナビゲーション・ツリーで、監査するデータベース・インスタンスを選択します。(「ネットワーク」→「データベース」→「データベース名」)

  3. システム・ユーザーとしてデータベースにログインします。

  4. ナビゲーション・ペインで、「ネットワーク」→「データベース」→「データベース名」→「セキュリティ」→「ユーザー」にナビゲートします。Configuration Change Consoleのために使用するユーザーを選択します。インフラストラクチャ内の実際のユーザーが使用するユーザーを選択しないでください。また、このユーザーには監査関連の表の読取りアクセス権のみが必要です。

  5. 「セキュリティ」タブを選択します。AUDIT SYSTEM権限を「使用可能」ウィンドウで選択し、横にある下矢印のアイコンをクリックしてユーザーに追加します。オプションとして、AUDIT ALL権限も同様に追加できます。これら2つの権限の詳細は、この後の「監査オプションの指定」を参照してください。「適用」をクリックします。

ユーザー権限をオンにするには、次の手順を実行します。

  1. Oracle Enterprise Managerコンソールを起動します。

  2. メイン・ナビゲーション・ツリーで、監査するデータベース・インスタンスを選択します。(「ネットワーク」→「データベース」→「データベース名」)

  3. sysユーザーとしてデータベースにログインし、SYSDBAとして接続します。

  4. ナビゲーション・ペインで、「ネットワーク」→「データベース」→「データベース名」→「インスタンス」→「構成」を選択します。

  5. ナビゲーション・ペインの右側の「一般」タブで、「すべての初期化パラメータ」ボタンをクリックします。

  6. audit_trail parameterの表示を探します。値を「なし」から「DB」に変更します。「適用」をクリックします。

  7. この変更ではデータベースの再起動が必要です。適切な再起動オプションを選択して、「OK」をクリックします。

監査オプションの指定

SQL*Plusを使用すると、Oracle DBAはaudit文およびnoaudit文を使用してデータベースの監査オプションを構成することができます。

audit文では次の3つのレベルで監査オプションを設定できます。

表C-1 監査オプション表

レベル 効果

特定のタイプのデータベース・オブジェクトに影響する特定のSQL文または文のグループを監査します。たとえば、AUDIT TABLEは、CREATE TABLE、TRUNCATE TABLE、COMMENT ON TABLEおよびDELETE [FROM] TABLEの各文を監査します。

権限

指定したシステム権限の下で実行されるSQL文を監査します。たとえば、AUDIT CREATE ANY TRIGGERは、CREATE ANY TRIGGERシステム権限を使用して発行された文を監査します。

オブジェクト

特定のオブジェクトに対する特定の文を監査します(employee表に対するALTER TABLEなど)。


audit文を使用して、文や権限の監査オプションを設定するには、DBAにAUDIT SYSTEM権限が割り当てられている必要があります。audit文を使用してオブジェクトの監査オプションを設定するには、DBAが監査対象のオブジェクトを所有しているか、Oracle内でAUDIT ANY権限がDBAに割り当てられている必要があります。権限の割当てについては次の項で説明します。

文や権限の監査オプションを設定するaudit文にはBY句を含めることができ、監査する特定のユーザーまたはアプリケーション・プロキシのリストを指定できます。こうすることで、文と権限の監査オプションの範囲が限定されます。

この後にaudit文の例を示します。これらの例に基づいてデータベースの監査設定を指定することをお薦めします。すべての監査設定が終了したら、アプリケーション・ポリシーを作成できます。これには、Oracleデータベース・インスタンスを監視するOracle(SQLトレース)エージェント・モジュールを使用します。

文の監査オプション(ユーザー・セッション)

次の文は、ユーザーScottおよびLoriのユーザー・セッションを監査します。

AUDIT SESSION BY scott, lori;

権限の監査オプション

次の文は、DELETE ANY TABLEシステム権限の、成功および失敗したすべての使用を監査します。

AUDIT DELETE ANY TABLE

BY ACCESS

WHENEVER NOT SUCCESSFUL;

オブジェクトの監査オプション

次の文は、ユーザーjwardが所有するdept表に対する、成功したすべてのSELECT文、INSERT文およびDELETE文を監査します。

AUDIT SELECT, INSERT, DELETE

ON jward.dept

BY ACCESS

WHENEVER SUCCESSFUL;

Oracle Audit Monitorの構成例

次のコマンドは、すべての基本文を監査します。それ以外の文は監査しません。

Audit all by access;

次の文は、基本以外のすべての文を監査します。

audit ALTER SEQUENCE,

ALTER TABLE,

DELETE TABLE,

EXECUTE PROCEDURE,

GRANT DIRECTORY,

GRANT PROCEDURE,

GRANT SEQUENCE,

GRANT TABLE,

GRANT TYPE,

INSERT TABLE,

LOCK TABLE,

UPDATE TABLE

by access;

次のコマンドは、文の監査設定を表示します。

SELECT * FROM DBA_STMT_AUDIT_OPTS;

監査構成を指定したら、SQLトレースのコンポーネント・ルール・セットを設定できます。