ヘッダーをスキップ
Oracle Identity Manager Audit Report開発者ガイド
リリース9.1.0
E05908-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

3 ユーザー・プロファイル監査機能

ユーザー・プロファイル監査は、ユーザー・プロファイルの属性、ユーザー・メンバーシップ、リソース・プロビジョニング、アクセス・ポリシーおよびリソース・フォームに対する変更を対象としています。

この章の内容は次のとおりです。

監査用に収集されるデータ

Oracle Identity Managerを監査およびコンプライアンス・モジュールとともにインストールすると、デフォルトでユーザー・プロファイル監査機能が有効になり、監査レベルはResource Formに設定されます。この監査レベルは、フォーム・データのアテステーションに必要な最低レベルを指定します。

監査レベルは、Design Consoleの「System Properties」ページで、キーワードXL.UserProfileAuditDataCollectionを使用して構成します。


関連項目:

監査レベルの詳細は、「監査レベル」を参照してください。

キーワードXL.UserProfileAuditDataCollectionの詳細は、『Oracle Identity Managerデザイン・コンソール・ガイド』のシステム・プロパティに関する項を参照してください。


この項の内容は次のとおりです。

ユーザー・プロファイル監査データの収集とアーカイブ

ユーザー・プロファイルの変更のたびに、Oracle Identity Managerでは、ユーザー・プロファイルのスナップショットを取得してデータベースの監査表に格納します。

また、ユーザー・プロファイルに監査が必要な変更があるときは、たとえ最初のスナップショットが存在しなくても、スナップショットが生成されます。現在のスナップショットが最初のスナップショットとして取り扱われます。

次に、ユーザー・プロファイルの構成要素とこれらの構成要素を格納する表を示します。

  • ユーザー・レコード: USR表(すべてのユーザー定義フィールド(UDF)を含む)

  • ユーザー・グループ・メンバーシップ: USG表、UGP表およびRUL

  • ユーザー・ポリシー・プロファイル: UPP表およびUPD


    注意:

    管理およびユーザー・コンソールを使用してグループ名を変更すると、ユーザーの次のスナップショットまで、データベース内のユーザー・プロファイル監査(UPA)の表にその変更は反映されません。

  • ユーザー・リソース・プロファイル: この構成要素は、次のサブ構成要素に分類できます。

    • ユーザー・リソース・インスタンス: OIU表、OBI表、OST表およびOBJ

    • リソース・ライフサイクル(プロビジョニング)・プロセス: ORC表、PKG表、TOS表、STA表、OSI表、SCH表、MIL

    • リソース状態(プロセス)フォーム: 名前がUD_*で始まるすべての表(子表を含む)

スナップショットおよびスナップショットに対する変更のXML表現

Oracle Identity Managerでは、スナップショットおよびスナップショットに対する変更をXMLとしてUPA表に格納します。次の各項では、ユーザー・プロファイルのスナップショットおよびスナップショットに対する変更のXML表現について説明します。

ユーザー・プロファイル・スナップショットのXML表現

ユーザー・プロファイル・スナップショットのXML表現を構成する要素は次のとおりです。

  • UserProfileSnapshot

    これは、XML表現の一番上の要素です。この要素には、各XMLエントリのユーザー・キーとバージョンが含まれます。

    このリストの残りの要素は、UserProfileSnapshot要素の子要素です。

  • UserInfo

    この要素には、ユーザー・プロファイルに関する一般情報が含まれます。

  • GroupMembership

    この要素には、ユーザーのグループ・メンバーシップに関する情報が含まれます。

  • PolicyProfile

    この要素には、ユーザーに対して特定のリソースのプロビジョニングを許可したポリシーに関する情報が含まれます。

  • ResourceProfile

    この要素には、次の要素が含まれます。

    • ResourceInstance: この要素には、ユーザーにプロビジョニングされた各リソースに関する情報が含まれます。

    • ProcessData: この要素には、UDFに格納されるプロセス・フォーム・データに関する情報が含まれます。

    • ObjectData: この要素には、UDFに格納されるオブジェクト・フォーム・データに関する情報が含まれます。

例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情報には、特定のトランザクションのユーザー・プロファイルの属性に影響するすべての変更が、その理由とともに記述されます。

このXML表現の一番上の要素は、Changesです。特定のトランザクション中に行われた変更は、それぞれChange要素に記述されます。1つのChanges要素内に、Changeタグが複数存在してもかまいません。Change要素の属性は次のとおりです。

  • reason

    この属性は、ユーザー・プロファイル・データの変更に関する理由を保持します。

  • reasonKey

    この属性は、ユーザー・プロファイル・データの変更を発生させたエンティティまたはプロセスのキーを保持します。

  • where

    この属性は、変更の場所を保持します。

  • action

    この属性は、変更が挿入、更新または削除のいずれによって発生したかを指定します。値は、それぞれinsertupdatedeleteです。

  • order

    この属性は、Change要素が複数存在する場合に、デルタ内のChange要素の順序を指定します。

表3-1に、reason属性とreasonKey属性に使用できる値をすべて示します。

表3-1 ユーザー・プロファイル監査のreason属性とreasonKey属性の値

reason属性値 reasonKey属性値 説明

Reconciliation

