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

前
次

4 Concurコネクタの機能拡張

特定のビジネス要件に対応するようにコネクタの機能を拡張できます。

この章のトピックは、次のとおりです:

注意:

Oracle Identity Managerリリース11.1.2以降では、問合せ参照はサポートされません。アイデンティティ・システム管理のフォーム・デザイナを使用して参照を管理する方法の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理の参照の管理に関する項を参照してください。

4.1 リコンシリエーション用のユーザー属性の追加

コネクタでは、Oracle Identity Managerとターゲット・システム間のリコンシリエーション用に属性マッピングのデフォルト・セットが提供されています。必要な場合には、リコンシリエーション用に新規ユーザー属性を追加できます。

リコンシリエーションのデフォルト属性マッピングは表1-12に示されています。

次のトピックでは、リコンシリエーション用の新規ユーザー属性の追加について詳しく説明します。

4.1.1 プロセス・フォームへの新規属性の追加

Oracle Identity Manager Design Consoleの「フォーム・デザイナ」セクションで、プロセス・フォームの新規属性を追加できます。

プロセス・フォームに新しい属性を追加するには、次のようにします

  1. Oracle Identity Manager Design Consoleにログインします。
  2. 「Development Tools」,を開き、「Form Designer」をダブルクリックします
  3. UD_Concurプロセス・フォームを検索し、開きます。
  4. 「Create New Version」をクリックし、「Add」をクリックします。
  5. フィールドの詳細を入力します。

    たとえば、MiddleNameフィールドを追加している場合は、「名前」フィールドにUD_Concur_MIDDLENAMEを入力し、続いて他の詳細(変数の型、長さ、フィールド・ラベル、フィールド・タイプなど)を入力します。

  6. 保存アイコンをクリックし、「バージョンのアクティブ化」をクリックします次のスクリーンショットは、プロセス・フォームに追加された新規フィールドを示しています。

    図4-1 Concur Userフォームに追加された新しいフィールド

    図4-1の説明が続きます
    「図4-1 Concur Userフォームに追加された新しいフィールド」の説明

4.1.2 リソース・オブジェクトへの属性の追加

Oracle Identity Manager Design Consoleの「リソース・オブジェクト」セクションで、リソース・オブジェクトに新規属性を追加できます。

リソース・オブジェクトのリコンシリエーション・フィールドのリストに属性を追加するには、次のようにします。
  1. 「Resource Management」を展開し、「Resource Objects」をダブルクリックします。
  2. Concur Userリソース・オブジェクトを検索して開きます。
  3. 「Object Reconciliation」タブで、「Add field」をクリックします。
  4. フィールドの詳細を入力します。
    たとえば、「フィールド名」フィールドにMiddle Nameを入力し、フィールド・タイプリストから文字列を選択します。この手順でこの後、リコンシリエーションのための参照定義の中に作成するエントリのコード値として、フィールド名を入力します。
  5. 「保存」アイコンをクリックします。次のスクリーンショットは、リソース・オブジェクトに追加された新しいリコンシリエーション・フィールドを示しています。

    図4-2 リソース・オブジェクトに追加された新しいリコンシリエーション・フィールド

    図4-2の説明が続きます
    「図4-2 リソース・オブジェクトに追加された新しいリコンシリエーション・フィールド」の説明
  6. 「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。

4.1.3 リコンシリエーション・フィールド・マッピングの作成

新しい属性用のリコンシリエーション・フィールド・マッピングをOracle Identity Manager Design Consoleの「プロセス定義」セクションで作成できます。

新しい属性用のリコンシリエーション・フィールド・マッピングをプロセス定義に作成するには、次のようにします。
  1. 「Process Management」,を開き、「Process Definition」をダブルクリックします
  2. ユーザー用のConcur Userプロセス定義を検索して開きます。
  3. プロセス定義のリコンシリエーション・フィールド・マッピング・タブで、フィールド・マッピングの追加をクリックします。
  4. 「フィールド名」リストから、マップするフィールドを選択します。
  5. プロセス・データ・フィールド・フィールドをダブルクリックし、属性に対する列を選択します。たとえば、UD_CONCUR_MIDDLENAMEを選択します。
  6. 「保存」アイコンをクリックします。次のスクリーンショットは、プロセス定義のプロセス・データ・フィールドにマップされた新しいリコンシリエーション・フィールドを示しています。

    図4-3 プロセス定義のプロセス・データ・フィールドにマップされた新しいリコンシリエーション・フィールド

    図4-3の説明が続きます
    「図4-3 プロセス定義のプロセス・データ・フィールドにマップされた新しいリコンシリエーション・フィールド」の説明

4.1.4 リコンシリエーションの参照定義のエントリの作成

