プライマリ・コンテンツに移動
Oracle® Identity Manager Generic RESTコネクタ・ガイド
リリース11.1.1
E79296-07
目次へ移動
目次

前
次

6 Generic RESTコネクタの機能拡張

コネクタを生成してインストールしたら、特定のビジネス要件に対処するように機能を拡張できます。

6.1 カスタム認証の実装

ターゲット・システムで、このコネクタでサポートされない認証メカニズムが使用されている場合は、ターゲット・システムで使用されている認証を実装し、このコネクタによって公開されるプラグインを使用してその認証をコネクタにアタッチする必要があります。カスタム認証の実装には、Javaクラスの作成、認証ヘッダーをマップの形式で返すMap<String, String> getAuthHeaders(Map<String, Object> authParams)メソッドのオーバーライド、新しいJavaクラスを含めるためのコネクタ・インストール・メディアの更新が含まれます。
認証ヘッダーの取得に必要となる可能性のある、ターゲット・システム構成と認証の詳細すべてが、特定のITリソース・パラメータを介してMap<String, String> getAuthHeaders(Map<String, Object> authParams)メソッドに渡されます。このコネクタによって公開されるすべての構成プロパティには、このメソッド内で"authParams"の一部としてアクセスできます。
カスタム認証を実装するには、次のようにします。
  1. カスタム認証を実装するためのJavaクラスを作成します。このクラスは、org.identityconnectors.restcommon.auth.spi.AuthenticationPluginインタフェースを実装する必要があります。
    このJavaクラスの名前を書き留めておきます。このJavaクラスは、本ドキュメントで後述する、ターゲット・システムのITリソースを構成する際に指定します。
  2. カスタムJavaクラスのMap<String, String> getAuthHeaders(Map<String, Object> authParams)メソッドをオーバーライドします。
    このメソッドは、認証ヘッダーをマップの形式({ Authorization = Bearer XXXXXXXXXX }など)で返すカスタム認証ロジックを実装する必要があります。認証ヘッダーには、ターゲットから受信したアクセス・トークンが含まれます。
  3. カスタム認証を実装するJavaクラスを、JARファイルにパッケージ化します。
  4. カスタム認証の実装を含むJARファイルをコネクタ・バンドルJARと一緒にパッケージ化するには、次のようにします。

    ノート:

    その他のカスタム実装用のJARがある場合は、すべてをパッケージ化するようにします。
    1. org.identityconnectors.genericrest-1.0.1115.jarファイルの内容を、一時ディレクトリに抽出します。このファイルは、GenericREST-RELEASE_NUMBER\bundle directoryにあります。
    2. (ステップ3の)カスタム認証が格納されたJARファイルをlibディレクトリにコピーします。
    3. 次のコマンドを実行して、コネクタ・バンドル(org.identityconnectors.genericrest-1.0.1115.jar)を再生成します。
      jar -cvfm org.identityconnectors.genericrest-1.0.1115.jar META-INF/MANIFEST.MF * 

      ノート:

      コネクタ・バンドルの更新中にMETA-INF\MANIFEST.MFファイルが変更されていないことを確認します。
  5. 再生成されたコネクタ・バンドルをアップロードする前に、Oracle Identity ManagerのJARの削除ユーティリティを実行して、Oracle Identity Managerデータベース内の既存のJARを削除します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。
    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/DeleteJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/DeleteJars.sh

    ユーティリティの実行時に、Oracle Identity Manager管理者のログイン資格情報、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、削除するJARファイルのタイプおよびJARファイルが削除される場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFバンドル)を指定します。

  6. Oracle Identity Manager JARアップロード・ユーティリティを実行して、再生成したコネクタ・バンドルをOracle Identity Managerデータベースにアップロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。
    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/UploadJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/UploadJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFバンドル)を指定します。

  7. Oracle Identity Managerを再起動します。
これで、カスタム認証の実装手順が完了しました。

6.2 カスタム解析の実装

デフォルトでは、コネクタはリコンシリエーションの実行中にJSON解析のみをサポートします。ターゲット・システムのリコンシリエーション・データがJSON形式でない場合は、使用するデータ形式に合わせてカスタム・パーサーの実装を作成する必要があります。

