Oracle Identity Managerは、監査およびコンプライアンスのために広範囲にわたるデータを収集する強力な監査エンジンを備えています。監査機能を使用して、コンプライアンスの監視、IT中心のプロセスおよびフォレンジック監査のためのエンティティおよびトランザクション・データを収集、アーカイブおよび表示できます。そのため、Oracle Identity Managerでは、監査モジュールおよびコンプライアンス・モジュールを使用して、プロファイル監視機能、レポート機能およびアテステーション機能を提供しています。履歴データは、ライフ・サイクル全体で取得、トランスポート、格納、検索および削除できます。セキュリティは、データのライフ・サイクルの各ステージで維持されます。アテステーション・プロセスの詳細は、「アテステーション・プロセスの管理」を参照してください。
この章は次のトピックで構成されます。
ここでは、監査機能の概要について次の各項で説明します。
図17-1に、Oracle Identity Managerの監査プロセスの設計要素を示します。
Oracle Identity Manager内でユーザーが実行したアクションは、アプリケーション・プログラミング・インタフェース(API)コールまたはメッセージを取得してアクションを処理するメッセージ・ドリブンBean(MDB)に変換されます。1つのアクションから複数の変更が発生することがあります。すべての変更は、1つの監査トランザクションにまとめられます。データ・オブジェクトを変更できるAPIメソッドはそれぞれ、APIコールの最初に監査エンジンのstartTransactionメソッドをコールし、APIコールの最後にendTransactionメソッドをコールします。これにより、監査トランザクションの境界が定義されます。監査エンジンは、トランザクションで行われた変更を識別するためにトランザクションIDを生成します。
Oracle Identity Managerには、プロファイル情報の監査および履歴のアーカイブが用意されています。プロファイルのスナップショットを取得してデータベースの監査表に格納し、プロファイル・データの変更のたびにスナップショットを更新します。プロファイル監査機能関係では、スナップショットという用語は、データが変更されるたびに作成されるプロファイル・データ全体のコピーを意味します。
BI Publisherには、アーカイブ・データを表示するための標準レポートが付属しています。また、カスタマイズ・レポートを作成することもできます。
レポートの詳細は、次を参照してください。
レポートの詳細は、『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のレポートの構成に関する項を参照してください。
ユーザー・プロファイル監査は、ユーザー・プロファイルの属性、ユーザー・メンバーシップ、リソース・プロビジョニング、アクセス・ポリシーおよびリソース・フォームに対する変更を対象としています。
この項の内容は次のとおりです。
Oracle Identity Managerをインストールすると、デフォルトでユーザー・プロファイル監査機能が有効になり、監査レベルは「リソース・フォーム」に設定されます。この監査レベルは、フォーム・データのアテステーションに必要な最低レベルを指定します。
拡張管理のシステム構成部の監査レベルは、XL.UserProfileAuditDataCollectionシステム・プロパティを使用して構成します。
関連項目:
|
この項の内容は次のとおりです。
ユーザー・プロファイルの変更のたびに、Oracle Identity Managerでは、ユーザー・プロファイルのスナップショットを取得してデータベースの監査表に格納します。
また、ユーザー・プロファイルに監査が必要な変更があるときは、たとえ最初のスナップショットが存在しなくても、スナップショットが生成されます。現在のスナップショットが最初のスナップショットとして取り扱われます。
次に、ユーザー・プロファイルの構成要素とこれらの構成要素を格納する表を示します。
注意: ユーザー・プロファイル表の列名や使用方法などの詳細は、Oracle Identity Managerに付属のスキーマ・ドキュメントを参照してください。 |
ユーザー・レコード: USR表(すべてのユーザー定義フィールド(UDF)を含む)に格納されます。
USR表にはユーザー属性が格納されます。ユーザーを作成すると、Oracle Identity Managerにより、この表にエントリが追加されます。
ユーザー・ロール・メンバーシップ: RUL表、UGP表およびUSG表(表17-1を参照)に格納されます。
ユーザー・ポリシー・プロファイル: 次の表に格納されます。
UPD: ユーザー・ポリシー・プロファイル・データが格納されます。これは、ユーザーにプロビジョニングされるリソースのポリシー中心の表示です。
UPP: ユーザー・ポリシー・プロファイル関連の詳細が格納されます。これは、ユーザーに適用可能なすべてのポリシーと、ユーザーが許可または拒否するリソースに関するユーザー中心の表示です。
注意: Oracle Identity Self Serviceを使用してロール名を変更すると、ユーザーの次のスナップショットまで、データベース内のユーザー・プロファイル監査(UPA)の表にその変更は反映されません。 |
ユーザー・リソース・プロファイル: この構成要素は、次のサブ構成要素に分類できます。
ユーザー・リソース・インスタンス: OBI表、OBJ表およびOIU表(表17-2を参照)に格納されます。
表17-2 ユーザー・リソース・インスタンスの表
表名 | 説明 |
---|---|
OBI |
リソース(オブジェクト)インスタンス情報を格納します。Oracle Identity Managerは、リソースがプロビジョニングされるたびにリソース・インスタンスを作成します。このインスタンスには、リソース・キー(リソースがリクエストを介してプロビジョニングされた場合)、対応するプロセス・インスタンス、インスタンス・ステータスなど、プロビジョニングされたインスタンスに関連する一般情報がすべて保存されます。 |
OBJ |
リソース名、自動保存および自動事前移入が設定されているかどうか、リソース・オブジェクトで複数インスタンスを許可するかどうかなど、リソースに関する詳細を含めたリソース・オブジェクト・データを表します。 |
OIU |
プロビジョニングの実行時に、適用可能なユーザー情報をリソース・オブジェクト・インスタンスに関連付けます。さらに、特定のリソース・インスタンスについてポリシー関連情報が保存されます。 |
リソース・ライフサイクル(プロビジョニング)プロセス: MIL表、ORC表、OSI表、PKG表、SCH表およびTOS表(表17-3を参照)に格納されます。
表17-3 リソース・ライフサイクル・プロセスの表
表名 | 説明 |
---|---|
MIL |
プロセス・タスク定義を定義します。各エントリは1つのプロセス・タスクに相当します。プロセス定義(PKG表)は、複数のタスクで構成され、各タスクは定義の様々なワークフローの一部です。 |
ORC |
プロビジョニングの実行時にプロセス・インスタンス情報を格納します。プロビジョニングが開始すると、Oracle Identity Managerにより、関連するプロセス(またはワークフロー)インスタンスが生成され、プロビジョニング・インスタンスに固有のプロセス関連情報が保存されます。 |
OSI |
プロセス・インスタンスに対して作成されたタスクに関する情報を格納します。 |
PKG |
プロセスまたはワークフローを、プロセス名、プロセス・タイプ、付加フィールド・マッピング、関連するリソースやプロセス・フォームなどのプロセスの詳細も含めて、Oracle Identity Managerに定義します。 |
SCH |
タスク・ステータス、ステータス・バケット、アダプタの実行開始または終了のタイミングなど、特定のタスク・インスタンスの実行に関連する情報を格納します。 |
TOS |
アトミック・プロセス情報を格納します。 |
リソース状態(プロセス)フォーム: この情報は、UDの親表および子表に格納されます。UD_*表は、アカウントの状態を格納するユーザー定義フィールドの表です。
Oracle Identity Managerでユーザー・プロファイルのスナップショットを取得すると、そのスナップショットはUPA表に格納されます。UPA表の構造は、表17-4に示すとおりです。
表17-4 UPA表の定義
列 | データ型 | 説明 |
---|---|---|
UPA_KEY |
NUMBER (19,0) |
監査レコードのキー |
USR_KEY |
NUMBER (19,0) |
このエントリにスナップショットが記録されるユーザーのキー |
EFF_FROM_DATE |
TIMESTAMP (6) |
スナップショット・エントリが有効になった日時 |
EFF_TO_DATE |
TIMESTAMP (6) |
スナップショット・エントリが無効になった日時 つまり、これは次のスナップショット・エントリが作成された日時です。最新のユーザー・プロファイルを表すエントリの場合、終了日列の値はNULLに設定されます。 |
SRC |
VARCHAR2 (4000) |
変更の責任を負うユーザーのユーザーID、および変更の実行に使用されたAPI |
SNAPSHOT |
CLOB |
スナップショットのXML表現 |
DELTAS |
CLOB |
スナップショットに対して行われた変更に対応する新旧の値のXML表現 |
SIGNATURE |
CLOB |
スナップショットのデジタル署名を格納するために使用できる列(否認防止用) |
注意: Oracle Identity Managerでのデフォルト・ユーザーに対する初期の監査スナップショットはUTF-8エンコードではありません。一方、これらのユーザーに対するその後の変更の監査は、UTF-8エンコード・スナップショットになります。 |
ユーザー・プロファイルのデータ要素が変更されると、Oracle Identity Managerではスナップショットが作成されます。
次のイベントにより、ユーザー・プロファイル・スナップショットの作成がトリガーされます。
あらゆる種類のユーザー・レコードに対する変更(リコンシリエーション、ダイレクト・プロビジョニングなどによる変更)
ユーザーに対するロール・メンバーシップの変更
ユーザーに適用されるポリシーの変更
ユーザーへのリソースのプロビジョニング
ユーザーに対するリソースのデプロビジョニング
プロビジョニングされたリソースに対するプロビジョニング関連イベント
リソース・ステータスの変更
プロビジョニング・プロセスへのプロビジョニング・タスクの追加
プロビジョニング・プロセスのプロビジョニング・タスクに対する更新(ステータス変更、エスカレーションなど)
プロセス・フォーム・データの作成または更新
ユーザー・プロファイルの監査者は、スナップショットのXMLをレポート表UPA_USR、UPA_FIELDS、UPA_GRP_MEMBERSHIP、UPA_RESOURCE、UPA_UD_FORMSおよびUPA_UD_FORMFIELDSに正規化する内部ポストプロセッサを保持します。これらの表は、レポート・モジュールで適切なレポートを生成するために使用されます。
表17-5に、ユーザー・プロファイル監査で使用するデータベースの表を示します。
注意: ユーザー・プロファイル監査表の列名や使用方法などの詳細は、Oracle Identity Managerに付属のスキーマ・ドキュメントを参照してください。 |
表17-5 ユーザー・プロファイル監査の表
表名 | 説明 |
---|---|
AUD |
Oracle Identity Managerでサポートされているすべての監査者(例: ユーザー・プロファイル監査者)の詳細情報を格納します。現在、使用可能なエントリはUserProfileAuditのみです。 |
AUD_JMS |
ビジネス・トランザクションの一環として適用された変更の情報を格納するステージング表です。これは、監査エンジンが使用する前にデータ変更ログ・データを一時的に保存するための中間表です。監査メッセージが正常に処理されると、対応するレコードが表から削除されます。 注意: この表は、エンド・ユーザーの使用を意図していないため、直接使用しないでください。 |
UPA |
すべてのスナップショットおよびユーザー・プロファイルに適用された変更を格納するためのメイン監査表です。 |
UPA_FIELDS |
ユーザー・プロファイル監査履歴の変更を非正規化(垂直)形式で格納します。 |
UPA_GRP_MEMBERSHIP |
グループ・メンバーシップ履歴を非正規化形式で格納します。 |
UPA_RESOURCE |
ユーザー・プロファイル・リソース履歴を非正規化形式で格納します。 |
UPA_USR |
ユーザー・プロファイル履歴を非正規化形式で格納します。 |
UPA_UD_FORMS |
UPA_UD_FORMFIELDS表とともに、ユーザーのアカウント・プロファイル(プロセス・フォーム)への変更に関する情報を格納します。この表は、トランザクションで変更される様々なフォーム(親または子フォームなど)の変更の経過を管理します。アカウントまたは権限の属性の変更は、UPA_UD_FORMFIELDS表に格納されます。 |
UPA_UD_FORMFIELDS |
修正されたアカウント名または権限プロファイルのフィールド名を格納します。この表には、変更されたフィールドの古い値と新しい値も記録されます。 |
注意:
|
ユーザー・プロファイル監査データは監査レベルの設定に応じて増加し、ほとんどのデプロイメントにとって増加は深刻です。
また、古いユーザー・プロファイル監査データをクリーンにしたりアーカイブすることで将来の増大に対応する必要もあります。
監査アーカイブおよびパージ・ユーティリティを使用すると、これらの要件に適合できます。このユーティリティの詳細は、「監査アーカイブおよびパージ・ユーティリティの使用」を参照してください。
ロール・プロファイル監査は、ロール・プロファイルの属性、ロール管理者および直接サブロールに対する変更を対象としています。
この項では、次の項目について説明します。
ユーザー監査とは異なり、ロール・プロファイル監査には独立した監査レベルは定義されません。かわりに、ユーザー・プロファイル監査に対して定義された監査レベルがロール・プロファイル監査に使用されます。ユーザー・プロファイル監査レベルに対して定義された監査レベルが、メンバーシップ・レベルか、それより1レベル高い場合にのみ、ロール・プロファイル監査は実施されます。Oracle Identity Managerをインストールすると、デフォルトでユーザー・プロファイル監査機能が有効になり、監査レベルは「リソース・フォーム」に設定されます。その結果、ユーザー・プロファイル監査のデフォルトの監査レベルは「リソース・フォーム」であり、「メンバーシップ」より高いため、ロール・プロファイル監査もデフォルトで有効になります。
この項の内容は次のとおりです。
ロール・プロファイルの変更のたびに、Oracle Identity Managerでは、ロール・プロファイルのスナップショットを取得してデータベースの監査表に格納します。
Oracle Identity Managerでは、ロールに対する監査が作成されると、最初のスナップショットが存在していない場合も、スナップショットが生成されます。現在のスナップショットが最初のスナップショットとして取り扱われます。
次に、ロール・プロファイルの構成要素とその要素を構成する表を示します。
ユーザー・ロール・レコード: UGP表(グループのすべてのUDFを含む)
サブロール情報: GPG表
Oracle Identity Managerでロール・プロファイルのスナップショットを取得すると、そのスナップショットはGPA表に格納されます。この表の構造は、表17-6に示すとおりです。
表17-6 GPA表の定義
列 | データ型 | 説明 |
---|---|---|
GPA_KEY |
NUMBER (19,0) |
監査レコードのキー |
UGP_KEY |
NUMBER (19,0) |
ロール・スナップショットが記録されるロールのキー |
EFF_FROM_DATE |
TIMESTAMP (6) |
スナップショット・エントリが有効になった日時 |
EFF_TO_DATE |
TIMESTAMP (6) |
スナップショット・エントリが無効になった日時 つまり、これは次のスナップショット・エントリが作成された日時です。最新のユーザー・プロファイルを表すエントリの場合、終了日列の値はNULLに設定されます。 |
SRC |
VARCHAR2 (4000) |
エントリのソース、変更責任者のユーザーID、および変更の実行に使用されたAPI |
SNAPSHOT |
CLOB |
スナップショットのXML表現 |
DELTAS |
CLOB |
スナップショットに対して行われた変更に対応する新旧の値のXML表現 |
SIGNATURE |
CLOB |
スナップショットのデジタル署名を格納するために使用できる列(否認防止用) |
ここでは、Oracle Identity Managerで監査機能を有効および無効にする方法について次の各項で説明します。
Oracle Identity Managerで監査機能を無効にする手順は、次のとおりです。
「システム・プロパティの管理」に記載されているように、「ユーザー・プロファイル監査データ収集レベル」(XL.UserProfileAuditDataCollection)システム・プロパティの値を「なし」に設定します。
「ジョブの無効化と有効化」に記載されているように、監査メッセージの発行タスク・スケジュール済ジョブを無効にします。
保留中の監査変更を監査表に記録する必要がある場合は、保留中の監査変更がすべて処理された後にスケジュール済タスクを無効にします。
Oracle Identity Managerで監査機能を有効にする手順は、次のとおりです。
『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』の監査レベルに関する項に記載されているレベルのいずれかに、「ユーザー・プロファイル監査データ収集レベル」(XL.UserProfileAuditDataCollection)システム・プロパティの値を設定します。
システム・プロパティ値の変更の詳細は、「システム・プロパティの管理」を参照してください。
「ジョブの無効化と有効化」に記載されているように、監査メッセージの発行タスク・スケジュール済ジョブを有効にします。
スナップショットを生成するには、『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』の監査スナップショットの生成に関する項に記載されているように、GenerateSnapshotスクリプトを実行します。
コマンドラインでは、GenerateSnapshotスクリプトを次のように使用します。
./GenerateSnapshot.sh -username OIM_ADMIN_USERNAME -numOfThreads 8 -serverURLt3://WLS_SERVER:PORT -ctxFactory weblogic.jndi.WLInitialContextFactory[-inputFile fileWithUserKeys]
各変数は次のとおりです。
OIM_ADMIN_USERNAMEは、Oracle Identity Manager管理者のユーザー名です。
WLS_SERVERは、Oracle WebLogic Serverの名前です。
PORTは、WebLogic Serverのポート番号です。