プライマリ・コンテンツに移動
Oracle Identity Manager JD Edwards EnterpriseOne User Managementコネクタ・ガイド
リリース11.1.1
E91914-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 コネクタの機能拡張

この章では、次のオプションの手順について説明します。


注意:

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

4.1 ターゲット・リソースのリコンシリエーション用の新規属性の追加


注意:

この項ではオプションの手順を説明します。リコンシリエーション用の新規属性を追加しない場合は、この手順を実行する必要はありません。

デフォルトでは第1.7.1項「ターゲット・リソース・リコンシリエーション用のユーザー・フィールド」で示した属性が、Oracle Identity Managerとターゲット・システム間のリコンシリエーション用にマップされます。必要な場合には、ターゲット・リソースのリコンシリエーション用に新規属性を追加できます。

ターゲット・リソースのリコンシリエーション用に新規属性を追加するには、次の手順を実行します。


注意:

リコンシリエーション用に追加する新しい属性に文字列形式のデータのみが格納されていることを確認する必要があります。バイナリ属性は、Oracle Identity Managerにネイティブに送信しないでください。

  1. Oracle Identity Manager Design Consoleにログインします。

  2. 次のようにして、OIMユーザー・プロセス・フォームに新しい属性を追加します。

    1. 「開発ツール」を開きます。

    2. 「フォーム・デザイナ」をダブルクリックします。

    3. UD_JDEプロセス・フォームを検索し、開きます。

    4. 「新しいバージョンの作成」をクリックします。

    5. 「Label」フィールドで、バージョン名を入力します。例: version#1

    6. 「Save」アイコンをクリックします。

    7. 「Current Version」リストから、ステップeで作成された現在のバージョンを選択します。

    8. 「Add」をクリックして新規属性を作成し、その属性の値を指定します。

      たとえば、アドレス番号属性を追加する場合は、「Additional Columns」タブに次の値を入力します。

      フィールド
      Name AddressNumber
      Variant Type String
      Length 100
      Field Label AddressNumber
      Order 14

    9. 「Save」アイコンをクリックします。

    10. 「Make Version Active」をクリックします

  3. Oracle Identity Managerリリース11.1.2.x以降を使用している場合、次のようにして、Design Consoleの「フォーム・デザイナ」に加えられたすべての変更を、新しいUIフォームで実行する必要があります。

    1. Oracle Identity System Administrationにログインします。

    2. サンドボックスを作成し、アクティブにします。詳細は、第2.3.1.1.1項「サンドボックスの作成とアクティブ化」を参照してください。

    3. 新たに追加したフィールドと残りのフィールドを表示するために新しいUIフォームを作成します。UIフォームの作成の詳細は、第2.3.1.1.2項「UIフォームの新規作成」を参照してください。

    4. 新たに作成したUIフォームを、ターゲット・システムのアプリケーション・インスタンスと関連付けます。それを行うには、「フォーム」フィールドの、リソースの既存のアプリケーション・インスタンスを開き、(ステップ5.cで作成した)フォームを選択して、アプリケーション・インスタンスを保存します。

    5. サンドボックスを公開します。詳細は、第2.3.1.1.4項「サンドボックスの公開」を参照してください。

  4. リソース・オブジェクトのリコンシリエーション属性のリストに、次のようにして、新しい属性を追加します。

    1. 「リソース管理」を開きます。

    2. 「リソース・オブジェクト」をダブルクリックします。

    3. JDE Resource Objectリソース・オブジェクトを検索して開きます。

    4. 「Object Reconciliation」タブで、「ADD Field」をクリックして、次の値を入力します。

      Field Name: AddressNumber

      Field Type: String

    5. 「保存」アイコンをクリックしてダイアログ・ボックスを閉じます。

  5. 次のようにして、新しい属性用のリコンシリエーション・フィールド・マッピングをプロセス定義フォームに作成します。

    1. 「Process Management」を開きます。

    2. 「Process Definition」をダブルクリックします。

    3. JDE Processプロセス定義を検索して開きます。

    4. 「Reconciliation Field Mappings」タブで、「Add Field Map」をクリックして、次の値を選択します。

      Field Name: AddressNumber

      Field Type: String

      Process Data Field: AddressNumber

    5. 「Save」アイコンをクリックします。

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

  6. リコンシリエーションの参照定義で、次のようにして、属性のエントリを作成します。

    1. 「管理」を開きます。

    2. 「参照定義」をダブルクリックします。

    3. Lookup.JDE.ReconAttrMap参照定義を検索して開きます。

    4. 「Add」をクリックし、属性のコード・キーデコードの値を入力します。コード・キーの値は、リソース・オブジェクトに指定された属性の名前である必要があります。デコード値は、ターゲット・システムの属性の名前で、接頭辞として表名が付きます。デコード値を入力する際の書式は次のとおりです。

      TABLE_NAME.ATTR_NAME

      この書式で、TABLE_NAMEは、属性が存在するターゲット・システム・データベースでの表の名前です。ATTR_NAMEは、ターゲット・システムの属性の名前です。

      たとえば、「Code Key」フィールドにAddressNumberを入力し、「Decode」フィールドにF00921.AddressNumberを入力します。コード・キーとデコードの値は両方とも同じであることに注意してください。

    5. 「Save」アイコンをクリックします。

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