カスタム解析を実装するには、次のようにします。
  1. カスタム・パーサーを実装するためのJavaクラスを作成します。このクラスは、org.identityconnectors.restcommon.parser.spi.ParserPluginインタフェースを実装する必要があります。
    このJavaクラスの名前を書き留めておきます。このJavaクラスは、本ドキュメントで後述する、ターゲット・システムのITリソースを構成する際に指定します。
  2. カスタムJavaクラスのString parseRequest(Map<String, Object> attrMap)およびList<Map<String, Object>> parseResponse(String response, Map<String, String> parserConfigParams)のメソッドをオーバーライドします。
    String parseRequest(Map<String, Object> attrMap)メソッドは、属性を解析して文字列リクエスト・ペイロードを生成するロジックを実装します。
    List<Map<String, Object>> parseResponse(String response, Map<String, String> parserConfigParams)メソッドは、このクラスで、ターゲットから受け取った文字列レスポンスを解析するロジックを実装します。
  3. カスタム・パーサーを実装するJavaクラスを、JARファイルにパッケージ化します。
  4. カスタム・パーサーの実装を含むJARファイルをコネクタ・バンドルJARと一緒にパッケージ化するには、次のようにします。

    ノート:

    その他のカスタム実装用のJARがある場合は、すべてをパッケージ化するようにします。
    1. org.identityconnectors.genericrest-1.0.1115.jarファイルの内容を、一時ディレクトリに抽出します。このファイルは、GenericREST-RELEASE_NUMBER\bundle directoryにあります。
    2. (ステップ3の)カスタム認証が格納されたJARファイルをlibディレクトリにコピーします。
    3. 次のコマンドを実行して、コネクタ・バンドル(org.identityconnectors.genericrest-1.0.1115.jar)を再生成します。
      jar -cvfm org.identityconnectors.genericrest-1.0.1115.jar META-INF/MANIFEST.MF * 

      ノート:

      コネクタ・バンドルの更新中にMETA-INF\MANIFEST.MFファイルが変更されていないことを確認します。
  5. 再生成されたコネクタ・バンドルをアップロードする前に、Oracle Identity ManagerのJARの削除ユーティリティを実行して、Oracle Identity Managerデータベース内の既存のJARを削除します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。
    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/DeleteJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/DeleteJars.sh

    ユーティリティの実行時に、Oracle Identity Manager管理者のログイン資格情報、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、削除するJARファイルのタイプおよびJARファイルが削除される場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFバンドル)を指定します。

  6. Oracle Identity Manager JARアップロード・ユーティリティを実行して、再生成したコネクタ・バンドルをOracle Identity Managerデータベースにアップロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。
    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/UploadJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/UploadJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFバンドル)を指定します。

  7. Oracle Identity Managerを再起動します。
これで、カスタム・パーサーの実装手順が完了しました。

6.3 信頼できるソースのリコンシリエーション用のカスタムOIMユーザー・フィールドの追加

