プライマリ・コンテンツに移動
Oracle® Identity Manager Google Appsコネクタ・ガイド
リリース11.1.1
E50139-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 コネクタの機能拡張

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


注意:

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

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

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

検証チェックで合格しないデータについては、次のメッセージが表示されるか、ログ・ファイルに記録されます。

属性 ATTRIBUTE_NAMEの検証に失敗しました。


注意:

この機能は、ターゲット・システムのロック/ロック解除ステータス属性には適用できません。

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

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

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

    boolean validate(HashMap hmUserDetails, HashMap hmEntitlementDetails, String field)
    

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

    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 sGivenName=(String) hmUserDetails.get(field);
                for(int i=0;i<sGivenName.length();i++){
                  if (sGivenName.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.GoogleApps.UM.ReconValidationという参照定義を作成します。

    3. コード・キーに、検証するリソース・オブジェクト・フィールド名を入力します。たとえば、Given Nameとします。デコードに、クラス名を入力します。たとえば、org.identityconnectors.googleapps.extension.GAPPSValidatorです。

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

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

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

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

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

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

    2. Lookup.GoogleApps.UM.ProvValidationという参照定義を作成します。

    3. 「Code Key」列に、プロセス・フォーム・フィールド名を入力します。たとえば、Given Nameとします。デコード列に、クラス名を入力します。たとえば、org.identityconnectors.googleapps.extension.GAPPSValidatorです。

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

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

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

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

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

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


注意:

この機能は、ターゲット・システムのロック/ロック解除ステータス属性には適用できません。

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

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

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

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

    次のサンプル変換クラスは、ターゲット・システムのGiven Name属性およびFamily 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 sGivenName= (String)hmUserDetails.get("Given Name");
          String sFamilyName= (String)hmUserDetails.get("Family Name");
          String sFullName=sGivenName+"."+sFamilyName;
          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.GoogleApps.UM.ReconTransformationという参照定義を作成します。

    3. コード・キー列に、変換を適用するリソース・オブジェクト・フィールド名を入力します。たとえば、Given Nameとします。デコード列に、変換ロジックを実装するクラスの名前を入力します。たとえば、oracle.iam.connectors.common.transform.TransformAttributeです。

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

  5. 次のように、Lookup.GoogleApps.UM.Configuration参照定義にエントリを追加して、変換を有効にします。

    1. 「管理」を展開して、「参照定義」をダブルクリックします。

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

    3. コード・キー列に、Recon Transformation Lookupと入力します。デコード列に、列に、Lookup.GoogleApps.UM.ReconTransformationと入力します。

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

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

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

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

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

4.4 コネクタの定義

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

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

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

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

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

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

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

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

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