注意:

  • この項ではオプションの手順を説明します。プロビジョニング用の新しい属性を追加しない場合は、この手順を実行する必要はありません。

  • 追加できるのは、ターゲット・システムの'AddUserIDToProfileAndPreference' APIのデータ構造で宣言されている属性(プロビジョニング用)のみです。

  • 次の手順を始める前に、第4.1項「ターゲット・リソースのリコンシリエーション用の新規属性の追加」に記載されているステップ1から3を実行してください。これらのステップを実行して、ターゲット・リソースのリコンシリエーション用に新しい属性が追加されている場合は、繰り返す必要はありません。


デフォルトでは第1.7.1項「ターゲット・リソース・リコンシリエーション用のユーザー・フィールド」で示した属性が、Oracle Identity Managerとターゲット・システム間のプロビジョニング用にマップされます。必要に応じて、追加の属性をプロビジョニング用にマップできます。

プロビジョニングに対する新規属性を追加するには、次のようにします。

  1. プロビジョニングの参照定義で、次のようにして、属性のエントリを作成します。

    1. Oracle Identity Manager Design Consoleにログインします。

    2. 「管理」を開きます。

    3. 「参照定義」をダブルクリックします。

    4. Lookup.JDE.UM.ProvAttrMap参照定義を検索して開きます。

    5. 「Add」をクリックし、属性のコード・キーデコードの値を入力します。コード・キー値は、第4.1項「ターゲット・リソースのリコンシリエーション用の新規属性の追加」のステップ2.hで作成したフィールド・ラベルの値である必要があります。「Decode」値は、ターゲット・システムの属性の名前です。

      たとえば、コード・キー・フィールドにAddress Numberと入力し、デコード・フィールドにmnAddressNumberと入力します。

    6. 「Save」アイコンをクリックします。


    注意:

    ステップ2から4は、リクエストベースのプロビジョニングを実行する場合のみ行います。

  2. リクエスト・データセットを更新します。

    プロセス・フォームで属性を追加した場合は、リクエスト・データセット定義を含むXMLファイルも更新します。リクエスト・データセットを更新するには、次の手順を実行します。

    1. テキスト・エディタで、インストール・メディアにあるxml/JDE-Datasets.xmlファイルを開いて編集できるようにします。

    2. AttributeReference要素を追加し、この要素の必須属性の値を指定します。

      たとえば、プロセス・フォームの属性として「Address Number」を追加した場合は、次の行を入力します。

      <AttributeReference
      name = "Address Number"
      attr-ref = "Address Number"
      type = "String"
      widget = "text"
      length = "50"
      available-in-bulk = "false"/>
      

      このAttributeReference要素の属性は次のように指定します。

      • name属性では、プロセス・フォームの「Name」列の値を表名接頭辞を付けずに入力します。

        たとえば、プロセス・フォームの「Name」列の値がUD_JDE_ADDRESS_NUMBERの場合、AttributeReference要素のname属性の値としてAddress Numberを指定する必要があります。

      • attr-ref属性では、プロセス・フォームの「Field Label」列に入力した値を入力します。

      • type属性では、プロセス・フォームの「Variant Type」列に入力した値を入力します。

      • widget属性では、プロセス・フォームの「Field Type」列に入力した値を入力します。

      • length属性では、プロセス・フォームの「Length」列に入力した値を入力します。

      • available-in-bulk属性では、バルク・リクエストの作成または変更で属性を使用する必要がある場合にはtrueを指定します。それ以外の場合は、falseを指定します。

      プロセス・フォームに複数の属性を追加した場合は、追加した属性ごとにこのステップを繰り返します。

    3. XMLファイルを保存して閉じます。

  3. PurgeCacheユーティリティを実行して、サーバー・キャッシュからのデータセットのリクエストに関連するコンテンツをクリアします。

    PurgeCacheユーティリティの詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理を参照してください。

  4. XML形式のリクエスト・データセット定義をMDSにインポートします。

    この手順の詳細は、第2.3.1.7.1項「リクエスト・データセットのインポート」を参照してください。

