9 ICFコネクタの構成

一般的なカスタマイズ手順は、すべてのICFコネクタに対して実行する必要があります。

この章では、すべてのICFコネクタに実行する必要のある一般的なカスタマイズ手順について説明します。

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

9.1 コネクタ・ロード・バランサの構成

コネクタ・サーバーは、アイデンティティ・コネクタのリモート実行を可能にするアプリケーションです。コネクタ・サーバーが複数ある場合、アイデンティティ・コネクタのリモート実行およびフェイルオーバー管理用にコネクタ・サーバーの高可用性を確保する必要があります。したがって、コネクタ・サーバー用のロード・バランサを構成する必要があります。

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

9.1.1 ロード・バランサ構成について

コネクタ・サーバーが複数ある場合、アイデンティティ・コネクタのリモート実行およびフェイルオーバー管理用にコネクタ・サーバーの高可用性を確保する必要があります。

図9-1にコネクタ・サーバーのクラスタの一般的な構成を示します。図のフローは、必須のコネクタ・バンドルがすべてのコネクタ・サーバー間にデプロイされているという仮定に基づいています。

図9-1 コネクタ・サーバーのロード・バランサ

図9-1の説明が続きます
「図9-1 コネクタ・サーバーのロード・バランサ」の説明

9.1.2 コネクタ・サーバーのロード・バランサの構成

コネクタ・サーバー用にロード・バランサを構成するには、コネクタ・サーバーのITリソースをロード・バランサでデプロイされたホストに指定します。

コネクタ・サーバーのロード・バランサを構成するには:

  1. コネクタ・バンドルが含まれているノードにコネクタ・サーバーをインストールします。これには、すべてのノードのサーバー・バイナリのコピーおよび実行が含まれています。
  2. ステップ1で作成したノード全体で、ポート8759 (コネクタ・サーバーのデフォルトで構成可能)のすべてのリクエストがロード・バランシングされるようにロード・バランサを設定します。
  3. コネクタ・サーバーのITリソースを作成して、ロード・バランサでデプロイされたホストに指定します。
  4. 次の詳細を使用して、コネクタITリソースを構成します。
    • ホスト: ターゲット・アドレス

    • コネクタ・サーバー名: ステップ3で作成した名前を使用します。

      ノート:

      ダブルクリックして、ロード・バランサの受信ポートがコネクタ・サーバーのITリソースの受信ポートと同じであることを確認する必要があります。また、クラスタ・ノードに設定されたポートがロード・バランサの構成に使用されたポートと一致することも確認する必要があります。

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

リコンシリエーションおよびプロビジョニング中のデータ検証を構成するには、Javaクラスに検証ロジックを実装します。

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

9.2.1 リコンシリエーションおよびプロビジョニング中のデータ検証について

Lookup.CONNECTOR_NAME.ProvValidationsおよびLookup.CONNECTOR_NAME.UM.ReconValidations参照定義は、プロビジョニングおよびリコンシリエーション操作中に検証される単一値データを保持します。

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

ノート:

Lookup.CONNECTOR_NAME.UM.ProvValidationsおよびLookup.CONNECTOR_NAME.UM.ReconValidations参照定義はオプションで、デフォルトでは存在しません。

これらの参照をデコード値としてLookup.CONNECTOR_NAME.UM.Configuration参照定義に追加して、プロビジョニングおよびリコンシリエーション操作中に除外を有効にする必要があります。ユーザー操作への参照定義の設定の詳細は、それぞれのコネクタ・ガイドを参照してください。

9.2.2 データ検証の構成

リコンシリエーションおよびプロビジョニング中のデータ検証を構成するには、検証クラスに検証メソッドを実装し、データ検証の参照定義を作成し、検証クラスJARファイルをデータベースにアップロードします。