コネクタの生成中に、別名エントリの値を指定して、OIMの「ユーザー」フィールドと、対応するターゲット・システムのフィールドのマッピングを作成します。コネクタの生成後に、信頼できるソースのリコンシリエーション中に使用する追加のターゲット・システム・フィールドがある場合は、カスタムまたはユーザー定義フィールド(UDF)を作成して、一連のフィールドを拡張できます。
信頼できるソースのリコンシリエーション用に新規フィールドを追加するには、次のようにします。
  1. OIMユーザー・プロセス・フォームに新しいフィールドを追加します。UDF作成の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のカスタム属性の構成を参照してください。

    ノート:

    追加する新しいフィールドがOIMの「ユーザー」フィールドにすでにある場合、このステップをスキップし、次のステップに進みます。
  2. Design Consoleにログインします。
  3. リソース・オブジェクト定義で、属性に対応するリコンシリエーション・フィールドを次のように追加します。
    1. リソース管理フォルダを開き、リソース・オブジェクトをダブルクリックします。
    2. ターゲット・システムに対応するリソース・オブジェクトを検索して開きます。
    3. 「Object Reconciliation」タブで、「ADD Field」をクリックして、「Add Reconciliation Field」ダイアログ・ボックスを開きます。
    4. フィールド名となる値を指定します。たとえば、Buildingです。
    5. 「フィールド・タイプ」リストから、フィールドのデータ型を選択します。また、属性を必須属性として指定する場合は、そのためのチェック・ボックスを選択します。
    6. 「Save」アイコンをクリックしてダイアログ・ボックスを閉じます。
    7. 「保存」アイコンをクリックします。
  4. 次のようにして、リコンシリエーション・フィールド・マッピングをプロセス定義に作成します。
    1. 「プロセス管理」フォルダを開き、「プロセス定義」をダブルクリックします。
    2. ターゲット・システムに対応するプロセス定義を検索して開きます。
    3. 「リコンシリエーション・フィールド・マッピング」タブで、「フィールド・マップの追加」をクリックします。
    4. 「リコンシリエーション・フィールド・マッピングの追加」ダイアログ・ボックスの「フィールド名」リストから、リソース・オブジェクトに作成された属性に割り当てた名前を選択します。
    5. 「ユーザー属性」メニューから値を選択し、「OK」をクリックします。
    6. フィールド・マッピングがプロセス・データを照合するためのキー・フィールドである場合、「key Field for Reconciliation matching」チェック・ボックスを選択します。
    7. 「保存」アイコンをクリックします。
  5. 次のようにリコンシリエーション・プロファイルを作成します。
    1. 「リソース管理」フォルダを開き、「リソース・オブジェクト」をダブルクリックします。
    2. ターゲット・システムに対応するリソース・オブジェクトを検索して開きます。
    3. 「Object Reconciliation」タブで、「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。
    4. 「保存」アイコンをクリックします。
  6. リコンシリエーション属性マッピングの参照定義に、次のようにして属性のエントリを追加します。
    1. 「管理」を開き、「参照定義」をダブルクリックします。
    2. Lookup.RESOURCE.UM.ReconAttrMap参照定義を検索して開きます。
    3. 行を追加するには、追加をクリックします。
    4. 「Code Key」列に、リソース・オブジェクトの属性に対して設定した名前を入力します。たとえば、Buildingです。
    5. デコード列に、ターゲット・システム列の対応する名前を入力します。たとえば、Buildingです。
    6. 「保存」アイコンをクリックします。

6.4 ターゲット・リソースのリコンシリエーション用のカスタム・フィールドの追加

