ヘッダーをスキップ
Oracle Identity Manager Generic Technology Connector管理者ガイド
リリース9.0.3.1
E05491-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

A Oracle Identity Managerに含まれている事前定義済プロバイダ

プロバイダの要件を決定したら、その要件を満たす事前定義済プロバイダを指定する必要があります。この手順を実行するために、この付録で説明する情報を使用してください。

Oracle Identity Managerの現行リリースには次のプロバイダが含まれています。

共有ドライブ・トランスポート・プロバイダ(リコンシリエーション用)

このプロバイダは、ターゲット・システム・サーバーのステージング・ディレクトリに格納されているフラット・ファイルのデータを読み取り、Oracle Identity Managerサーバーのアーカイブ・ディレクトリのファイルにデータをコピーします。ステージング・ディレクトリが別のコンピュータにある場合、それらのディレクトリを共有にして、Oracle Identity Managerサーバーにネットワーク・ドライブとしてマッピングする必要があります。

このプロバイダのパラメータを次に示します。

次の表は、ステージングおよびアーカイブのデータ・ファイルの格納に使用される共有ディレクトリに対する様々な権限の影響を示します。

記憶域エンティティ アクセス権限 権限がない場合の影響
ステージング・ディレクトリ(親) 読取り リコンシリエーションが実行されません。エラー・メッセージがロギングされます。
ステージング・ディレクトリ(親) 書込み 親ステージング・ディレクトリのデータ・ファイルが、アーカイブ・プロセスの最後に削除されません。
ステージング・ディレクトリ(親) 実行 影響はありません。
ステージング・ディレクトリ(子) 読取り 子データのリコンシリエーションが実行されません。エラー・メッセージがロギングされます。
ステージング・ディレクトリ(子) 書込み 子ステージング・ディレクトリのデータ・ファイルが、アーカイブ・プロセスの最後に削除されません。
ステージング・ディレクトリ(子) 実行 影響はありません。
アーカイブ・ディレクトリ 読取り 親データと子データのリコンシリエーションが実行されます。アーカイブ・プロセスの際に、ファイルがアーカイブ・ディレクトリにコピーされません。ただし、親と子のステージング・ディレクトリに必要な権限が設定されている場合、これらのファイルがステージング・ディレクトリから削除されます。
アーカイブ・ディレクトリ 書込み 親データと子データのリコンシリエーションが実行されます。アーカイブ・プロセスの際に、ファイルがアーカイブ・ディレクトリにコピーされません。ただし、親と子のステージング・ディレクトリに必要な権限が設定されている場合、これらのファイルがステージング・ディレクトリから削除されます。
アーカイブ・ディレクトリ 実行 影響はありません。
ステージング・ディレクトリ(親ファイル) 読取り Read権限があるすべてのデータ・ファイルでリコンシリエーションが実行されますが、このファイルについては実行されません。エラー・メッセージがロギングされます。
ステージング・ディレクトリ(親ファイル) 書込み このファイルのデータはリコンサイルされます。ただし、このファイルはアーカイブ・プロセスの最後に削除されません。エラー・メッセージがロギングされます。
ステージング・ディレクトリ(親ファイル) 実行 影響はありません。
ステージング・ディレクトリ(子ファイル) 読取り Read権限があるすべてのデータ・ファイルでリコンシリエーションが実行されますが、このファイルについては実行されません。エラー・メッセージがロギングされます。
ステージング・ディレクトリ(子ファイル) 書込み このファイルのデータはリコンサイルされます。ただし、このファイルはアーカイブ・プロセスの最後に削除されません。エラー・メッセージがロギングされます。
ステージング・ディレクトリ(子ファイル) 実行 影響はありません。


注意:

ステージング・ディレクトリのデータ・ファイルは、エディタで開かれている場合は削除できません。

CSVフォーマット・プロバイダ(リコンシリエーション用)

このプロバイダはスタンドアロン・プロバイダとしてパッケージされていますが、すべてのパラメータが共有ドライブ・トランスポート・プロバイダにバンドルされています。「ステップ1: 基本情報」画面で共有ドライブ・トランスポート・プロバイダを選択した場合は、CSVフォーマット・プロバイダを選択する必要があります。このプロバイダを選択すると、パラメータは共有ドライブ・トランスポート・プロバイダのパラメータと一緒に表示されます。

SPMLフォーマット・プロバイダ(プロビジョニング用)

このプロバイダのパラメータを次に示します。

ターゲットID

このパラメータを使用して、実際のターゲットのターゲットIDを定義します。

SPMLリクエストを作成するためにVelocityテンプレート・エンジンが使用されます。このプロバイダは、次のプロセスに対してSPML 2.0 DSMLプロファイルに基づいてリクエストを生成します。

このプロバイダには、次のデフォルトIDフィールドがあります。


注意:

「コネクタ構成の変更」画面で、これら2つのフィールドはプロビジョニング・ステージング・データセットにデフォルトで表示されます。

各プロビジョニング・タスク(「ユーザーの作成」や「ユーザーの変更」など)について、このプロバイダによって事前定義済形式でリクエストが生成されます。

次の項では、様々なプロビジョニング・タスクのために、プロバイダによって実装されるリクエストとレスポンスをプロビジョニングするためのXML定義コードを示します。


注意:

リクエストとレスポンスの定義XMLコードは参照のために示しています。プロバイダのこのコードをカスタマイズすることはできません。