4.2.1 プロビジョニング用の新規属性に関する更新の有効化

プロビジョニング用に属性を追加した後で、属性に対する更新操作を有効にする必要があります。この手順を実行しない場合、Create Userプロビジョニング操作で属性の値を設定した後で、値を変更できなくなります。

ユーザーのプロビジョニング用の新規属性の更新を有効にする手順:

  1. 「Process Management」を開きます。

  2. 「Process Definition」をダブルクリックしてJDE processプロセス定義を開きます。

  3. 次のようにして、プロセス定義にフィールドの更新用の新しいタスクを追加します。

    1. 「Add」をクリックして、AddressNumber Updatedなどのタスク名およびタスクの説明を入力します。

    2. 「Task Properties」セクションで、次のフィールドを選択します。

      • 条件付き

      • 保留中の取消しを許可

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

    3. 「保存」アイコンをクリックします。

  4. 「統合」タブで、「追加」「アダプタ」の順にクリックします。

  5. adpJDEUPDATEUSERアダプタを選択して、「保存」をクリックし、表示されるメッセージ内の「OK」をクリックします。

  6. 次の表に示されているアダプタ変数をマッピングするには、アダプタを選択して「マップ」をクリックし、次の表に示されているデータを指定します。


    注意:

    この表に示す値の一部は、Address Number (ターゲット・システムでのmnAddressNumberの値)に固有です。これらの値は、必要な属性に適した値に置き換える必要があります。

    変数名 データ型 マップ先 修飾子 リテラル値
    processKeyInstance Long プロセス・データ プロセス・インスタンス N/A
    アダプタ戻り値 オブジェクト レスポンス・コード N/A N/A
    objectType String リテラル String User
    attrFieldName String リテラル String mnAddressNumber
    itResourceFieldName String リテラル String UD_JDE_RESOURCETYPE

  7. 「保存」アイコンをクリックしてダイアログ・ボックスを閉じます。

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

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

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

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


    関連項目:

    このインタフェースの詳細は、コネクタに同梱されているJavadocを参照してください。

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

    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;
            }
          } /* End */
    
  2. Javaクラスを保持するJARファイルを作成します。

  3. Oracle Identity Manager JARアップロード・ユーティリティを実行して、手順2で作成したJARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。


    注意:

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

    • For 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.JDE.UM.ReconValidation参照定義を検索して開きます。


      注意:

      この参照定義が見つからない場合、それを作成します。

    3. コード・キー列に、検証するリソース・オブジェクトのフィールド名(Usernameなど)を入力します。デコード列に、クラス名を入力します。たとえば、org.identityconnectors.jde.extension.JDEValidatorです。

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

    5. Lookup.JDE.UM.Configuration参照定義を検索して開きます。

    6. コード・キー列に、Recon Validation Lookupを入力します。デコード列に、Lookup.JDE.UM.ReconValidationを入力します。

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

  5. プロビジョニングのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。

    1. Design Consoleにログインします。

    2. Lookup.JDE.UM.ProvValidation参照定義を検索して開きます。

    3. 「Code Key」列に、プロセス・フォーム・フィールド名を入力します。デコード列に、クラス名を入力します。

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

    5. Lookup.JDE.UM.Configuration参照定義を検索して開きます。

    6. コード・キー列に、Provisioning Validation Lookupを入力します。デコード列に、Lookup.JDE.UM.ProvValidationを入力します。

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

  6. キャッシュをパージしてOracle Identity Managerに反映されている変更を取得します。詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のキャッシュのパージを参照してください。

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


注意:

この項ではオプションの手順を説明します。この手順は、リコンシリエーション時のデータの変換を構成する場合にのみ実行します。

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

