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

前
次

4 Boxコネクタの機能拡張

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

ノート:

Oracle Identity Managerリリース11.1.2以降では、参照問合せはサポートされません。Oracle Identity Managerシステム管理コンソールでの「フォーム・デザイナ」を使用した参照の管理の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理の参照の管理を参照してください。

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

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

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

ノート:

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

  • 単一値属性のみがリコンシリエーションのためにマップできます。

次の項では、ユーザーに新しい属性を追加する手順について説明します。

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

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

プロセス・フォームに新しい属性を追加するには、次のようにします
  1. Oracle Identity Manager Design Consoleにログインします。
  2. 「Development Tools」,を開き、「Form Designer」をダブルクリックします
  3. ユーザーのUD_Boxプロセス・フォームを検索して開きます。
  4. 「新規バージョンの作成」「追加」の順にクリックします。
  5. フィールドの詳細を入力します。

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

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

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

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

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

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

リソース・オブジェクトのリコンシリエーション・フィールドのリストに属性を追加するには、次のようにします。
  1. 「Resource Management」を展開し、「Resource Objects」をダブルクリックします。
  2. ユーザーのBox Userリソース・オブジェクトを検索して開きます。
  3. 「Object Reconciliation」タブで、「Add field」をクリックします。
  4. フィールドの詳細を入力します。

    たとえば、「名前」フィールドにMaximum Upload Sizeと入力し、「フィールド・タイプ」リストで「文字列」を選択します。この手順でこの後、リコンシリエーションのための参照定義の中に作成するエントリのコード値として、フィールド名を入力します。

  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. Box Userプロセス定義を検索して開きます。
  3. プロセス定義のリコンシリエーション・フィールド・マッピング・タブで、フィールド・マッピングの追加をクリックします。
  4. 「フィールド名」リストから、マップするフィールドを選択します。
  5. プロセス・データ・フィールドフィールドをダブルクリックし、属性に対する列を選択します。たとえば、UD_BOX_MAX_UPL_SIZEを選択します。
  6. 「保存」アイコンをクリックします。次のスクリーンショットは、プロセス定義のプロセス・データ・フィールドにマップされた新しいリコンシリエーション・フィールドを示しています。

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

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

4.1.4 参照定義のエントリの作成

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

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

  1. 「管理」を展開します。
  2. 「参照定義」をダブルクリックします。
  3. ユーザーのLookup.Box.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-11で示した属性が、Oracle Identity Managerとターゲット・システムとの間のプロビジョニング用にマップされます。必要に応じて、追加のユーザー属性をプロビジョニング用にマップできます。

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

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

プロセス・フォームの新規属性を追加するには、次の手順を実行します。

ノート:

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

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

    たとえば、Maximum Upload Sizeフィールドを追加している場合は、「名前」フィールドにUD_BOX_MAX_UPL_SIZEと入力し、続いてこのフィールドの他の詳細を入力します。

  6. 保存アイコンをクリックし、「バージョンのアクティブ化」をクリックします

    図4-5 新規に追加されたフィールド

    図4-5の説明が続きます
    「図4-5 新規に追加されたフィールド」の説明

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

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

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

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

    たとえば、コード・キー列にMaximum Upload Sizeと入力し、デコード列にmax_upload_sizeと入力します。次のスクリーンショットは、参照定義に追加されたエントリを示しています。

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

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

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

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

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

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

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

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

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

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

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

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

    • 修飾子: プロセス・インスタンス

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

    Adapter Return Value

    Response Code

    該当なし

    該当なし

    Object Type

    Literal

    String

    User

    itResourceFieldName

    Literal

    String

    UD_BOX_IT_RESOURCE

    attributeFieldName

    Literal

    String

    Maximum Upload Size

  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.
    */
                   boolean valid=true;
                      String sUserName=(String) hmUserDetails.get(field); for(int i=0;i<sUserName.length();i++){
    if (sUserName.charAt(i) == '#'){ valid=false;
    break;}
                  }
             return valid;
                     }
  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.Box.UM.ReconValidationという参照定義を作成します。
    3. コード・キー列で、検証するリソース・オブジェクト・フィールド名を入力します。たとえば、Usernameとします。デコード列に、クラス名を入力します。たとえば、org.identityconnectors.box.extension.BoxValidatorと入力します。
    4. 参照定義に変更を保存します。
    5. Lookup.Box.UM.Configuration参照定義を検索して開きます。
    6. 「Code Key」列に、Recon Validation Lookupを入力しますデコード列に、Lookup.Box.UM.ReconValidationと入力します。
    7. 参照定義に変更を保存します。
  5. プロビジョニングのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
    1. Design Consoleにログインします。
    2. Lookup.Box.UM.ProvValidationという名前で参照定義を作成します。
    3. 「Code Key」列に、プロセス・フォーム・フィールド名を入力します。デコード列に、クラス名を入力します。
    4. 参照定義に変更を保存します。
    5. Lookup.Box.UM.Configuration参照定義を検索して開きます。
    6. 「Code Key」列にProvisioning Validation Lookupと入力しますデコード列に、Lookup.Box.UM.ProvValidationと入力します。
    7. 参照定義に変更を保存します。

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.Box.UM.ReconTransformationという名前の参照定義を作成します。
    3. コード・キー列に、変換を適用するリソース・オブジェクト・フィールド名を入力します。たとえば、User Nameです。デコード列に、変換ロジックを実装するクラスの名前を入力します。たとえば、oracle.iam.connectors.common.transform.TransformAttributeと入力します。
    4. 参照定義に変更を保存します。
  5. 次のように、Lookup.Box.UM.Configuration参照定義にエントリを追加して、変換を有効にします。
    1. 「Administration」を開き、「Lookup Definition」をダブルクリックします
    2. Lookup.Box.UM.Configuration参照定義を検索して開きます。
    3. コード・キー列に、リコンシリエーション変換参照を入力しますデコード列に、Lookup.Box.UM.ReconTransformationと入力します。
    4. 参照定義に変更を保存します。

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

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

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

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

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

4.6 コネクタの定義

Oracle Identity System Administrationを使用して、カスタマイズまたは再構成したコネクタを定義できます。コネクタを定義することは、コネクタをOracle Identity Managerに登録することと同じです。

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

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

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

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

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

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

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

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