プロビジョニング・トランスポート・プロバイダは、次の項に示すサンプル・レスポンス形式に基づくレスポンスを想定しています。


ユーザーの作成

次に、追加リクエストのサンプルSPMLコードを示します。

<addRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
  <targetID ID="ADServer_124"/>
  <containerID ID="Contractors"/>
  <data>
    <dsml:attr name="objectclass">
      <dsml:value>userObject</dsml:value>
    </dsml:attr>
      <dsml:attr name="firstName">
        <dsml:value>John</dsml:value>
      </dsml:attr>
      <dsml:attr name="lastName">
        <dsml:value>Doe</dsml:value>
      </dsml:attr>
  </data>
</addRequest>

次に、追加レスポンスのサンプルSPMLコードを示します。

<addResponse status="success">
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</addResponse>

ユーザーの変更

次に、変更リクエストのサンプルSPMLコードを示します。

<modifyRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
  <modification>
    <dsml:modification name="lastName" operation="replace">
      <dsml:value>Doe</dsml:value>
    </dsml:modification>
  </modification>
</modifyRequest>

次に、変更レスポンスのサンプルSPMLコードを示します。

<modifyResponse status="success" >
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</modifyResponse>

ユーザーの削除

次に、削除リクエストのサンプルSPMLコードを示します。

<deleteRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</deleteRequest>

次に、削除レスポンスのサンプルSPMLコードを示します。

<deleteResponse status="success" >
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</deleteResponse>

ユーザーの無効化

次に、一時停止リクエストのサンプルSPMLコードを示します。

<suspendRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</suspendRequest>

次に、一時停止レスポンスのサンプルSPMLコードを示します。

<suspendResponse status="success" >
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</suspendResponse>

ユーザーの有効化

次に、再開リクエストのサンプルSPMLコードを示します。

<resumeRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</resumeRequest>

次に、再開レスポンスのサンプルSPMLコードを示します。

<resumeResponse status="success" >
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</resumeResponse>

子表の挿入

次に、子表のデータ挿入のための入力を取得する変更リクエストのサンプルSPMLコードを示します。

<modifyRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
  <modification>
    <dsml:modification name="Group Membership" operation="add">
      <dsml:value>AdminOra, System Admins, USA </dsml:value>
    </dsml:modification>
  </modification>
</modifyRequest>


注意:

子表の操作には標準の形式はありません。このため、子データのプロビジョニングはSPMLの変更リクエストで処理されます。変更には、対応する子データセットと名前が同じ1つの属性が使用されます。フィールド値をXMLリクエスト・ファイルに配置する順序は、対応するフィールドが関連する子フォームに表示される順序と同じにする必要があります。前のXMLコード行ではデータセット名とフィールド値を太字で示しています。

これは、子表の更新操作や子表の削除操作で使用されるリクエストでも同様です。


次に、変更レスポンスのサンプルSPMLコードを示します。

<modifyResponse status="success" >
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</modifyResponse>

子表の更新

次に、子表のデータ更新のための入力を取得する変更リクエストのサンプルSPMLコードを示します。

<modifyRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
  <modification>
  <dsml:modification name="Group Membership" operation="replace">
      <dsml:value>AdminOra, System Admins, USA </dsml:value>
    </dsml:modification>
  </modification>
</modifyRequest>

次に、変更レスポンスのサンプルSPMLコードを示します。

<modifyResponse status="success" >
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</modifyResponse>

子表の削除

次に、子表のデータ削除のための入力を取得する変更リクエストのサンプルSPMLコードを示します。

<modifyRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
  <modification>
    <dsml:modification name="Group Membership" operation="delete">
      <dsml:value>AdminOra, System Admins, USA </dsml:value>
    </dsml:modification>
  </modification>
</modifyRequest>

次に、変更レスポンスのサンプルSPMLコードを示します。

<modifyResponse status="success" >
  <psoID ID="jdoe">
    <targetID ID="ADServer_124"/>
    <containerID ID="Contractors"/>
  </psoID>
</modifyResponse>

Webサービス・トランスポート・プロバイダ(プロビジョニング用)

このプロバイダのパラメータを次に示します。

また、ターゲットWebサービスは次の要件を満たす必要があります。

サンプル操作のシグネチャを次に示します。

public byte[] doProvisioning(byte[] requestData){

このサンプルでは操作名はdoProvisioningです。

検証プロバイダ

次の表に、このリリースのOracle Identity Managerに含まれる検証プロバイダを示します。

検証プロバイダ 説明
IsNotBlankOrNulll フィールド値がNULLまたは空白かをチェックします。
IsValidDate フィールド値が有効な日付かどうかをチェックします。
IsInRange フィールド値が最小値と最大値の対で指定された範囲内かどうかをチェックします。
IsByte フィールド値を基本型byteに変換できるかどうかをチェックします。
IsDouble フィールド値を基本型doubleに変換できるかどうかをチェックします。
IsFloat フィールド値を基本型floatに変換できるかどうかをチェックします。
IsInteger フィールド値を基本型integerに変換できるかどうかをチェックします。
IsLong フィールド値を基本型longに変換できるかどうかをチェックします。
IsShort フィールド値を基本型shortに変換できるかどうかをチェックします。
MatchRegexp フィールド値が指定の正規表現と一致するかどうかをチェックします。
MaxLength フィールド値の長さが指定値以下かどうかをチェックします。
MinLength フィールド値の長さが指定値以上かどうかをチェックします。