コネクタの生成中に、別名エントリの値を指定して、OIMの「ユーザー」フィールドと、対応するターゲット・システムのフィールドのマッピングを作成します。コネクタの生成後に、ターゲット・リソースのリコンシリエーション中に使用する追加のターゲット・システム・フィールドがある場合は、カスタムまたはユーザー定義フィールド(UDF)を作成して、一連のフィールドを拡張できます。
リコンシリエーション用にカスタム・フィールドを追加するには、次のようにします。
  1. Design Consoleにログインします。
  2. リソース・オブジェクト定義で、属性に対応するリコンシリエーション・フィールドを次のように追加します。
    1. 「リソース管理」フォルダを開き、「リソース・オブジェクト」をダブルクリックします
    2. ターゲット・システムに対応するリソース・オブジェクトを検索して開きます。
    3. 「Object Reconciliation」タブで、「ADD Field」をクリックして、「Add Reconciliation Field」ダイアログ・ボックスを開きます。
    4. フィールド名となる値を指定します。たとえば、Buildingです。
    5. 「フィールド・タイプ」リストから、フィールドのデータ型を選択します。また、属性を必須属性として指定する場合は、そのためのチェック・ボックスを選択します。
    6. 「Save」アイコンをクリックしてダイアログ・ボックスを閉じます。
    7. 「保存」アイコンをクリックします。
  3. リコンシリエーション属性マッピングの参照定義に、次のようにして属性のエントリを追加します。
    1. 「管理」を開き、「参照定義」をダブルクリックします
    2. Lookup.RESOURCE.UM.ReconAttrMap参照定義を検索して開きます。
    3. 行を追加するには、「追加」.をクリックします
    4. 「Code Key」列に、リソース・オブジェクトの属性に対して設定した名前を入力します。たとえば、Buildingです。
    5. デコード列に、ターゲット・システム列の対応する名前を入力します。たとえば、Buildingです。
    6. 「保存」アイコンをクリックします。
  4. 次のようにして、プロセス・フォームのフィールドとして属性を追加します。
    1. 「開発ツール」フォルダを開き、「フォーム・デザイナ」をダブルクリックします
    2. ターゲット・システムに対応するプロセス・フォームを検索して開きます。
    3. 「Create New Version」をクリックして、プロセス・フォームのバージョンを作成します。次に、バージョン名を入力し、「Save」アイコンをクリックします。
    4. 「追加」をクリックします。
    5. 新しく追加した行で、「名前」、バリアント型、フィールド・ラベルおよび「フィールド・タイプ」列に値を入力します。必要に応じて、その他の列にも値を入力します。

      ノート:

      • ターゲット・システムの属性が時間またはタイムスタンプ形式の場合、バリアント型列の値を「文字列」に設定します

      • ターゲット・システムの日付属性を日付エディタとして処理する場合、バリアント型列の値を「日付」に設定します それ以外の場合、「文字列」に設定します

    6. 「保存」アイコンをクリックします。
    7. 「Make Version Active」をクリックして、プロセス・フォームの新しいバージョンをアクティブ化します。
  5. 次のようにして、リコンシリエーション・フィールド・マッピングをプロセス定義に作成します。
    1. 「プロセス管理」フォルダを開き、「プロセス定義」をダブルクリックします
    2. ターゲット・システムに対応するプロセス定義を検索して開きます。
    3. 「リコンシリエーション・フィールド・マッピング」タブで、「フィールド・マップの追加」をクリックします
    4. 「リコンシリエーション・フィールド・マッピングの追加」ダイアログ・ボックスの「フィールド名」リストから、リソース・オブジェクトに作成された属性に割り当てた名前を選択します。
    5. 「Process Data Field」をダブルクリックすると、新しいポップアップが表示されます。ポップアップのエントリはプロセス・フォーム・フィールドに対応しています。
    6. ポップアップで、新たに追加された対応するフィールドを選択します。
    7. フィールド・マッピングがプロセス・データを照合するためのキー・フィールドである場合、「key Field for Reconciliation matching」チェック・ボックスを選択します。
    8. 「保存」アイコンをクリックします。
  6. 次のようにリコンシリエーション・プロファイルを作成します。
    1. 「リソース管理」フォルダを開き、「リソース・オブジェクト」をダブルクリックします
    2. ターゲット・システムに対応するリソース・オブジェクトを検索して開きます。
    3. 「Object Reconciliation」タブで、「Create Reconciliation Profile」をクリックします これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。
    4. 「保存」アイコンをクリックします。
  7. デザイン・コンソールのフォーム・デザイナに対するすべての変更(ステップ4)を、次のように新しいUIフォームで実行します。
    1. Oracle Identity System Administrationにログインします。
    2. サンドボックスを作成し、アクティブにします。「サンドボックスの作成およびアクティブ化」を参照してください。
    3. 新たに追加したフィールドと残りのフィールドを表示するために新しいUIフォームを作成します。UIフォームの新規作成を参照してください。
    4. 新たに作成したUIフォームをターゲット・システムのアプリケーション・インスタンスに関連付けます。そのためには、リソースに対する既存のアプリケーション・インスタンスを開いて、フォームフィールドからフォーム(ステップ7.cで作成済)を選択し、アプリケーション・インスタンスを保存します。
    5. サンドボックスを公開します。「サンドボックスの公開」を参照してください。
  8. プロビジョニングのために属性を追加します。「プロビジョニング用のカスタム・フィールドの追加」を参照してください。

6.5 プロビジョニング用のカスタム・フィールドの追加