リコンシリエーションの属性マッピングを保持する参照定義で、新しく追加された属性のエントリを作成できます。

リコンシリエーションの参照定義で、新しく追加された属性のエントリを作成するには、次のようにします。

  1. 「管理」を展開します。
  2. 「ルックアップ定義」をダブルクリックします。
  3. 次のユーザー用参照定義を検索して開きます。
    Lookup.Concur.UM.ReconAttrMap
  4. 「Add」,をクリックし、フィールドのコード・キー値とデコード値を入力します。
    コード・キー値は、リソース・オブジェクトのフィールドの名前と同じにする必要があります。デコード値は、Concurのターゲット・システム・フィールドの名前にする必要があります。
  5. 「保存」. アイコンをクリックします

    図4-4 リコンシリエーションの参照定義に追加されたエントリ

    図4-4の説明が続きます
    「図4-4 リコンシリエーションの参照定義に追加されたエントリ」の説明

4.1.5 新規UIフォームでの変更の実行

Design Consoleのフォーム・デザイナに対するすべての変更を新しいUIフォームでレプリケートする必要があります。

新規UIフォームで変更を実行するには、次のようにします。
  1. アイデンティティ・システム管理にログインします。
  2. サンドボックスを作成し、アクティブにします。 Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのサンドボックスの作成に関する項 および サンドボックスのアクティブ化および非アクティブ化に関する項を参照してください。
  3. 新たに追加したフィールドと残りのフィールドを表示するために新しいUIフォームを作成します。Oracle Fusion Middleware Oracle Identity Managerの管理 の フォーム・デザイナを使用したフォームの作成に関する項を 参照してください。 
  4. 新たに作成したUIフォームをターゲット・システムのアプリケーション・インスタンスに関連付けます。それを行うには、「フォーム」フィールドの、リソースの既存のアプリケーション・インスタンスを開き、フォームを選択して、アプリケーション・インスタンスを保存します。
  5. サンドボックスを公開します。Oracle Fusion Middleware Oracle Identity Managerのアプリケーションの開発とカスタマイズのサンドボックスの公開に関する項 を参照してください。

4.2 プロビジョニング用のユーザー属性の追加

コネクタでは、Oracle Identity Managerとターゲット・システム間のプロビジョニング用に属性マッピングのデフォルト・セットが提供されています。必要な場合には、プロビジョニング用に新規ユーザー属性を追加できます。

プロビジョニングのデフォルト属性マッピングは表1-15に示されています。

次のトピックでは、プロビジョニング用の新規ユーザー属性の追加について詳しく説明します。

4.2.1 プロビジョニングへの新規属性の追加

Oracle Identity Manager Design Consoleの「フォーム・デザイナ」セクションで、プロセス・フォームの新規属性を追加します。

注意:

リコンシリエーションのための属性をすでに追加している場合、その手順の一部として実行したステップを繰り返す必要はありません。

プロセス・フォームに新しい属性を追加するには、次のようにします
  1. Oracle Identity Manager Design Consoleにログインします。
  2. 「Development Tools」,を開き、「Form Designer」をダブルクリックします
  3. ユーザー用のプロセス・フォームを検索して開きます。
    UD_CONCUR
  4. 「Create New Version」をクリックし、「Add」をクリックします。
  5. 属性の詳細を入力します。
    たとえば、「ミドル・ネーム」フィールドを追加する場合は、「名前」フィールドにUD_CONCUR_MIDDLENAMEを入力してから、このフィールドのその他の詳細を入力します。
  6. 保存アイコンをクリックし、「バージョンのアクティブ化」をクリックします
    次のスクリーンショットは、プロセス・フォームに追加された新規フィールドを示しています。

    図4-5 Concur Userフォームに追加された新しいフィールド

    図4-5の説明が続きます
    「図4-5 Concur Userフォームに追加された新しいフィールド」の説明

4.2.2 プロビジョニングへの参照定義のエントリの作成

プロビジョニングの属性マッピングを保持する参照定義で、新しく追加された属性のエントリを作成できます。

プロビジョニングの参照定義で、新しく追加された属性のエントリを作成するには、次のようにします。

  1. 「管理」を展開します。
  2. 「ルックアップ定義」をダブルクリックします。
  3. 次のユーザー用参照定義を検索して開きます。
    Lookup.Concur.UM.ProvAttrMap
  4. 「追加」,をクリックし、属性のコード・キー値とデコード値を入力します。

    デコード値は、ターゲット・システム・フィールドの名前にする必要があります。

    図4-6 プロビジョニングの参照定義に追加されたエントリ

    図4-6の説明が続きます
    「図4-6 プロビジョニングの参照定義に追加されたエントリ」の説明