データの検証を構成するには:

  1. org.identityconnectors.CONNECTOR_NAME.extension.CONNECTOR_NAMEValidatorなどの完全修飾ドメイン名(FQDN)を持つJavaクラスで必須の検証ロジックを実装するコードを記述します。

    この検証クラスには、検証メソッドを実装する必要があります。「名」属性の値に番号記号(#)が含まれるかどうかを確認するサンプル検証クラスについては、サンプル検証クラスを参照してください。

  2. Design Consoleにログインします。
  3. 次のいずれかの新しい参照定義を作成します。
    • リコンシリエーション用のデータの検証を構成するには:

      Lookup.CONNECTOR_NAME.UM.ReconValidations

    • プロビジョニング用のデータの検証を構成するには:

      Lookup.CONNECTOR_NAME.UM.ProvValidations

  4. コード・キー列で、検証するリソース・オブジェクト・フィールド名を入力します。たとえば、Aliasです。
  5. デコード列で、クラス名を入力します。たとえば、org.identityconnectors.CONNECTOR_NAME.extension.CONNECTOR_NAMEValidatorです。
  6. 参照定義に変更を保存します。
  7. Lookup.CONNECTOR_NAME.UM.Configuration参照定義を検索して開きます。
  8. コード・キー列で、次のエントリのいずれかを入力します。
    • リコンシリエーション用のデータの検証を構成するには:

      リコンシリエーション検証参照

    • プロビジョニング用のデータの検証を構成するには:

      プロビジョニング検証参照

  9. 「Decode」列で、次のエントリのいずれかを入力します。
    • リコンシリエーション用のデータの検証を構成するには:

      Lookup.CONNECTOR_NAME.UM.ReconValidations

    • プロビジョニング用のデータの検証を構成するには:

      Lookup.CONNECTOR_NAME.UM.ProvValidations

  10. 参照定義に変更を保存します。
  11. クラスを使用してJARを作成し、次のようにOracle Identity Managerデータベースにアップロードします。

    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を選択します。

    関連項目:

    JARアップロード・ユーティリティの詳細は、JARおよびリソース・バンドルの移行を参照してください

  12. PurgeCacheユーティリティを実行して、サーバー・キャッシュからのデータセットのリクエストに関連するコンテンツをクリアします。
  13. リコンシリエーションまたはプロビジョニングを実行して、Aliasなどのフィールドの検証を確認します。

9.2.3 サンプル検証クラス

サンプル検証クラスに検証メソッドを実装できます。

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

package com.validationexample;

import java.util.HashMap;
 
public class MyValidator {
    public boolean validate(HashMap hmUserDetails, HashMap hmEntitlementDetails, String sField) throws ConnectorException {
 
        /* 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(sField);
        for (int i = 0; i < sFirstName.length(); i++) {
            if (sFirstName.charAt(i) == '#') {
                valid = false;
                break;
            }
        }
        return valid;
 
    }
}

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

ユーザー・リコンシリエーション中のデータ変換を構成するには、変換クラスに変換メソッドを実装します。

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

9.3.1 ユーザー・リコンシリエーション中のデータ変換について

Lookup.CONNECTOR_NAME.UM.ReconTransformations参照定義は、リコンシリエーション操作中に変換される単一値のユーザー・データを保持します。

たとえば、「名」および「姓」値を使用して、Oracle Identity Managerの「氏名」フィールドの値を作成できます。

ノート:

Lookup.CONNECTOR_NAME.UM.ReconTransformations参照定義は、オプションでデフォルトでは存在しません。

この参照をデコード値としてLookup.CONNECTOR_NAME.UM.Configuration参照定義に追加して、プロビジョニングおよびリコンシリエーション操作中に除外を有効にする必要があります。ユーザー操作への参照定義の設定の詳細は、それぞれのコネクタ・ガイドを参照してください。

9.3.2 リコンシリエーション中にフェッチした単一値のユーザー・データの変換の構成

リコンシリエーション中にフェッチした単一値のユーザー・データの変換を構成するには、変換クラスに変換メソッドを実装し、参照定義を作成し、変換クラスJARファイルをデータベースにアップロードします。

リコンシリエーション中にフェッチした単一値のユーザー・データの変換を構成するには:

  1. org.identityconnectors.CONNECTOR_NAME.extension.CONNECTOR_NAMETransformationなどの完全修飾ドメイン名(FQDN)を持つJavaクラスで必須の変換ロジックを実装するコードを記述します。

    この変換クラスは、変換メソッドを実装する必要があります。ターゲット・システムの「名」および「姓」属性からフェッチした値を使用して、「氏名」属性の値を作成するサンプル変換クラスについては、サンプル変換クラスを参照してください。

  2. Design Consoleにログインします。
  3. 新しい参照定義Lookup.CONNECTOR_NAME.UM.ReconTransformationsを作成します。
  4. コード・キー列に、変換するリソース・オブジェクト・フィールド名を入力します。たとえば、Aliasです。
  5. デコード列で、クラス名を入力します。たとえば、org.identityconnectors.CONNECTOR_NAME.extension.CONNECTOR_NAMETransformationです。
  6. 参照定義に変更を保存します。
  7. Lookup.CONNECTOR_NAME.UM.Configuration参照定義を検索して開きます。
  8. コード・キー列に、リコンシリエーション変換参照を入力します。
  9. デコード列に、Lookup.CONNECTOR_NAME.UM.ReconTransformationsを入力します。
  10. 参照定義に変更を保存します。
  11. クラスを使用してJARを作成し、次のようにOracle Identity Managerデータベースにアップロードします。

    Oracle Identity Manager JARアップロード・ユーティリティを実行して、ステップ7で作成した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を選択します。

    関連項目:

    このユーティリティの詳細は、JARおよびリソース・バンドルの移行を参照してください。

  12. PurgeCacheユーティリティを実行して、サーバー・キャッシュからのデータセットのリクエストに関連するコンテンツをクリアします。
  13. リコンシリエーションを実行して、Aliasなどのフィールドの変換を検証します。

9.3.3 サンプル変換クラス

変換クラスに変換メソッドを実装できます。

次のサンプル変換クラスは、ターゲット・システムの「名」および「姓」属性からフェッチした値を使用して、「氏名」属性の値を作成します。

package com.transformationexample;

import java.util.HashMap;
 
 
public class MyTransformer {
    public Object transform(HashMap hmUserDetails, HashMap hmEntitlementDetails, String sField) throws ConnectorException {
        /*
        * 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");
        return sFirstName + "." + sLastName;
 
    }
}

9.4 リソース除外リストの構成

Lookup.CONNECTOR_NAME.UM.ProvExclusionListおよびLookup.CONNECTOR_NAME.UM.ReconExclusionList参照定義は、プロビジョニングおよびリコンシリエーション操作を実行しないターゲット・システム・アカウントのユーザーIDを保持します。

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

9.4.1 リソース・エスキューション・リストについて

プロビジョニング操作およびリコンシリエーション操作のためのリソース・エスキューション・リストを作成するには、Lookup.CONNECTOR_NAME.UM.ProvExclusionList参照およびLookup.CONNECTOR_NAME.UM.ReconExclusionList参照をデコード値としてLookup.CONNECTOR_NAME.UM.Configuration参照定義に追加します。

Lookup.CONNECTOR_NAME.UM.ProvExclusionListおよびLookup.CONNECTOR_NAME.UM.ReconExclusionList参照定義は、プロビジョニングおよびリコンシリエーション操作を実行しないターゲット・システム・アカウントのユーザーIDを保持します。

Lookup.CONNECTOR_NAME.UM.ProvExclusionListおよびLookup.CONNECTOR_NAME.UM.ReconExclusionList参照定義はオプションで、デフォルトでは存在しません。

これらの参照をデコード値としてLookup.CONNECTOR_NAME.UM.Configuration参照定義に追加して、プロビジョニングおよびリコンシリエーション操作中に除外を有効にする必要があります。ユーザー操作への参照定義の設定の詳細は、それぞれのコネクタ・ガイドを参照してください。

9.4.2 参照に格納される値の形式

参照に格納される値としてデコード・キー値を入力します。

これらの参照に格納されている値の形式は次のとおりです。

コード・キー デコード サンプル値

ユーザー・ログインIDリソース・オブジェクト・フィールド名

ユーザーのUser ID

コード・キー: ユーザー・ログインID

デコード: User001

[PATTERN]接尾辞を持つユーザー・ログインIDリソース・オブジェクト・フィールド名

java.util.regex.Patternクラスの表現によってサポートされる正規表現

コード・キー: ユーザー・ログインID[PATTERN]

ユーザーID User001、User002、User088のいずれかに一致するユーザーを除外するには:

デコード: User001|User002|User088

ユーザーIDが00012で始まるユーザーを除外するには:

デコード: 00012*

関連項目: サポートされているパターンについては、次を参照してください。

http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

9.4.3 除外する参照へのエントリの追加

プロビジョニング操作中に除外する参照内のエントリは、Design Consoleの「参照定義」フォームから追加されます。

プロビジョニング操作中に除外する参照にエントリを追加するには:

  1. Design Consoleで、「Administration」を開き、「Lookup Definition」をダブルクリックします。
  2. 新しい参照定義Lookup.CONNECTOR_NAME.UM.ProvExclusionListを作成します。

    ノート:

    リコンシリエーション操作中に除外するユーザーIDを指定するには、Lookup.CONNECTOR_NAME.UM.ReconExclusionListという新しい参照定義を作成して、その参照にエントリを追加します。

  3. 「追加」をクリックします。
  4. コード・キーおよびデコード列に、除外する1つ目のユーザーIDを入力します。

    ノート:

    コード・キーはプロビジョニング操作中に適用される除外リストのリソース・オブジェクト・フィールド名を表します。

  5. 除外する残りのユーザーIDにステップ3および4を繰り返します。

    たとえば、ユーザーIDがUser001、User002およびUser088のユーザーをプロビジョニングしない場合、参照定義に次の値を移入します。

    コード・キー デコード

    ユーザー・ログインID

    User001

    ユーザー・ログインID

    User002

    ユーザー・ログインID

    User088

    また、パターン一致を実行して、ユーザー・アカウントを除外することもできます。java.util.regex.Patternクラスの表現によってサポートされる正規表現を指定できます。

    関連項目:

    サポートされるパターンの詳細は、http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.htmlを参照してください。

    たとえば、ユーザーIDがUser001、User002およびUser088に一致するユーザーをプロビジョニングしない場合、参照定義に次の値を移入します。

    コード・キー デコード

    ユーザー・ログインID[PATTERN]

    User001|User002|User088

    ユーザーIDが00012から始まるユーザーをプロビジョニングしない場合は、次の値で参照定義を移入します。

    コード・キー デコード

    ユーザー・ログインID[PATTERN]

    00012*

  6. 「保存」をクリックします。

9.5 SSL通信の構成

コネクタ・サーバーとOracle Identity Manager間のSSL通信の構成およびトラブルシューティングを行います。

この項では、コネクタ・サーバーとOracle Identity Manager間でSSL通信を構成する方法について説明します。次の項目が含まれます。

9.5.1 コネクタ・サーバーおよびOracle Identity GovernanceのSSLの設定

各SSL対応コネクタ・サーバーとの接続を確立するときには、SSL接続が必要になります。

コネクタ・サーバーおよびOracle Identity Manager間でのSSL通信を設定するには:

  1. 新しいSSLキーを生成します(または、既存のキーを再利用することもできます):

    keytool -genkey -alias keyconnserv -keyalg dsa -keystore <yourKeyStore.jks> -storepass <yourPassword> -validity 360
    
  2. 新しく生成した公開キーをエクスポートします。

    keytool -export -keystore <yourKeyStore.jks> -storepass <yourPassword> -alias keyconnserv -file icfkey-public.cer
    
  3. SSLにコネクタ・サーバーを構成して、ステップ1で設定した新しいキーストアを使用して開始します。

  4. ステップ2で生成した公開キー(icfkey-public.cer)をOIMキーストアにインポートします。

  5. ホスト、ポートなどのITリソースを構成します。これらのパラメータは、コネクタ・サーバー(ITリソースの追加フィールド)に渡されます。

  6. SSLを使用してコネクタ・サーバーを構成します:

    1. コネクタ・サーバーのシステムにSSL証明書をデプロイします。

    2. SSLソケットを提供するようにコネクタ・サーバーを構成します。

    3. SSLを使用してコネクタ・サーバーと通信するようにアプリケーションを構成します。

      アイデンティティ・コネクタ・サーバーとの接続構成に固有のノートは、ターゲット・システムのマニュアルを参照してください。各SSL対応コネクタ・サーバーとの接続を確立するときにはSSL接続が必要になることをアプリケーションに指示します。さらに、コネクタ・サーバーで使用されるSSL証明書のいずれかが非標準認証局によって発行される場合は、追加の認証局を考慮するようにアプリケーションを構成する必要があります。認証局に関するノートは、該当するマニュアルを参照してください。

      ノート:

      Javaアプリケーションにおいて非標準認証局に関する問題を解決するには、アプリケーションの起動時に次のJavaシステム・プロパティが渡されるようにします。

      • javax.net.ssl.trustStorePassword

        たとえば:

        -Djavax.net.ssl.trustStorePassword=PASSWORD

      • javax.net.ssl.trustStore

        たとえば:

        -Djavax.net.ssl.trustStore=/usr/myApp_cacerts

      また、非標準認証局を標準の${JAVA_HOME}/lib/security/cacertsディレクトリにインポートすることもできます。

  7. ステップ2で生成した公開キーをOIMキーストアにインポートします。

    デフォルトのWeblogicキーストアの選択を継続する場合、次を実行します。

    keytool -import -trustcacerts -alias icfkey -file icfkey-public.cer -keystore <pathToYouKeystore>
    

    デフォルトのWeblogicキーストアの例は、server/lib/DemoTrust.jks and server/lib/DemoIdentity.jksです。

9.5.2 SSLのトラブルシューティング

SSL構成に関連する問題をトラブルシューティングするには、構成フォルダ内のコネクタ・サーバー・ログおよびコネクタ・サーバー設定を使用します。

コネクタ・サーバー・ログの例外の例を次に示します。

java.net.SocketException: Default SSL context init failed: null

これは、キーストアへのパスが不正であることを意味します。この例外を処理するには、次のフル/絶対パスを指定します。

UNIXの場合

./connectorserver.sh /run "-J-Djavax.net.ssl.keyStore=/path/to/mykeystore.jks" "-J-Djavax.net.ssl.keyStorePassword=PASSWORD"

Windowsの場合

./connectorserver.sh /run "-J-Djavax.net.ssl.keyStore=C:\path\to\mykeystore.jks" "-J-Djavax.net.ssl.keyStorePassword=PASSWORD"

また、次のチェック・ポイントを確認する必要があります。

  • SSLを使用するコネクタ・サーバー構成の設定の構成フォルダを確認します。

  • 公開キーがOIMキーストアに存在する場合、コネクタ・サーバーから公開キーをインポートした後、WLSを再起動します。

9.6 ターゲット・システム属性の追加

ターゲット・システム属性を追加するには、プロビジョニング用の属性の追加、ターゲット・リソースのリコンシリエーション、信頼できるソースのリコンシリエーションなどを行います。

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

ノート:

データ型フィールドに属性を追加する場合、参照定義コード・キーに[Date]接尾辞を追加してください。

たとえば、_LAST_PASSWORD_CHANGE_DATE_を追加した場合、Lookup.CONNECTOR_NAME.UM.ReconAttrMapまたはLookup.CONNECTOR_NAME.UM.ProvAttrMapのコード・キーに変更を行う際に、次のように属性を指定します。

_LAST_PASSWORD_CHANGE_DATE_[Date]

9.6.1 プロビジョニングに関するターゲット・システム属性の追加

デフォルトでは、ターゲット・システム属性が、Oracle Identity Managerとターゲット・システム間のプロビジョニング用にマップされます。

この項で説明しているステップを実行して、追加属性をプロビジョニング用にマップできます。

ノート:

この項では、属性という用語はユーザー・データを格納するIDデータ・フィールドを指します。

プロビジョニング用にターゲット・システム属性を追加するには、次の操作を実行します。

9.6.1.1 新しいフォーム・フィールドの追加

プロセス・フォームに新しいフォーム・フィールドを追加するには:

  1. 「フォーム・デザイナ」フォームを開きます。このフォームは、Oracle Identity Manager Design Consoleの「Development Tools」フォルダ内にあります。
  2. UD_CONNECTOR_NAMECONフォームを問い合せます。
  3. 「Create New Version」をクリックします「Create a New Version」ダイアログ・ボックスが表示されます。
  4. 「Label」フィールドで、バージョンの名前を入力します。
  5. 「Save」をクリックして、ダイアログ・ボックスを閉じます。
  6. 「Current Version」ボックスから、ステップ4の「Label」フィールドに入力したバージョン名を選択します。
  7. 「Additional Columns」タブで、「Add」をクリックします
  8. 新しいフィールド名とその他の値を指定します。
  9. 「保存」をクリックします。
  10. 「Make Version Active」をクリックして、新しいフォーム・フィールドをユーザーに表示します。

    Oracle Identity Managerに移動して、コネクタに新しいユーザーをプロビジョニングする場合、新しいフォーム・フィールドを表示する必要があります。次に、プロビジョニング・マッピング参照に新しいフォーム・フィールドを追加する必要があります。

9.6.1.2 プロビジョニング・マッピング参照への新しいフィールドの追加

新しいフォーム・フィールドの作成後、そのフィールドをプロビジョニング・マッピング参照に追加する必要があります。そのように行うには:

  1. 「管理」を展開し、「参照定義」をダブルクリックします。
  2. 「参照定義」ウィンドウで、CONNECTOR_NAMEを検索します。

    Design Consoleは、Lookup.CONNECTOR_NAME.UM.ProvAttrMapを返します。

  3. 参照定義表タブを選択して、Lookup.CONNECTOR_NAME.UM.ProvAttrMapを選択します。

    参照コード情報タブは、Oracle Identity Managerのフォーム・フィールド名およびCONNECTOR_NAMEアイデンティティ・コネクタ属性をマップします。コード・キー列には、Oracle Identity Managerフィールド・ラベルが含まれており、デコード列には、CONNECTOR_NAMEアイデンティティ・コネクタによってサポートされる属性名が含まれています。

  4. 新しいフォーム・フィールドに新しいレコードを追加します。コード・キー列に新しいフォーム・フィールド名を入力し、デコード列にCONNECTOR_NAMEアイデンティティ・コネクタ属性名を入力します。
  5. 「保存」をクリックします。

    新しいCONNECTOR_NAMEユーザーを作成する場合、作成操作の一部として、コネクタは新しい属性を取得します。

    この時点では、プロセス・タスクでは作成のみを処理します。次に、プロセス・タスクを変更して、更新も処理できるようにする必要があります。ステップは次のとおりです。

9.6.1.3 更新を処理するためのプロセス・タスクの変更

更新を処理するようにプロセス・タスクを変更するには:

  1. Design Consoleで、「Process Management」を展開してから、「Process Definition」をダブルクリックします。
  2. プロセスCONNECTOR_NAME Userを検索および選択します。
  3. 「Task」列で、そのエントリを追加および選択する更新タスクと同様な更新タスクを検索します。
  4. 「追加」をクリックします。
  5. 「Creating New Task」ダイアログで「General」タブを選択して、タスク名およびタスクの説明を入力します。

    「Task Name」はフォーム名フィールドとなるため重要です。タスクで処理するイベントが含まれていることを確認します。たとえば、プロビジョニングにBuildingフィールドを追加する場合は、Building Updatedタスクを追加します。この更新イベントは、Buildingフィールドが更新される際にトリガーされます。

  6. 「タスク・プロパティ」セクションで、次に示されているようにプロパティを設定します。

    -条件付き: 有効

    -完了に必須: 無効

    -手動挿入不可: 無効

    -保留中の取消しを許可: 有効

    -複数のインスタンスを許可: 有効

    残りのプロパティを変更する必要はありません。

  7. 変更を保存します。
  8. イベント・ハンドラを追加するには、「Integration」タブを選択してから、「Add」をクリックします。
  9. ハンドラの選択ダイアログ・ボックスが表示されたら、ハンドラ・タイプとして「アダプタ」を選択し、アダプタ変数のマッピングで説明されているステップを実行します。
  10. 「Creating New Task」ダイアログを保存して閉じます。
  11. 「Process Definition」タブの「Task」列を確認して、新しいプロセス・タスクがリストされていることを確認します。また、新しいフォーム・フィールドが使用可能で、Oracle Identity Managerで動作していることも確認します。
9.6.1.4 アダプタ変数のマッピング

アダプタ変数をマップするには:

  1. アダプタadpCONNECTOR_NAMECONNECTORUPDATEATTRIBUTEVALUEを選択して、「保存」をクリックします。
  2. イベント・アダプタに構成されているすべての変数をマップします。
  3. 「Adapter Variable」セクションで、変数名をダブルクリックして、「Edit Data Mapping For Variable」ダイアログ・ボックスを開きます。変数ごとに次の値を順番に指定します。マッピング後には、必ず変更を保存してください。
    変数名 マップ先 修飾子 リテラル値

    itResourceFieldName

    リテラル

    文字列

    UD_CONNECTOR_NAMECON_SERVER

    processInstanceKey

    プロセス・データ

    プロセス・インスタンス

    アダプタ戻り値

    レスポンス・コード

    objectType

    リテラル

    文字列

    ユーザー

    attrName

    リテラル

    文字列

    新しいラベルを入力します。

9.6.2 ターゲット・リコンシリエーションに関するターゲット・システム属性の追加

デフォルトでは、ターゲット・システム属性が、Oracle Identity Managerとターゲット・システム間のリコンシリエーション用にマップされます。

必要に応じて、この項で説明されているように、追加属性をターゲット・リコンシリエーション用にマップできます。

ノート:

  • この手順は、リコンシリエーションに新しいターゲット・システム属性を追加する場合にのみ実行します。

  • 次のステップでは、BUILDINGという新しい属性が追加され、そのコネクタ属性名はBUILDINGで、フォーム・フィールド名はBuildingです。名前は、大文字と小文字が区別されます。

ターゲット・リコンシリエーション用にターゲット・システム属性を追加するには、次のステップに従います。

  1. 次のようにして、リソース・オブジェクトの定義に、新しい属性に対応するリコンシリエーション・フィールドを追加します。

    1. 「リソース・オブジェクト」フォームを開きます。このフォームは「Resource Management」フォルダにあります。

    2. 「Query for Records」をクリックします。

    3. 「リソース・オブジェクト表」タブで、CONNECTOR_NAME Userリソース・オブジェクトをクリックし、編集のために開きます。

    4. 「Object Reconciliation」タブで、「ADD Field」をクリックして、「Add Reconciliation Field」ダイアログ・ボックスを開きます。

    5. フィールド名の値、つまりフォームの新しい属性の名前を指定します。

      たとえば: Building

    6. 「フィールド・タイプ」リストから、フィールドのデータ型を選択します。

      たとえば: String

    7. 入力した値を保存し、ダイアログ・ボックスを閉じます。

    8. 必要に応じて、ステップdからgを繰り返してフィールドをさらにマップします。

    9. 「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。

  2. 対応するフィールドがプロセス・フォームに存在しない場合は、次のように、プロセス・フォームに新しい列を追加します。

    1. 「フォーム・デザイナ」フォームを開きます。このフォームは「Development tools」フォルダにあります。

    2. UD_CONNECTOR_NAMECONフォームを問い合せます。

    3. 「新しいバージョンの作成」をクリックします。「Create a New Version」ダイアログ・ボックスが表示されます。

    4. 「ラベル」フィールドで、バージョンの名前を入力します。

    5. 「Save」をクリックして、ダイアログ・ボックスを閉じます。

    6. 「現行バージョン」ボックスから、ステップ3の「ラベル」フィールドに入力したバージョン名を選択します。

    7. 「Additional Columns」タブで、「Add」をクリックします。

    8. 「名前」フィールドに、データ・フィールドの名前を入力してから、フィールドのその他の詳細を入力します。

      ノート: 属性をさらに追加する場合は、ステップgおよびhを繰り返します。

    9. 「保存」をクリックして、バージョンをアクティブにするをクリックします。

  3. プロセス定義を修正して、新しく追加された属性と、対応するリコンシリエーション・フィールドとの間のマッピングを追加します。

    1. 「プロセス定義」フォームを開きます。このフォームはDesign Consoleの「Process Management」フォルダにあります。

    2. 「Query for Records」アイコンをクリックします。

    3. プロセス定義表タブで、CONNECTOR_NAME Userプロセス定義をダブルクリックします。

    4. 「Reconciliation Field Mappings」タブで、「Add Field Map」をクリックして、「Add Reconciliation Field Mapping」ダイアログ・ボックスを開きます。

    5. 「フィールド名」リストから、ステップ2eで追加したリソース・オブジェクトの名前を選択します。

    6. プロセス・データ・フィールドをダブルクリックし、「検索」ダイアログ・ボックスから対応するプロセス・フォーム・フィールドを選択します。次に、「OK」をクリックします。

    7. 「Save」をクリックして、ダイアログ・ボックスを閉じます。

    8. 必要に応じて、ステップcからgを繰り返してフィールドをさらにマップします。

  4. リコンシリエーション参照Lookup.CONNECTOR_NAME.UM.ReconAttrMapに移動して、次の値を使用して新しい属性に新しいレコードを追加します。

    • コード・キー - リコンシリエーション・フィールドの名前

    • デコード - CONNECTOR_NAME属性の名前

  5. Design Consoleで、リソース・オブジェクトにリコンシリエーション・プロファイルを再生成します。

9.6.3 信頼できるリコンシリエーションに関するターゲット・システム属性の追加

デフォルトでは、信頼できるソース・リコンシリエーションの属性が、Oracle Identity Managerとターゲット・システム間にマップされます。

必要に応じて、この項で説明されているように、追加属性を信頼できるリコンシリエーション用にマップできます。

ノート:

  • この手順は、リコンシリエーションに新しいターゲット・システム属性を追加する場合にのみ実行します。

  • 次のステップでは、BUILDINGという新しい属性が追加され、そのコネクタ属性名はBUILDINGで、フォーム・フィールド名はBuildingです。名前は、大文字と小文字が区別されます。

信頼できるリコンシリエーション用にターゲット・システム属性を追加するには、次のステップに従います。

  1. 次のようにして、リソース・オブジェクトの定義に、新しい属性に対応するリコンシリエーション・フィールドを追加します。

    1. 「リソース・オブジェクト」フォームを開きます。このフォームは「Resource Management」フォルダにあります。

    2. 「Query for Records」をクリックします。

    3. 「リソース・オブジェクト表」タブで、CONNECTOR_NAME Trusted Userリソース・オブジェクトをクリックし、編集のために開きます。

    4. 「Object Reconciliation」タブで、「ADD Field」をクリックして、「Add Reconciliation Field」ダイアログ・ボックスを開きます。

    5. フィールド名の値、つまりフォームの新しい属性の名前を指定します。

      たとえば: Building

    6. 「フィールド・タイプ」リストから、フィールドのデータ型を選択します。

      たとえば: String

    7. 入力した値を保存し、ダイアログ・ボックスを閉じます。

    8. 必要に応じて、ステップdからgを繰り返してフィールドをさらにマップします。

    9. 「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。

  2. 対応するフィールドがプロセス・フォームに存在しない場合は、次のように、プロセス・フォームに新しい列を追加します。

    1. 「フォーム・デザイナ」フォームを開きます。このフォームは「Development tools」フォルダにあります。

    2. UD_CONNECTOR_NAMECONフォームを問い合せます。

    3. 新しいバージョンの作成をクリックします。「Create a New Version」ダイアログ・ボックスが表示されます。

    4. 「ラベル」フィールドで、バージョンの名前を入力します。

    5. 「Save」をクリックして、ダイアログ・ボックスを閉じます。

    6. 「現行バージョン」ボックスから、ステップ3の「ラベル」フィールドに入力したバージョン名を選択します。

    7. 「Additional Columns」タブで、「Add」をクリックします。

    8. 「名前」フィールドに、データ・フィールドの名前を入力してから、フィールドのその他の詳細を入力します。

      ノート: 属性をさらに追加する場合は、ステップgおよびhを繰り返します。

    9. 「Save」をクリックし、「Make Version Active」をクリックします。

  3. プロセス定義を修正して、新しく追加された属性と、対応するリコンシリエーション・フィールドとの間のマッピングを追加します。

    1. 「プロセス定義」フォームを開きます。このフォームはDesign Consoleの「Process Management」フォルダにあります。

    2. 「Query for Records」アイコンをクリックします。

    3. プロセス定義表タブで、CONNECTOR_NAME Trusted Userプロセス定義をダブルクリックします。

    4. リコンシリエーション・フィールド・マッピング・タブで、フィールド・マップの追加をクリックして、リコンシリエーション・フィールド・マッピングの追加ダイアログ・ボックスを開きます。

    5. 「フィールド名」リストから、ステップ2eで追加したリソース・オブジェクトの名前を選択します。

    6. プロセス・データ・フィールドをダブルクリックし、「検索」ダイアログ・ボックスから対応するプロセス・フォーム・フィールドを選択します。次に、「OK」をクリックします。

    7. 「Save」をクリックして、ダイアログ・ボックスを閉じます。

    8. 必要に応じて、ステップcからgを繰り返してフィールドをさらにマップします。

  4. リコンシリエーション参照Lookup.CONNECTOR_NAME.UM.ReconAttrMap.Trustedに移動して、次の値を使用して新しい属性に新しいレコードを追加します。

    • コード・キー - リコンシリエーション・フィールドの名前

    • デコード - CONNECTOR_NAME属性の名前