コネクタを生成しているときに、「コネクタ・メタデータ・パッケージの生成およびインストール」で説明されている手順を実行して、aliasエントリの値を指定することによりOIMユーザー・フィールドと対応するターゲット・システム・フィールド(列)の間のマッピングを作成します。 プロビジョニング中に使用する必要のある追加のターゲット・システム・フィールドがある場合は、カスタムまたはユーザー定義フィールド(UDF)を作成して、一連の既存のフィールドを拡張できます。
プロビジョニング用に新しいユーザー定義フィールドを追加するには、次のようにします。
  1. 次のようにして、プロセス・フォームのフィールドとして属性を追加します。

    ノート:

    ターゲット・リソースのリコンシリエーション用のカスタム・フィールドの追加で説明した手順を実行している間にプロセス・フォームにすでにフィールドを追加している場合は、次のステップに直接進みます。
    1. 「開発ツール」,を開き、「フォーム・デザイナ」をダブルクリックします
    2. ターゲット・システムに対応するプロセス・フォームを検索して開きます。
    3. 「Create New Version」をクリックして、フォームのバージョンを作成します。次に、バージョン名を入力し、「Save」アイコンをクリックします。
    4. 「追加」をクリックします。
    5. 新しく追加した行で、「名前」、バリアント型、フィールド・ラベルおよび「フィールド・タイプ」列に値を入力します。必要に応じて、その他の列にも値を入力します。

      ノート:

      • ターゲット・システムの属性が時間またはタイムスタンプ形式の場合、バリアント型列の値を「文字列」に設定します

      • ターゲット・システムの日付属性を日付エディタとして処理する場合、バリアント型列の値を「日付」に設定します それ以外の場合、「文字列」に設定します

    6. 「保存」アイコンをクリックします。
    7. 「Make Version Active」をクリックして、プロセス・フォームの新しいバージョンをアクティブ化します。
  2. デザイン・コンソールのフォーム・デザイナに対するすべての変更(ステップ1)を、次のように新しいUIフォームで実行します。
    1. Oracle Identity System Administrationにログインします。
    2. サンドボックスを作成し、アクティブにします。「サンドボックスの作成およびアクティブ化」を参照してください。
    3. サンドボックスの作成およびアクティブ化で新たに追加されたフィールドをその他のフィールドとともに表示するためのUIフォームを新規作成します。UIフォームの新規作成を参照してください。
    4. 新たに作成したUIフォームをターゲット・システムのアプリケーション・インスタンスに関連付けます。そのためには、リソースに対する既存のアプリケーション・インスタンスを開いて、「フォーム」フィールドからフォーム(ステップ2.cで作成済)を選択し、アプリケーション・インスタンスを保存します。
    5. サンドボックスを公開します。「サンドボックスの公開」を参照してください。
  3. プロビジョニング属性マッピングの参照定義に、次のようにしてエントリを追加します。
    1. 「Administration」,を開き、「Lookup Definition」をダブルクリックします
    2. Lookup.RESOURCE.UM.ProvAttrMap参照定義を検索して開きます。
    3. 行を追加するには、「追加」をクリックします
    4. コード・キー列に、プロセス・フォームの属性に対するフィールド・ラベルを入力します。このフィールド名は、ステップ1を参照してください。
    5. デコード列に、ターゲット・システム列の対応する名前を入力します。たとえば、BUILDINGです。
    6. 「保存」アイコンをクリックします。
  4. 属性の更新を有効にするには、次のようにしてプロセス定義に更新プロセス・タスクを追加します。
    1. 「Process Management」,を開き、「Process Definition」をダブルクリックします
    2. ターゲット・システムに対応するプロセス定義を検索して開きます。
    3. 「タスク」タブで、「追加」をクリックします
    4. 表示されたダイアログ・ボックスの「全般」タブで、タスクの名前と説明を入力し、タスク・プロパティ・セクションから次のフィールドを選択します。
      • 条件付き

      • 完了に必須

      • 保留中の取消しを許可

      • 複数のインスタンスを許可

      ノート:

      名前はPROCESS_FORM_FIELD_NAME Updatedの書式で指定する必要があります。
    5. 「保存」アイコンをクリックします。
    6. 「統合」タブで、アカウントの更新プロビジョニング操作の実行に対応するアダプタをアタッチし、次の表に示すアダプタ変数をマップします。
      変数名 データ型 マップ先 修飾子 リテラル値

      processKeyInstance

      Long

      プロセス・データ

      プロセス・インスタンス

      該当なし

      アダプタ戻り値

      オブジェクト

      レスポンス・コード

      該当なし

      該当なし

      objectType

      文字列

      リテラル

      文字列

      ユーザー

      attrFieldName

      文字列

      リテラル

      文字列

      建物

      itResourceFieldName

      文字列

      リテラル

      文字列

      ITリソースのフォーム・フィールド名

    7. 「保存」アイコンをクリックします。
    8. 「Response」タブで、適切なレスポンスを追加します。
    9. 「保存」アイコンをクリックします。
    10. 「保存」アイコンをクリックしてダイアログ・ボックスを閉じます。
  5. リコンシリエーションのための属性の追加。
    プロセス・フォームに属性を追加するときは、ターゲット・システムでその属性の値のリコンシリエーションを有効にすることも必要です。「ターゲット・リソースのリコンシリエーション用のカスタム・フィールドの追加」 を参照してください。