4.2.3 タスクの作成による更新操作の有効化

プロビジョニング操作中の新規ユーザーまたはグループの属性の更新を有効にするタスクを作成します。この手順を実行しない場合、Create Userプロビジョニング操作で属性の値を設定した後で値を変更することはできません。

プロビジョニング操作中の属性の更新を有効にするには、次のようにして新規ユーザー属性を更新するためのプロセス・タスクを追加します。

  1. 「Process Management」,を開き、「Process Definition」をダブルクリックします
  2. 次のユーザー用プロセス定義を検索して開きます。
    Concur User
  3. 「追加」をクリックします。
  4. 「新しいタスクの作成」ダイアログ・ボックスの「一般」タブで、タスクの名前と説明を入力し、次を選択します。
    • 条件付き
    • 完了に必須
    • 保留中の取消しを許可
    • 複数のインスタンスを許可
  5. 「保存」アイコンをクリックします。

    次のスクリーンショットは、プロセス定義に追加された新しいタスクを示しています。

    図4-7 プロセス定義に追加された新しいタスク

    図4-7の説明が続きます
    「図4-7 プロセス定義に追加された新しいタスク」の説明
  6. プロビジョニング処理で、次のようにして、「Handler Type」セクションでアダプタ名を選択します。
    1. 「Integration」タブに移動し、「Add」をクリックします
    2. 「Handler Selection」ダイアログ・ボックスで「Adapter」を選択します
    3. 「ハンドラ名」列でadpCONCURUPDATEUSERを選択します。
    4. 「Save」をクリックして、ダイアログ・ボックスを閉じます。
      「統合」タブにアダプタ変数のリストが表示されます。次のスクリーンショットは、アダプタ変数のリストを示しています。

      図4-8 アダプタ変数のリスト

      図4-8の説明が続きます
      「図4-8 アダプタ変数のリスト」の説明
  7. 「Adapter Variable」リージョンでprocInstanceKey変数をクリックします。
  8. 表示されるダイアログ・ボックスで、次のようにアダプタ変数をマップします。
    1. 「マップ」をクリックします。変数のデータ・マッピング・ウィンドウが表示されます。
    2. 次のフィールドを指定します。
      • 変数名: procInstanceKey

      • マップ先: Process Data

      • 修飾子: Process Instance

  9. 「Save」をクリックして、ダイアログ・ボックスを閉じます。
    アダプタ変数のマッピング・ステータスが「N」から「Y」に変わります。これは、アダプタ変数がマップされたことを示します。
  10. ユーザー属性のプロビジョニング操作の更新を有効化する場合、「アダプタ変数」リージョンの残りの変数について、ステップ7からステップ9を繰り返します。
    次の表に、各変数について「マップ先」、「、修飾子」および「リテラル値」リストから選択する必要がある値を示します。
    変数 マップ先 修飾子 リテラル値

    Adapter Return Value

    レスポンス・コード

    N/A

    N/A

    Object Type

    リテラル

    文字列

    User

    itResourceFieldName

    リテラル

    文字列

    UD_CONCUR_IT_RESOURCE

    fieldName

    リテラル

    文字列

    UD_CONCUR_MIDDLENAME

    fieldOldValue

    プロセス・データ

    ミドル・ネーム

    注意: 「古い値」チェック・ボックスが選択されていることを確認してください。

    N/A

    fieldValue

    プロセス・データ

    ミドル・ネーム

    注意: 「古い値」チェック・ボックスが選択されていないことを確認してください。

    N/A

  11. 「レスポンス」タブで、「追加」をクリックして少なくともSUCCESSレスポンス・コードをステータスCで追加します。これにより、タスクの実行に成功するとタスクのステータスが「完了」として表示されます。
  12. 「Save」アイコンをクリックしてダイアログ・ボックスを閉じ、プロセス定義を保存します。

4.2.4 新規UIフォームへのフォーム・デザイナの変更のレプリケート

Design Consoleのフォーム・デザイナに対するすべての変更を新しいUIフォームでレプリケートする必要があります。

