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

前
次

4 WebExコネクタの機能拡張

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

次のトピックでは、コネクタの機能拡張について詳しく説明します。

注意:

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

4.1 リコンシリエーションへの新規ユーザー属性の追加

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

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

注意:

このコネクタは、リコンシリエーションのためのWebExの既存の(標準)属性の構成をサポートします。

この項では、ユーザー用の新規属性の追加に関する次のトピックが含まれます。

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

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

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

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

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

    図4-1 プロセス・フォームに追加された新しいフィールド

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

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

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

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

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

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

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

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

  1. 「管理」を開きます。
  2. 「ルックアップ定義」をダブルクリックします。
  3. Lookup.Webex.UM.ReconAttrMap参照定義を検索して開きます。
  4. 「Add」をクリックし、フィールドのコード・キー値とデコード値を入力します。
  5. 「保存」. アイコンをクリックします
    次のスクリーンショットは、参照定義に追加されたエントリを示しています。

    図4-4 参照定義に追加されたエントリ

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

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

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

  1. Oracle Identity System Administrationにログインします。
  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-8に示されています。

この項では、プロビジョニング用の新規ユーザー属性またはグループ属性の追加について説明します。

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

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

注意:

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

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

    図4-5 プロセス・フォームに追加された新しいフィールド

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

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

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

  1. 「管理」を開きます。
  2. 「ルックアップ定義」をダブルクリックします。
  3. Lookup.Webex.UM.ProvAttrMap参照定義を検索して開きます。
  4. 「Add」をクリックし、フィールドのコード・キー値とデコード値を入力します。
  5. 「保存」. アイコンをクリックします
    次のスクリーンショットは、参照定義に追加されたエントリを示しています。

    図4-6 参照定義に追加されたエントリ

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

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

プロビジョニング操作中の新規ユーザー属性の更新を有効にするタスクを作成します。

この手順を実行しない場合、ユーザーの作成プロビジョニング操作の一環として指定した属性の値を変更できなくなります。
プロビジョニング操作中の属性の更新を有効にするには、次のようにして新規ユーザー属性を更新するためのプロセス・タスクを追加します。
  1. 「Process Management」,を開き、「Process Definition」をダブルクリックします
  2. Webex User プロセス定義を検索して開きます。
  3. 「追加」をクリックします。
  4. 「新しいタスクの作成」ダイアログ・ボックスの「一般」タブで、タスクの名前と説明を入力し、次を選択します。
    • 条件付き
    • 保留中の取消しを許可
    • 複数のインスタンスを許可
  5. 「保存」アイコンをクリックします。

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

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

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

      「統合」タブにアダプタ変数のリストが表示されます。次のスクリーンショットは、アダプタ変数のリストを示しています。

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

      図4-8の説明が続きます
      「図4-8 アダプタ変数のリスト」の説明
  7. 「アダプタ変数」リージョンでParentFormProcessInstanceKey変数をクリックします。
  8. 表示されるダイアログ・ボックスで次のマッピングを作成します。
    • 変数名: ParentFormProcessInstanceKey

    • マップ先: プロセス・データ

    • 修飾子: Process Instance

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

    Adapter Return Value

    レスポンス・コード

    該当なし

    該当なし

    Object Type

    リテラル

    String

    User

    itResourceFieldName

    リテラル

    String

    UD_WEBEX_IT_RESOURCE

    attributeFieldName

    リテラル

    String

    City

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

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

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

  1. Oracle Identity System Administrationにログインします。
  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("#")){
    return 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.Webex.UM.ReconValidationという参照定義を作成します。
    3. コード・キー列で、検証するリソース・オブジェクト・フィールド名を入力します。たとえば、Firstnameです。デコード列にクラス名を入力します。たとえば、org.identityconnectors.Webex.extension.WebexAMValidatorです。
    4. 参照定義に変更を保存します。
    5. Lookup.Webex.UM.Configuration参照定義を検索して開きます。
    6. コード・キー列に、Recon Validation Lookupを入力します。デコード列に、Lookup.Webex.UM.ReconValidationと入力します。
    7. 参照定義に変更を保存します。
  5. プロビジョニングのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
    1. Design Consoleにログインします。
    2. Lookup.Webex.UM.ProvValidationという参照定義を作成します。
    3. コード・キー列に、プロセス・フォームのフィールド・ラベルを入力します。たとえば、Firstnameです。デコード列に、クラス名を入力します。たとえば、org.identityconnectors.Webex.extension.WebexValidatorです。
    4. 参照定義に変更を保存します。
    5. Lookup.Webex.UM.Configuration参照定義を検索して開きます。
    6. コード・キー列に、Provisioning Validation Lookupを入力します。デコード列に、Lookup.Webex.UM.ProvValidationと入力します。
    7. 参照定義に変更を保存します。
  6. キャッシュをパージしてOracle Identity Managerに反映されている変更を取得します。Oracle Fusion Middleware Oracle Identity Managerの管理のキャッシュのパージに関する項を参照してください。

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. 次のようにして変換用の新しい参照定義を作成します。
    1. Design Consoleにログインします。
    2. 「Administration」を開き、「Lookup Definition」をダブルクリックします。
    3. 「コード」フィールドに、参照定義の名前としてLookup.Webex.UM.ReconTransformationsを入力します。
    4. 「参照タイプ」オプションを選択します。
    5. 参照コード情報タブで「追加」をクリックします。
    6. コード・キー列に、変換を適用するリソース・オブジェクト・フィールド名を入力します。たとえば、User Nameです。デコード列に、変換ロジックを実装するクラスの名前を入力します。たとえば、oracle.iam.connectors.common.transform.TransformAttributeです。
    7. 参照定義に変更を保存します。
  5. 次のように、Lookup.Webex.UM.Configuration参照定義にエントリを追加して、変換を有効にします。
    1. 「Administration」を開き、「Lookup Definition」をダブルクリックします
    2. Lookup.Webex.UM.Configuration参照定義を検索して開きます。
    3. コード・キー列に、リコンシリエーション変換参照を入力します。デコード列に、Lookup.Webex.UM.ReconTransformationと入力します。
    4. 参照定義に変更を保存します。
  6. キャッシュをパージしてOracle Identity Managerに反映されている変更を取得します。Oracle Fusion Middleware Oracle Identity Managerの管理のキャッシュのパージに関する項を参照してください。

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

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

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

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

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

4.6 コネクタの定義

「アイデンティティ・システム管理」を使用して、カスタマイズまたは再構成されたコネクタを定義できます。コネクタを定義することは、コネクタをOracle Identity Managerに登録することと同じです。

コネクタは、コネクタのインストール機能を使用してインストールするか、またはコネクタのアップグレード機能を使用してアップグレードすると、自動的に定義されます。次のような場合に、コネクタを手動で定義する必要があります。

  • デプロイメント・マネージャを使用してコネクタをインポートする場合

  • コネクタをカスタマイズまたは再構成する場合

  • Oracle Identity Managerをアップグレードする場合

コネクタを定義すると、次のイベントが行われます。

  • コネクタを表すレコードがOracle Identity Managerデータベースに作成されます。このレコードがすでに存在する場合は、更新されます。

  • 新たに定義されたコネクタのステータスが、「アクティブ」に設定されます。さらに、前にインストールされたリリースの同じコネクタのステータスが、自動的に「非アクティブ」に設定されます。

コネクタを定義する手順の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のコネクタの定義を参照してください。