6.6 ユーザー・リコンシリエーション中のデータ変換の構成

要件に応じて、リコンサイルされた単一値データの変換を構成できます。たとえば、「名」および「姓」値を使用して、Oracle Identity Managerの「氏名」フィールドの値を作成できます。

ノート:

この項ではオプションの手順を説明します。この手順は、リコンシリエーション時のデータの変換を構成する場合にのみ実行します。
データの変換を構成するには:
  1. 必要な変換ロジックをJavaクラスに実装するコードを記述します。
    次のサンプル変換クラスは、ターゲット・システムの「FIRST_NAME」および「LAST_NAME」列からフェッチした値を使用して、Full Name属性の値を作成します。
       package oracle.iam.connectors.common.transform;   
    
       import java.util.HashMap;   
    
       public class TransformAttribute {         
    
              /*       
              Description:Abstract method for transforming the attributes              
              
              param hmUserDetails<String,Object>          
     
              HashMap containing parent data details         
     
              param hmEntitlementDetails <String,Object>          
    
              HashMap containing child data details               
    
              */       
              public Object transform(HashMap hmUserDetails, HashMap hmEntitlementDetails,String sField) {       
              /*        
               * You must write code to transform the attributes.        
               Parent data attribute values can be fetched by         
               using hmUserDetails.get("Field Name").        
               *To fetch child data values, loop through the        
               * ArrayList/Vector fetched by hmEntitlementDetails.get("Child          Table")        
               * Return the transformed attribute.        
               */       
              String sFirstName= (String)hmUserDetails.get("First Name");       
              String sLastName= (String)hmUserDetails.get("Last Name");       
              String sFullName=sFirstName+"."+sLastName;       
              return sFullName;       
              } 
       } 
  2. Javaクラスを保持するJARファイルを作成します。
  3. Oracle Identity Manager JARアップロード・ユーティリティを実行して、JARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/UploadJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/UploadJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として1を指定します。

  4. 次のように変換用の参照定義を作成し、それにエントリを追加します。
    1. Design Consoleにログインします。
    2. 「Administration」,を開き、「Lookup Definition」をダブルクリックします
    3. コードフィールドに、参照定義の名前としてLookup.RESOURCE.UM.ReconTransformationを入力します。
    4. 「Lookup Type」オプションを選択します
    5. 参照コード情報タブで「追加」をクリックします。
      新しい行が追加されます。
    6. コード・キー列に、変換済の値を格納するリソース・オブジェクト・フィールド名を入力します。たとえば、FirstNameです。
    7. デコード列に、変換ロジックを実装するクラスの名前を入力します。たとえば、oracle.iam.connectors.common.transform.TransformAttributeです。
    8. 参照定義に変更を保存します。
  5. 次のように、Lookup.RESOURCE.UM.Configuration参照定義にエントリを追加して、変換を有効にします。
    1. 「Administration」,を開き、「Lookup Definition」をダブルクリックします
    2. Lookup.RESOURCE.UM.Configuration参照定義を検索して開きます。
    3. 次のように、変換に使用する参照定義の名前を保持するエントリを作成します。

      コード・キー: Recon Transformation Lookup

      デコード: Lookup.RESOURCE.UM.ReconTransformation

    4. 参照定義に変更を保存します。