フォーム・デザイナの変更を新規UIフォームにレプリケートするには、次のようにします。
  1. アイデンティティ・システム管理にログインします。
  2. サンドボックスを作成し、アクティブにします。 Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのサンドボックスの作成に関する項 および サンドボックスのアクティブ化および非アクティブ化に関する項を参照してください。
  3. 新たに追加したフィールドと残りのフィールドを表示するために新しいUIフォームを作成します。Oracle Fusion Middleware Oracle Identity Managerの管理 の フォーム・デザイナを使用したフォームの作成に関する項を 参照してください。 
  4. 新たに作成したUIフォームをターゲット・システムのアプリケーション・インスタンスに関連付けます。それを行うには、「フォーム」フィールドの、リソースの既存のアプリケーション・インスタンスを開き、フォームを選択して、アプリケーション・インスタンスを保存します。
  5. サンドボックスを公開します。Oracle Fusion Middleware Oracle Identity Managerのアプリケーションの開発とカスタマイズのサンドボックスの公開に関する項 を参照してください。

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

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

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

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

  1. 必要な検証ロジックをJavaクラスに実装するコードを記述します。
    検証クラスには、次のメソッド・シグネチャを持つ検証メソッドを実装する必要があります。
    boolean validate(HashMap hmUserDetails, HashMap hmEntitlementDetails, String field)

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

    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.
            */
            String sUserName=(String) hmUserDetails.get(field); 
            if (sUserName.contains('#')){
                    valid false;
            }
            return true;
    }
  2. Javaクラスを保持するJARファイルを作成します。
  3. 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を指定します。

  4. リコンシリエーションのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
    1. Design Consoleにログインします。
    2. Lookup.Concur.UM.ReconValidationという参照定義を作成します。
    3. 参照定義に変更を保存します。
    4. Lookup.Concur.UM.Configuration参照定義を検索して開きます。
    5. 「Code Key」列に、Recon Validation Lookupを入力します。デコード列に、Lookup.Concur.UM.ReconValidationと入力します。
    6. 参照定義に変更を保存します。
  5. 次のように、Lookup.Concur.UM.Configuration参照定義にエントリを追加して、変換を有効にします。
    1. 「Administration」を開き、「Lookup Definition」をダブルクリックします
    2. Lookup.Concur.UM.Configuration参照定義を検索して開きます。
    3. コード・キー列に、リコンシリエーション変換参照を入力しますデコード列に、Lookup.Concur.UM.ReconTransformationと入力します。
    4. 参照定義に変更を保存します。

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

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

リコンシリエーション中にフェッチした単一値のアカウント・データの変換を構成するには、次の手順を実行します。

  1. 必要な変換ロジックをJavaクラスに実装するコードを記述します。

    変換クラスには、次のメソッド・シグネチャを持つ変換メソッドを実装する必要があります。

    Object transform(HashMap hmUserDetails, HashMap hmEntitlementDetails, String sField)

    次のサンプル変換クラスは、ターゲット・システムのUser 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 sUserName= (String)hmUserDetails.get("User Name"); String sLastName= (String)hmUserDetails.get("Last Name"); String sFullName=sUserName+"."+sLastName;
                    return sFullName;
            }
    }
  2. Javaクラスを保持するJARファイルを作成します。
  3. 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を指定します。

  4. リコンシリエーションのプロセス・フォーム・フィールドの変換用にJavaクラスを作成した場合は、次の手順を実行します。
    1. Design Consoleにログインします。
    2. Lookup.Concur.UM.ReconTransformationという参照定義を作成します。
    3. コード・キー列に、変換を適用するリソース・オブジェクト・フィールド名を入力します。たとえば、User Nameです。デコード列に、変換ロジックを実装するクラスの名前を入力します。たとえば、oracle.iam.connectors.common.transform.TransformAttributeです。
    4. 参照定義に変更を保存します。
  5. 次のように、Lookup.Concur.UM.Configuration参照定義にエントリを追加して、変換を有効にします。
    1. 「Administration」を開き、「Lookup Definition」をダブルクリックします
    2. Lookup.Concur.UM.Configuration参照定義を検索して開きます。
    3. コード・キー列に、リコンシリエーション変換参照を入力します。デコード列に、Lookup.Concur.UM.ReconTransformationと入力します。
    4. 参照定義に変更を保存します。

4.5 ターゲット・システムの複数のインストールに対するConcurコネクタの構成

ターゲット・システムの複数のインストールに対してコネクタを構成するには、コネクタのコピーを作成する必要があります。

次の例でこの要件について説明します。

Example Multinational Inc.のロンドンおよびニューヨークの事業所には、独自にターゲット・システムがインストールされています。最近、この会社では、Oracle Identity Governanceをインストールし、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。

このような例で示される要件に対応するには、コネクタのコピーを作成する必要があります。Oracle Fusion Middleware Oracle Identity Managerの管理 の コネクタのクローニングに関する項 を参照してください。

4.6 Concurコネクタの定義

コネクタを定義することは、コネクタをOracle Identity Governanceに登録することと同じです。Oracle Identity System Administrationを使用して、カスタマイズまたは再構成されたコネクタを定義できます。コネクタを定義すると、コネクタを表すレコードがOracle Identity Governanceデータベースに作成されます。

Oracle Fusion Middleware Oracle Identity Managerの管理 の コネクタの定義に関する項 を参照してください。