データ変換を構成するには、次のようにします。

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


    関連項目:

    このインタフェースの詳細は、コネクタに同梱されているJavadocを参照してください。

    この変換クラスは、変換メソッドを実装する必要があります。次のサンプル変換クラスは、ターゲット・システムの__NAME__属性からフェッチした値を使用して、Username属性を作成します。

    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 sUserName = (String) hmUserDetails.get("__NAME__");
            return sUserName + "@example.com";
            }
    }
    
  2. Javaクラスを保持するJARファイルを作成します。

  3. Oracle Identity Manager JARアップロード・ユーティリティを実行して、手順2で作成したJARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。


    注意:

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

    • For 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. Lookup.JDE.UM.ReconTransformationsという名前で新しい参照定義を作成し、次のエントリを追加します。

    1. Design Consoleにログインします。

    2. 「Administration」を開き、「Lookup Definition」をダブルクリックします。

    3. 「コード」フィールドに、参照定義の名前としてLookup.JDE.UM.ReconTransformationsを入力します。

    4. 「Field」フィールドに、テキスト・フィールド、参照フィールドまたはボックス・フィールドにアクセスできるOracle Identity Managerまたはユーザー作成のフォームまたはタブの表の列名を入力します。

    5. 「Lookup Type」オプションを選択します。

    6. 「Lookup Code Information」タブで「Add」をクリックします。

    7. 「Code Key」列に、変換を適用する属性の名前を入力します。たとえば、FirstNameです。

    8. 「Decode」列に、クラス・ファイルの名前を入力します。例: oracle.iam.connectors.jde.Transformation

    9. 参照定義を保存します。

  5. キャッシュをパージしてOracle Identity Managerに反映されている変更を取得します。キャッシュのパージの詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理を参照してください。

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

ターゲット・システムの複数のインストールに対してコネクタを構成する場合があります。次の例でこの要件について説明します。

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

このような例で示される要件に対応するには、ITリソースやリソース・オブジェクトなどのコネクタ・オブジェクトのコピーを作成できます。

コネクタ・オブジェクトのコピーを作成するかどうかの決定は、要件に基づきます。たとえば、ITリソースは1つのターゲット・システム・インストールの接続情報を保持できます。このため、ターゲット・システムのインストールごとにITリソースのコピーを作成する必要があります。

これ以外のコネクタ・オブジェクトの一部については、コピーを作成する必要はありません。たとえば、ターゲット・システムのすべてのインストールに対して単一の属性マッピング参照定義を使用できます。

ターゲット・システムの複数のインストールに対してコネクタを構成するには、次のようにします。

  1. ターゲット・システムの第2インスタンス用にjdbj.ini、jdeinterop.ini、jdelog.propertiesおよびtnsnames.oraファイルを取得し、それぞれのデプロイ要件に応じて構成します。詳細は、第2.1.1.3項「JDEプロパティ・ファイルの構成」を参照してください。

  2. 異なるバージョンでJDEコネクタ・バンドルを作成します。手順は次のとおりです。

    1. インストール・メディアのbundle/org.identityconnectors.jde-1.0.1115.jarファイルの内容を一時ディレクトリに抽出します。

    2. テキスト・エディタで、編集のためにMETA-INFディレクトリに存在するMANIFEST.MFファイルを開きます。

    3. ConnectorBundle-Version属性の新しい値を指定します。たとえば、新しい値として1.0.1117を指定します。

    4. 保存してファイルを閉じます。

    5. 第2.2.1.2項「コネクタ・バンドルの変更」のステップ2で説明されている手順を実行して、JARファイルを更新します。

    6. 新しいバージョンを反映するようにコネクタ・バンドルの名前を変更します。たとえば、org.identityconnectors.jde-1.0.1117.jarです。

  3. Oracle Identity ManagerのJARアップロード・ユーティリティを実行して、データベースに新しく作成したJARファイル(org.identityconnectors.jde-1.0.1117.jarファイルなど)をアップロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。


    注意:

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

    • For 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 (ICFBundle)を指定します。


    関連項目:

    JARアップロード・ユーティリティの詳細は、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのJARおよびリソース・バンドルの移行に関する項を参照してください。

  4. ターゲット・システムのこのインスタンスに対して構成参照定義を作成します。たとえば、Lookup.JDE.Configuration1という名前で参照定義を作成します。

  5. この参照定義に次のエントリを追加し、デコード列に対応する値を指定します。

    • Connector Name

    • Bundle Version

    • User Configuration Lookup

    • Bundle Name


    注意:

    Bundle Versionのデコード値が手順2で指定した最新バージョンであることを確認してください。たとえば、1.0.1117です。Bundle Version以外のすべてのエントリでは、Lookup.JDE.Configuration参照定義に存在するものと同じ値を指定できます。

  6. JDE ITリソース・タイプのITリソースを作成します。この新しく作成したITリソースの構成参照パラメータの値に、手順4で作成した参照定義の名前が含まれることを確認してください。

  7. コネクタ・サーバーを使用している場合、次の部分を変更してこの項の手順1から7までを繰り返します。

    この手順の手順3を実行するときに、新しく作成したJARファイルをOracle Identity Managerデータベースにアップロードするかわりに、それをCONNECTOR_SERVER_DIR/bundlesディレクトリにコピーします。