6.7 リコンシリエーションおよびプロビジョニング中のデータ検証の構成

要件に応じて、リコンサイルおよびプロビジョニングされた単一値データの検証を構成できます。

たとえば、「FIRST_NAME」列からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。また、プロセス・フォームの「名」フィールドに入力したデータを検証して、プロビジョニング操作中にターゲット・システムに番号記号(#)が送信されないようにします。
検証チェックで合格しないデータについては、次のメッセージが表示されるか、ログ・ファイルに記録されます。

oracle.iam.connectors.icfcommon.recon.SearchReconTask : handle : Recon event skipped, validation failed [Validation failed for attribute: [FIELD_NAME]]

ノート:

この機能は、ターゲット・システムのロック/ロック解除ステータス属性には適用できません。
データの検証を構成するには:
  1. 必要な検証ロジックをJavaクラスに実装するコードを記述します。

    次のサンプル検証クラスは、「名」属性の値に番号記号(#)が含まれるかどうかを確認します。

    package com.validate; 
    import java.util.*; 
    public class MyValidation { 
    public boolean validate(HashMap hmUserDetails,               
                  HashMap hmEntitlementDetails, String field) {             
                /*          
             * You must write code to validate attributes. Parent          
             * data values can be fetched by using hmUserDetails.get(field)          
             * For child data values, loop through the          
             * ArrayList/Vector fetched by hmEntitlementDetails.get("Child Table")          
             * Depending on the outcome of the validation operation,           
             * the code must return true or false.          
             */          
             /*          
             * In this sample code, the value "false" is returned if the field          
             * contains the number sign (#). Otherwise, the value "true" is          
             * returned.          
             */             
                boolean valid=true;             
                String sFirstName=(String) hmUserDetails.get(field);             
                for(int i=0;i<sFirstName.length();i++){               
                  if (sFirstName.charAt(i) == '#'){                     
                        valid=false;                      
                        break;               
                  }              
                }             
                return valid;       
           } 
    }
  2. Javaクラスを保持するJARファイルを作成します。
  3. Oracle Identity Manager JARアップロード・ユーティリティを実行して、JARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/UploadJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/UploadJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として1を指定します。

  4. リコンシリエーションのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
    1. Design Consoleにログインします。
    2. 「Administration」,を開き、「Lookup Definition」をダブルクリックします
    3. 「コード」フィールドに、参照定義の名前としてLookup.RESOURCE.UM.ReconValidationを入力します。
    4. 「Lookup Type」オプションを選択します
    5. 参照コード情報タブで「追加」をクリックします。
      新しい行が追加されます。
    6. コード・キー列に、リソース・オブジェクト・フィールド名を入力します。たとえば、First Nameです。
    7. デコード列で、クラス名を入力します。たとえば、com.validate.MyValidationです。
    8. 参照定義に変更を保存します。
    9. Lookup.RESOURCE.UM.Configuration参照定義を検索して開きます。
    10. 次の値を使用してエントリを作成します。

      コード・キー: Recon Validation Lookup

      デコード: Lookup.RESOURCE.UM.ReconValidation

    11. 参照定義に変更を保存します。
  5. プロビジョニングのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
    1. Design Consoleにログインします。
    2. 「Administration」,を開き、「Lookup Definition」をダブルクリックします
    3. 「コード」フィールドに、参照定義の名前としてLookup.RESOURCE.UM.ProvValidationを入力します。
    4. 「Lookup Type」オプションを選択します
    5. 参照コード情報タブで「追加」をクリックします。
      新しい行が追加されます。
    6. 「Code Key」列に、プロセス・フォーム・フィールド名を入力します。デコード列で、クラス名を入力します。
    7. 参照定義に変更を保存します。
    8. Lookup.RESOURCE.UM.Configuration参照定義を検索して開きます。
    9. 次の値を使用してエントリを作成します。

      コード・キー: Provisioning Validation Lookup

      デコード: Lookup.RESOURCE.UM.ProvValidation

    10. 参照定義に変更を保存します。