リコンシリエーション・イベントのキー(RCE_KEY値)

リコンシリエーションによって行われた変更

Access Policy

アクセス・ポリシーのキー(POL_KEY値)

アクセス・ポリシーの変更によって行われた変更

Request

リクエストのキー(REQ_KEY値)

リクエストによって行われた変更

Direct Provision

ダイレクト・プロビジョニングを実行するユーザーのキー(USR_KEY値)

ダイレクト・プロビジョニングによって行われた変更

Manual

手動で変更を実行するユーザーのキー(USR_KEY値)

ユーザーが手動で行った変更

Auto Group Membership

自動グループ・メンバーシップ・ルールのキー(RUL_KEY値)

自動グループ・メンバーシップ・ルールに対する更新によって行われた変更

Adapter

アダプタのキー(ADP_KEY値)

アダプタの実行時に行われた変更

API

APIを使用するアクションを実行するユーザーのキー(USR_KEY値)

APIによって行われた変更

Data Object

データ・オブジェクト変更を行うアクションを実行するユーザーのキー(USR_KEY値)

データ・オブジェクト・レベルで行われた変更

Offline Processing

オフライン処理アクションを実行するユーザーのキー(USR_KEY値)

オフライン処理中に行われた変更

Event Handler

イベント・ハンドラのキー(EVT_KEY値)

イベント・ハンドラによって行われた変更

Attestation

アテステーション・リクエストのキー(ATR_KEY値)

アテステーションによって行われた変更

Unknown

0

この表に示したreason属性値のいずれにも該当しない変更

Regeneration

0

0は、GenerateSnapshotスクリプトの実行によってデルタが作成されるときの値です。この場合、changeReasonKeyの値は必ず0になります。


例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_USRUPA_FIELDSUPA_RESOURCEUPA_GRP_MEMBERSHIPUPA_UD_FORMSおよびUPA_UD_FORMFIELDSの各表に格納されます。このデータを複数の表にわたって正規化すると、レポート作成用に情報を取得しやすくなります。

スナップショットの保存

Oracle Identity Managerでユーザー・プロファイルのスナップショットを取得すると、そのスナップショットはUPA表に格納されます。UPA表の構造は、表3-2に示すとおりです。

表3-2 UPA表の定義

データ型 説明

UPA_KEY

NUMBER (19,0)

監査レコードのキー

USR_KEY

NUMBER (19,0)

このエントリにスナップショットが記録されるユーザーのキー

EFF_FROM_DATE

TIMESTAMP (6)

スナップショット・エントリが有効になった日時

EFF_TO_DATE

TIMESTAMP (6)

スナップショット・エントリが無効になった日時

つまり、これは次のスナップショット・エントリが作成された日時です。最新のユーザー・プロファイルを表すエントリの場合、終了日列の値はNULLに設定されます。

SNAPSHOT

CLOB

スナップショットのXML表現

DELTAS

CLOB

スナップショットに対して行われた変更に対応する新旧の値のXML表現

SRC

VARCHAR2 (4000)

変更の責任を負うユーザーのユーザーID、および変更の実行に使用されたAPI

SIGNATURE

CLOB

顧客が(否認防止のために)スナップショットのデジタル署名を格納するために使用できる列


スナップショット取得のトリガー

ユーザー・プロファイルのデータ要素が変更されると、Oracle Identity Managerではスナップショットが作成されます。

次のイベントにより、ユーザー・プロファイル・スナップショットの作成がトリガーされます。

  • あらゆる種類のユーザー・レコードに対する変更(リコンシリエーション、ダイレクト・プロビジョニングなどによる変更)

  • ユーザーに対するグループ・メンバーシップの変更

  • ユーザーに適用されるポリシーの変更

  • ユーザーへのリソースのプロビジョニング

  • ユーザーに対するリソースのデプロビジョニング

  • プロビジョニングされたリソースに対するプロビジョニング関連イベント

    • リソース・ステータスの変更

    • プロビジョニング・プロセスへのプロビジョニング・タスクの追加

    • プロビジョニング・プロセスのプロビジョニング・タスクに対する更新(ステータス変更、エスカレーションなど)

    • プロセス・フォーム・データの作成または更新

    • オブジェクト・フォーム・データの作成または更新

ユーザー・プロファイル監査に使用されるポストプロセッサ

ユーザー・プロファイルの監査者は、スナップショットのXMLをレポート表UPA_USRUPA_FIELDSUPA_GRP_MEMBERSHIPUPA_RESOURCEUPA_UD_FORMSおよびUPA_UD_FORMFIELDSに正規化する内部ポストプロセッサを保持します。これらの表は、レポート・モジュールで適切なレポートを生成するために使用されます。

ユーザー・プロファイル監査に使用される表

ユーザー・プロファイル監査では、データベース内の次の表を使用します。

UPA表は主要な表であり、すべてのスナップショットおよびユーザー・プロファイルに加えられた変更を格納します。監査エンジンは、UPA表からデータを読み取り、次のレポート表全体でデータを正規化します。


注意:

UPA_UD_FORMS表とUPA_UD_FORMFIELDS表には、システム構成プロパティXL.EnableExceptionReportsTRUEに設定されている場合にのみ、データが移入されます。このプロパティの詳細は、「例外レポート」を参照してください。