ユーザー・プロファイル監査は、ユーザー・プロファイルの属性、ユーザー・メンバーシップ、リソース・プロビジョニング、アクセス・ポリシーおよびリソース・フォームに対する変更を対象としています。
この章の内容は次のとおりです。
Oracle Identity Managerを監査およびコンプライアンス・モジュールとともにインストールすると、デフォルトでユーザー・プロファイル監査機能が有効になり、監査レベルはResource Form
に設定されます。この監査レベルは、フォーム・データのアテステーションに必要な最低レベルを指定します。
監査レベルは、Design Consoleの「System Properties」ページで、キーワードXL.UserProfileAuditDataCollection
を使用して構成します。
関連項目: 監査レベルの詳細は、「監査レベル」を参照してください。 キーワード |
この項の内容は次のとおりです。
ユーザー・プロファイルの変更のたびに、Oracle Identity Managerでは、ユーザー・プロファイルのスナップショットを取得してデータベースの監査表に格納します。
また、ユーザー・プロファイルに監査が必要な変更があるときは、たとえ最初のスナップショットが存在しなくても、スナップショットが生成されます。現在のスナップショットが最初のスナップショットとして取り扱われます。
次に、ユーザー・プロファイルの構成要素とこれらの構成要素を格納する表を示します。
ユーザー・レコード: USR
表(すべてのユーザー定義フィールド(UDF)を含む)
ユーザー・グループ・メンバーシップ: USG
表、UGP
表およびRUL
表
ユーザー・ポリシー・プロファイル: UPP
表およびUPD
表
注意: 管理およびユーザー・コンソールを使用してグループ名を変更すると、ユーザーの次のスナップショットまで、データベース内のユーザー・プロファイル監査(UPA)の表にその変更は反映されません。 |
ユーザー・リソース・プロファイル: この構成要素は、次のサブ構成要素に分類できます。
ユーザー・リソース・インスタンス: OIU
表、OBI
表、OST
表およびOBJ
表
リソース・ライフサイクル(プロビジョニング)・プロセス: ORC
表、PKG
表、TOS
表、STA
表、OSI
表、SCH
表、MIL
表
リソース状態(プロセス)フォーム: 名前がUD_*
で始まるすべての表(子表を含む)
Oracle Identity Managerでは、スナップショットおよびスナップショットに対する変更をXMLとしてUPA
表に格納します。次の各項では、ユーザー・プロファイルのスナップショットおよびスナップショットに対する変更のXML表現について説明します。
ユーザー・プロファイル・スナップショットのXML表現を構成する要素は次のとおりです。
これは、XML表現の一番上の要素です。この要素には、各XMLエントリのユーザー・キーとバージョンが含まれます。
このリストの残りの要素は、UserProfileSnapshot
要素の子要素です。
この要素には、ユーザー・プロファイルに関する一般情報が含まれます。
この要素には、ユーザーのグループ・メンバーシップに関する情報が含まれます。
この要素には、ユーザーに対して特定のリソースのプロビジョニングを許可したポリシーに関する情報が含まれます。
この要素には、次の要素が含まれます。
例3-1に、サンプルのユーザー・プロファイル・スナップショットのXML表現を示します。
例3-1 ユーザー・プロファイル・スナップショットのXML表現
<?xml version="1.0" encoding="UTF-8"?> - <UserProfileSnapshot key="202" version="1.0"> - <UserInfo> <Attribute name="Users.First Name">Testing02First</Attribute> <Attribute name="Users.Role">Full-Time</Attribute> <Attribute name="Users.Disable User">0</Attribute> <Attribute name="Users.Email">john.doe@acmetech.com</Attribute> <Attribute name="Users.Status">Active</Attribute> <Attribute name="Users.Update Date">2007-01-05 17:12:25.181</Attribute> <Attribute name="Users.User ID">TESTING02USER9</Attribute> <Attribute name="Users.Xellerate Type">End-User</Attribute> <Attribute name="Users.Last Name">Testing02Last</Attribute> <Attribute name="Users.Provisioned Date">2007-01-05 17:11:56.868</Attribute> <Attribute encrypted="true" name="Users.Password" password="true">8YxO3YSKDXJLmcsKeZhUSw == </Attribute> <Attribute name="Users.Creation Date">2007-01-05 17:11:56.868</Attribute> <Attribute name="Users.Lock User">0</Attribute> <Attribute key="1" name="Users.Updated By Login">XELSYSADM</Attribute> <Attribute name="Users.Password Reset Attempts Counter">0</Attribute> <Attribute key="1" name="Organizations.Organization Name">Xellerate Users </Attribute> <Attribute name="Users.Login Attempts Counter">0</Attribute> <Attribute key="1" name="Users.Created By Login">XELSYSADM</Attribute> </UserInfo> - <GroupMembership> - <Group key="3"> <Attribute name="Groups-Users.Creation Date">2007-01-05 17:12:30.299 </Attribute> <Attribute name="Groups-Users.Update Date">2007-01-05 17:12:30.299 </Attribute> <Attribute name="Groups-Users.Membership Status">Active</Attribute> <Attribute key="1" name="Groups-Users.Updated By Login">XELSYSADM </Attribute> <Attribute name="Groups-Users.Membership Type">Direct</Attribute> <Attribute key="3" name="Groups.Group Name">ALL USERS</Attribute> <Attribute key="1" name="Groups-Users.Created By Login">XELSYSADM </Attribute> </Group> </GroupMembership> - <PolicyProfile> - <Policy key="1"> <Attribute name="UPD_ALLOW_LIST">Res2</Attribute> <Attribute name="Access Policies.Key">1</Attribute> <Attribute name="Access Policies.Name">AP2</Attribute> </Policy> </PolicyProfile> - <ResourceProfile> - <ResourceInstance key="57"> <Attribute name="Users-Object Instance For User.Creation Date">2007-01-05 17:12:36.599 </Attribute> <Attribute key="45" name="Objects.Object Status.Status">Enabled</Attribute> <Attribute key="1" name="Access Policies.Name">AP2</Attribute> <Attribute key="6" name="Objects.Name">Res2</Attribute> <Attribute name="Users-Object Instance For User.Provisioned By Method"> Access Policy</Attribute> <Attribute key="1" name="Users-Object Instance For User.Provisioned By Login"> XELSYSADM</Attribute> <Attribute name="Users-Object Instance For User.Provisioned By ID">1 </Attribute> <Attribute key="AP2" name="Access Policies.Key">1</Attribute> <ObjectData> - <Parent key="7"> - <FormInfo> <Attribute key="7" name="Structure Utility.Table Name">UD_PRC_PP</Attribute> <Attribute key="0" name="Structure Utility.Structure Utility Version Label.Version Label">Initial Version</Attribute> </FormInfo> - <Data key="162"> <Attribute name="UD_PRC_PP_A">xxxxxxxxxx</Attribute> </Data> </Parent> - <Children> - <Child key="10"> - <FormInfo><Attribute key="10" name="Structure Utility.Table Name">UD_PRC_CF</Attribute> <Attribute key="0" name="Structure Utility.Structure Utility Version Label.Version Label">Initial Version</Attribute> </FormInfo> - <Data key="162"> <Attribute name="UD_PRC_CF_B">yyyyyyyyyy</Attribute> </Data> </Child> </Children> </ObjectData> - <ProcessData> - <Parent key="8"> - <FormInfo> <Attribute key="8" name="Structure Utility.Table Name">UD_RES2_PP </Attribute> <Attribute key="0" name="Structure Utility.Structure Utility Version Label.Version Label">Initial Version</Attribute> </FormInfo> - <Data key="54"> <Attribute name="UD_RES2_PP_B">some_value1</Attribute> <Attribute name="UD_RES2_PP_A">some_value2</Attribute> <Attribute key="1" name="Access Policies.Name">AP2</Attribute> </Data> </Parent> - <Children> - <Child key="9"> - <FormInfo> <Attribute key="9" name="Structure Utility.Table Name">UD_RES2_CP </Attribute> <Attribute key="0" name="Structure Utility.Structure Utility Version Label.Version Label">Initial Version</Attribute> </FormInfo> - <Data key="63"> <Attribute name="UD_RES2_CP_C">Entry1C</Attribute> <Attribute name="UD_RES2_CP_D">Entry1D</Attribute> <Attribute key="1" name="Access Policies.Name">AP2</Attribute> </Data> </Child> </Children> </ProcessData> </ResourceInstance> - <ResourceInstance key="74"> <Attribute name="Users-Object Instance For User.Creation Date">2007-01-05 17:22:37.597</Attribute> <Attribute key="33" name="Objects.Object Status.Status">Provisioning </Attribute> <Attribute key="5" name="Objects.Name">Res1</Attribute> <Attribute name="Users-Object Instance For User.Provisioned By Method"> Direct Provision</Attribute> <Attribute key="1" name="Users-Object Instance For User.Provisioned By Login">XELSYSADM</Attribute> <Attribute name="Users-Object Instance For User.Provisioned By ID"> XELSYSADM</Attribute> </ResourceInstance> </ResourceProfile> </UserProfileSnapshot>
スナップショットに対する変更は、XML形式で格納されます。このXML情報には、特定のトランザクションのユーザー・プロファイルの属性に影響するすべての変更が、その理由とともに記述されます。
このXML表現の一番上の要素は、Changes
です。特定のトランザクション中に行われた変更は、それぞれChange
要素に記述されます。1つのChanges
要素内に、Change
タグが複数存在してもかまいません。Change
要素の属性は次のとおりです。
reason
この属性は、ユーザー・プロファイル・データの変更に関する理由を保持します。
reasonKey
この属性は、ユーザー・プロファイル・データの変更を発生させたエンティティまたはプロセスのキーを保持します。
where
この属性は、変更の場所を保持します。
action
この属性は、変更が挿入、更新または削除のいずれによって発生したかを指定します。値は、それぞれinsert
、update
、delete
です。
order
この属性は、Change
要素が複数存在する場合に、デルタ内のChange
要素の順序を指定します。
表3-1に、reason
属性とreasonKey
属性に使用できる値をすべて示します。
表3-1 ユーザー・プロファイル監査のreason属性とreasonKey属性の値
reason属性値 | reasonKey属性値 | 説明 |
---|---|---|
|
リコンシリエーション・イベントのキー( |
リコンシリエーションによって行われた変更 |
|
アクセス・ポリシーのキー( |
アクセス・ポリシーの変更によって行われた変更 |
|
リクエストのキー( |
リクエストによって行われた変更 |
|
ダイレクト・プロビジョニングを実行するユーザーのキー( |
ダイレクト・プロビジョニングによって行われた変更 |
|
手動で変更を実行するユーザーのキー( |
ユーザーが手動で行った変更 |
|
自動グループ・メンバーシップ・ルールのキー( |
自動グループ・メンバーシップ・ルールに対する更新によって行われた変更 |
|
アダプタのキー( |
アダプタの実行時に行われた変更 |
|
APIを使用するアクションを実行するユーザーのキー( |
APIによって行われた変更 |
|
データ・オブジェクト変更を行うアクションを実行するユーザーのキー( |
データ・オブジェクト・レベルで行われた変更 |
|
オフライン処理アクションを実行するユーザーのキー( |
オフライン処理中に行われた変更 |
|
イベント・ハンドラのキー( |
イベント・ハンドラによって行われた変更 |
|
アテステーション・リクエストのキー( |
アテステーションによって行われた変更 |
|
|
この表に示したreason属性値のいずれにも該当しない変更 |
|
|
|
例3-2に、サンプルのユーザー・プロファイル・スナップショットに対する変更のXML表現を示します。
例3-2 サンプルのユーザー・プロファイル・スナップショットに対する変更のXML表現
<?xml version="1.0" encoding="UTF-8"?> - <Changes> - <Change action="insert" order="1" reason="Manual" reasonKey="1" where="/UserProfileSnapshot/ResourceProfile/ResourceInstance[@key='74']"> - <Attribute name="Users-Object Instance For User.Creation Date"> <OldValue /> <NewValue>2007-01-05 17:22:37.597</NewValue> </Attribute> - <Attribute name="Objects.Object Status.Status"> <OldValue key="" /> <NewValue key="35">Ready</NewValue> </Attribute> - <Attribute name="Objects.Name"> <OldValue key="" /> <NewValue key="5">Res1</NewValue> </Attribute> - <Attribute name="Users-Object Instance For User.Provisioned By Method"> <OldValue /> <NewValue>Direct Provision</NewValue> </Attribute> - <Attribute name="Users-Object Instance For User.Provisioned By Login"> <OldValue key="" /> <NewValue key="1">XELSYSADM</NewValue> </Attribute> - <Attribute name="Users-Object Instance For User.Provisioned By ID"> <OldValue /> <NewValue>XELSYSADM</NewValue> </Attribute> </Change> - <Change action="update" order="2" reason="Manual" reasonKey="1" where="/UserProfileSnapshot/ResourceProfile/ResourceInstance[@key='74']"> - <Attribute name="Objects.Object Status.Status"> <OldValue key="35">Ready</OldValue> <NewValue key="33">Provisioning</NewValue> </Attribute> </Change> </Changes>
このXML形式の情報は、まずUPA
表に格納された後、正規化された形式でUPA_USR
、UPA_FIELDS
、UPA_RESOURCE
、UPA_GRP_MEMBERSHIP
、UPA_UD_FORMS
およびUPA_UD_FORMFIELDS
の各表に格納されます。このデータを複数の表にわたって正規化すると、レポート作成用に情報を取得しやすくなります。
Oracle Identity Managerでユーザー・プロファイルのスナップショットを取得すると、そのスナップショットはUPA
表に格納されます。UPA
表の構造は、表3-2に示すとおりです。
表3-2 UPA表の定義
列 | データ型 | 説明 |
---|---|---|
|
NUMBER (19,0) |
監査レコードのキー |
|
NUMBER (19,0) |
このエントリにスナップショットが記録されるユーザーのキー |
|
TIMESTAMP (6) |
スナップショット・エントリが有効になった日時 |
|
TIMESTAMP (6) |
スナップショット・エントリが無効になった日時 つまり、これは次のスナップショット・エントリが作成された日時です。最新のユーザー・プロファイルを表すエントリの場合、終了日列の値は |
|
CLOB |
スナップショットのXML表現 |
|
CLOB |
スナップショットに対して行われた変更に対応する新旧の値のXML表現 |
|
VARCHAR2 (4000) |
変更の責任を負うユーザーのユーザーID、および変更の実行に使用されたAPI |
|
CLOB |
顧客が(否認防止のために)スナップショットのデジタル署名を格納するために使用できる列 |
ユーザー・プロファイルのデータ要素が変更されると、Oracle Identity Managerではスナップショットが作成されます。
次のイベントにより、ユーザー・プロファイル・スナップショットの作成がトリガーされます。
あらゆる種類のユーザー・レコードに対する変更(リコンシリエーション、ダイレクト・プロビジョニングなどによる変更)
ユーザーに対するグループ・メンバーシップの変更
ユーザーに適用されるポリシーの変更
ユーザーへのリソースのプロビジョニング
ユーザーに対するリソースのデプロビジョニング
プロビジョニングされたリソースに対するプロビジョニング関連イベント
リソース・ステータスの変更
プロビジョニング・プロセスへのプロビジョニング・タスクの追加
プロビジョニング・プロセスのプロビジョニング・タスクに対する更新(ステータス変更、エスカレーションなど)
プロセス・フォーム・データの作成または更新
オブジェクト・フォーム・データの作成または更新
ユーザー・プロファイルの監査者は、スナップショットのXMLをレポート表UPA_USR
、UPA_FIELDS
、UPA_GRP_MEMBERSHIP
、UPA_RESOURCE
、UPA_UD_FORMS
およびUPA_UD_FORMFIELDS
に正規化する内部ポストプロセッサを保持します。これらの表は、レポート・モジュールで適切なレポートを生成するために使用されます。
ユーザー・プロファイル監査では、データベース内の次の表を使用します。
UPA
表は主要な表であり、すべてのスナップショットおよびユーザー・プロファイルに加えられた変更を格納します。監査エンジンは、UPA
表からデータを読み取り、次のレポート表全体でデータを正規化します。
UPA_FIELDS
: この表は、ユーザー・プロファイル情報を垂直書式で格納します。
この表には、UPA_USR
表よりも多くの情報が含まれます。たとえば、この表には、UPA_USR
では使用できない他のフィールドに加えて、UDのフィールドも格納されます。
UPA_GRP_MEMBERSHIP
: この表は、システム内のすべてのユーザーに対するグループ・メンバーシップを格納します。
この情報には、ユーザーがグループに追加および削除された時期が含まれます。
UPA_RESOURCE
: この表の情報には、プロビジョニングされたリソースと各リソースのステータスにおける変更が含まれます。
この表には、フォーム表の情報は含まれません。
この表は、UPA_UD_FORMS
: UPA_UD_FORMFIELDS
表とともに、リソースおよびプロセス・フォームに対する変更に関する情報を格納します。対応する変更済の表に関する情報が含まれます。実際のフィールドの変更は、UPA_UD_FORMFIELDS
表に格納されます。
UPA_UD_FORMFIELDS
: この表は、変更されたフォーム・フィールドの名前とその新旧の値を格納します。フォーム・フィールドが変更されるたびに、新しい行がこの表に挿入され、変更が反映されます。
注意: UPA_UD_FORMS 表とUPA_UD_FORMFIELDS 表には、システム構成プロパティXL.EnableExceptionReports がTRUE に設定されている場合にのみ、データが移入されます。このプロパティの詳細は、「例外レポート」を参照してください。 |