プライマリ・コンテンツに移動
Oracle® Identity Managerフラット・ファイル・コネクタ・ガイド
リリース11.1.1
E53495-07
目次へ移動
目次
索引へ移動
索引

前
次

4 コネクタの機能拡張

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

この章には、次のオプションの手順が含まれます:

ノート:

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

4.1 カスタム・パーサーの構成

コネクタでは、CSV形式でエクスポートされたフラット・ファイルの処理がデフォルトでサポートされます。CSV以外の形式でエクスポートされたフラット・ファイルの処理をサポートするには、カスタム・パーサーを作成してそれをコネクタに統合する必要があります。

デフォルトで、コネクタ・インストール・メディアにCSVParserが含まれます。

このセクションには次のトピックが含まれます:

4.1.1 カスタム・パーサーの作成

カスタム・パーサーの作成について学びます。

4.1.1.1 カスタム・パーサーの作成について

カスタム・パーサーを構成するには、必要なカスタム・パーサー・ロジックをJavaクラスに実装するコードを記述する必要があります。

このカスタム・パーサー・クラスは、FlatFileParserインタフェースとparseメソッドを実装する必要があります。

ノート:

Oracle Identity ManagerとコンパイルされたクラスのJavaバージョンが同じであることを確認してください。

次の手順は、必要なカスタム・パーサー・ロジックを実装するためのコードを記述する方法を示しています。

class customParser implements FlatFileParser{

    void parse(File flatFile, FlatFileRecordHandler recordHandler, ParserConfig  
    config) {

    For each record in the flatFile, do the following:

    Start loop

        1) Perform mandatory attribute validation. If all the mandatory attributes
           are present, continue, else skip the record.
           See About Mandatory Attributes Validation for more 
           information on mandatory attribute validation.

        2) Check for the Filter. Skip this step if the filter is not present. If
           the filter is present and the record satisfies the filter, then
           continue, else, skip the record.
           See About Filters for more information on
           filters.

        3) Create a new FlatFileRecord object and populate all the
           attributes in the record.

            a) Get a list of fields to be sent from the parser, by using
               attributesToGet() method of ParserConfig object.
               The parser should only send these fields back to the requester,
               though the flat file may contain many more.

            b) Check if the field is a single or multivalued field by using the
               isMultiValued(fieldName) method of the FlatFileSchema object that
               is returned by the ParserConfig's getSchema() method.

                i) If the field is single-valued, then add it to the record by
                   using the FlatFileRecord's
                   addSingleValuedAttribute(fieldname,fieldValue).

                ii) If the field is a multivalued Attribute, then check if the
                    attribute is a complex multivalued Attribute. A complex
                    multivalued attribute is an attribute which contains
                    subfields. The getSubFields(fieldname)method of the schema
                    returns the list of subfields if they are present, or returns
                    null, if they are not.

                    ii.a) If the multivalued field does not contain subfields,
                          then add it to the record by using the FlatFileRecord's
                          method addMultiValueAttribute(fieldname, list of
                          attribute values).

                    ii.b) If the multivalued field contains subfields, then the
                          multivalued field is complex field. This value can be
                          added to the record by using the FlatFileRecord's method
                          addComplexAttribute(fieldname, list of map of values).

                          See About Handling Multivalued Attributes
                          for more information about multivalued attributes.

        4) Finally, pass the FlatFileRecord back to the requester by calling the
           RecordHandler's handle method.

    Endloop

    }

4.1.1.2 必須属性の検証について

必須属性にnullまたは空の値が含まれる場合、そのようなレコードの処理をスキップするか、それらのレコードをパーサー・レベルで記録できます。

デフォルトのCSVParserは、必須属性のチェックを実行します。必須属性にnullまたは空の値が含まれる場合、CSVパーサーは、フラット・ファイルを含むディレクトリ内にfailedというディレクトリを作成し、障害レコードを同じ名前のフラット・ファイルにコピーします。

FlatFileSchemaオブジェクトのgetMandatoryAttrs()メソッドは、コネクタによって必要とされる属性のリストを戻します。FlatFileSchemaオブジェクトは、parseメソッドのparserConfigパラメータから取得されます。getComplexMandatoryAttributes()メソッドは、複雑な属性のリストを戻し、getSimpleMandatoryAttributes()メソッドは、単純な属性のリストを戻します。

4.1.1.3 フィルタについて

フィルタは、パーサー・レベルで指定できます。レコードは、フィルタに一致すると処理され、それ以外ではスキップされます。

パーサー・レベルでは、andやorの式のない単純なフィルタのみがサポートされます。ただし、スケジュール済ジョブで「フィルタ」属性の値を指定して複雑なフィルタを指定できます(それらはICFでサポートされるため)。また、フィルタ基準を確認するためにフラット・ファイル全体が解析されるため、制限付きリコンシリエーションにはパフォーマンス・オーバーヘッドが伴います。

parseメソッドのParserConfigパラメータのgetFilter()メソッドは、FlatFileFilterオブジェクトを戻します。これは、属性名、属性値および演算子によって表されるフィルタ・オブジェクトです。

パーサーでは、次のようにequalsTo('username','johndoe')などのフィルタを使用できます。

FlatFileFilter filter=config.getFilter();
String filterFieldname=filter.getFieldName();
String filterValue=filter.getFieldValue();
Operators operator=filter.getOperator();
// since its equalsTO filter, the Operator will be Operators.EQUALS
If(operator.equals(Operators.EQUALS)){
    String userValue=getUserValue(filterFieldname);
    If(userValue.equals(filterValue))
    //process the record
    Else 
    //skip the record
}

4.1.1.4 複数値属性の処理について

複数値属性には2つのタイプ(複雑および単純)があります。単純な複数値属性には、サブフィールドが含まれません。複雑な複数値属性には、サブフィールドが含まれます。

例1: ロールは、複雑な複数値属性で、ロール名、開始日、終了日などのサブフィールドが含まれます。コネクタでは、サブフィールドとその値がキーと値のペアとして含まれるマッピングのリストで複雑なデータが表される必要があります。次に、データを表すための書式を示します。

ユーザーに割り当てるrole1、role2、role3などの3つのロールがある場合、コネクタでは、次の書式でこれらのマップのリストが必要です。

< Role1 Map, Role2 Map, Role3 Map>のリスト。

この場合、ロールの値は、それ自体がキー(サブフィールド名)とその値(サブフィールド値)を持つマップです。

例2: グループは、単純な複数値属性で、group1、group2、group3などが含まれます。この場合、コネクタでは、次の書式でこれらすべての値のリストが必要です。

<Group1, Group2, Group3>のリスト。

4.1.2 カスタム・パーサーとフラット・ファイル・コネクタの統合

カスタム・パーサーを使用する前に、この手順を実行してカスタム・パーサーをコネクタに統合します。

  1. カスタム・パーサー・クラスを保持するJARファイルを作成します。

  2. Oracle Identity ManagerのJARダウンロード・ユーティリティを実行して、データベースからorg.identityconnectors.flatfile-1.0.1115.jarファイルをダウンロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

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

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/DownloadJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/DownloadJars.sh

    このユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、ダウンロードするJARファイルのタイプ、およびJARファイルをダウンロードする場所を入力するように求められます。JARタイプの値として4 (ICFBundle)を指定します。

    関連項目:

    『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のJARユーティリティのダウンロードに関する項。

  3. 次のようにorg.identityconnectors.flatfile-1.0.1115.jarファイルを更新します。

    1. 一時ディレクトリにorg.identityconnectors.flatfile-1.0.1115.jarファイルの内容を抽出します。

    2. 一時ディレクトリにlibというディレクトリを作成します。

    3. ステップ1で作成したJARファイルをlibディレクトリにコピーします。

    4. 次のコマンドを実行して、org.identityconnectors.flatfile-1.0.1115.jarファイルを再作成します。

      jar -cvfm org.identityconnectors.flatfile-1.0.1115.jar META-INF/MANIFEST.MF *

      ノート:

      JARファイルの再作成中に、META-INF\MANIFEST.MFファイルが変更されないことを確認してください。

  4. Oracle Identity ManagerのJAR更新ユーティリティを実行して、データベースにorg.identityconnectors.flatfile-1.0.1115.jarファイルをアップロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/UpdateJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/UpdateJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFBundle)を指定します。

    関連項目:

    『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のJARユーティリティのアップロードに関する項

  5. JARファイルの更新後に、Oracle Identity Managerサーバーを再起動します。

  6. 次のように構成参照定義を更新します。

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

    2. ターゲット・システムをターゲット・リソースまたは信頼できるソースのどちらで構成したかによって、次の参照定義のいずれかを検索して開きます。

      ターゲット・リソースの場合: Lookup.FlatFile.Configuration

      信頼できるソースの場合: Lookup.FlatFile.Configuration.Trusted

    3. 「追加」をクリックします。

    4. 新しく追加された行に次の値を入力します。

      コード・キー: parserClassName

      デコード: カスタム・パーサーを実装するクラスの完全修飾名。

      サンプル値: com.extension.parser.XMLParser

    5. カスタム・パーサーでカスタム構成パラメータを使用する場合、「追加」をクリックして次のエントリを追加します。

      コード・キー: customConfigParams

      デコード: カスタム・パーサーによって使用されるカスタム構成パラメータを指定します。デコード値は、名前と値のペアの形式で指定する必要があります。つまり、次の形式で指定します。

      NAME1=VALUE1;NAME2=VALUE2

      サンプル値: Type=DOM;Version=1.0

    6. 「保存」をクリックします。

4.2 前処理および後処理タスクの構成

前処理および後処理タスクと、それらをコネクタに統合する手順について説明します。

このセクションには次のトピックが含まれます:

4.2.1 前処理および後処理タスクの理解

前処理タスクと後処理タスクは、それぞれアカウントのリコンシリエーションの前と後に実行できます。

これらのタスクを使用して、フラット・ファイル・ディレクトリで任意のジョブ(ファイルの圧縮、ファイルの解凍、完全なファイル・ダンプまたはファイル内の特定フィールドの暗号化と復号化、ファイルのウィルス・スキャン、またはこれらのタスクの実装によってのみ制限される他の任意のタスクなど)を実行できます。

この項には次のトピックが含まれます

4.2.1.1 前処理タスクについて

前処理タスクのコードを記述する場合、クラスでは、FlatFilePreProcessHandlerインタフェースとpreProcessメソッドを実装する必要があります。

preProcessメソッドのパラメータは次のとおりです。

  • flatFileDir

    このパラメータは、フラット・ファイルを含むディレクトリのパスを指定します。

  • configMap

    このパラメータは、メイン構成参照定義とスケジュール済ジョブのすべての構成パラメータのマッピングを含みます。

次の手順は、FlatFilePreProcessHandlerインタフェースを実装するためのコードを記述する方法を示しています。

Class preProcessTask implements FlatFilePreProcessHandler{

    void preProcess(java.io.File flatFileDir,
        java.util.Map<java.lang.String,java.lang.Object> configMap) throws java.lang.Exception{

        //perform the pre process task like unzip and decrypting the files etc.

    }

}

4.2.1.2 後処理タスクについて

後処理タスクのコードを記述する場合、クラスでは、FlatFilePostProcessHandlerインタフェースとpostProcessメソッドを実装する必要があります。

postProcessメソッドのパラメータは次のとおりです。

  • flatFileDir

    このパラメータは、フラット・ファイルを含むディレクトリのパスを指定します。

  • configMap

    このパラメータは、メイン構成参照定義とスケジュール済ジョブのすべての構成パラメータのマッピングを含みます。

次の手順は、FlatFilePostProcessHandlerインタフェースを実装するためのコードを記述する方法を示しています。

Class postProcessTask implements FlatFilePostProcessHandler{

    void postProcess(java.io.File flatFileDir,
        java.util.Map<java.lang.String,java.lang.Object> configMap) throws java.lang.Exception{

        //perform the post process task like encrypting the files,
        //password protecting files etc.

    }

}

4.2.2 前処理および後処理タスクとフラット・ファイル・コネクタの統合

これは、前処理および後処理タスクを使用する前にコネクタに統合する手順です。

前処理および後処理タスクを構成するには、次のようにします。

  1. 前処理または後処理タスク・クラスを保持するJARファイルを作成します。

  2. Oracle Identity ManagerのJARダウンロード・ユーティリティを実行して、データベースからorg.identityconnectors.flatfile-1.0.1115.jarファイルをダウンロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

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

    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/DownloadJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/DownloadJars.sh

    このユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、ダウンロードするJARファイルのタイプ、およびJARファイルをダウンロードする場所を入力するように求められます。JARタイプの値として4 (ICFBundle)を指定します。

    関連項目:

    『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のJARユーティリティのダウンロードに関する項。

  3. 次のようにorg.identityconnectors.flatfile-1.0.1115.jarファイルを更新します。

    1. 一時ディレクトリにorg.identityconnectors.flatfile-1.0.1115.jarファイルの内容を抽出します。

    2. 一時ディレクトリにlibというディレクトリを作成します。

    3. ステップ1で作成したJARファイルをlibディレクトリにコピーします。

    4. 次のコマンドを実行して、org.identityconnectors.flatfile-1.0.1115.jarファイルを再作成します。

      jar -cvfm org.identityconnectors.flatfile-1.0.1115.jar META-INF/MANIFEST.MF *

      ノート:

      JARファイルの再作成中に、META-INF\MANIFEST.MFファイルが変更されないことを確認してください。

  4. Oracle Identity ManagerのJAR更新ユーティリティを実行して、データベースにorg.identityconnectors.flatfile-1.0.1115.jarファイルをアップロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/UpdateJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/UpdateJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFBundle)を指定します。

    関連項目:

    『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のJARユーティリティのアップロードに関する項

  5. jarの更新後に、Oracle Identity Managerサーバーを再起動します。

  6. ステップ1から5までを繰り返し、後処理タスク・クラスを保持するJARファイルを作成して、そのJARファイルをOracle Identity Managerにコピーします。

  7. 次のように構成参照定義を更新します。

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

    2. ターゲット・システムをターゲット・リソースまたは信頼できるソースのどちらで構成したかによって、次の参照定義のいずれかを検索して開きます。

      ターゲット・リソースの場合: Lookup.FlatFile.Configuration

      信頼できるソースの場合: Lookup.FlatFile.Configuration.Trusted

    3. 「追加」をクリックします。

    4. 前処理タスクのコードを記述した場合、新しく追加した行に次の値を入力します。

      コード・キー: preProcessClassName

      デコード: 前処理タスクを実装するクラスの完全修飾名。

      サンプル値: com.extension.parser.PreProcessHandler

    5. 後処理タスクのコードを記述した場合、新しく追加した行に次の値を入力します。

      コード・キー: postProcessClassName

      デコード: 前処理タスクを実装するクラスの完全修飾名。

      サンプル値: com.extension.parser.PostProcessHandler

    6. 「保存」をクリックします。

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

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

ノート:

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

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

ノート:

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

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

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

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

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

    3. エンタープライズ・ターゲット・システムのプロセス・フォームを検索して開きます。たとえば、UD_ACME_USRです。

    4. 「Create New Version」をクリックします。

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

    6. 「保存」をクリックします。

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

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

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

      フィールド

      名前

      AddressNumber

      バリアント型

      String

      長さ

      100

      フィールド・ラベル

      AddressNumber

      順序

      14

    9. 「保存」をクリックします。

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

  3. Design Consoleのフォーム・デザイナに対するすべての変更は、次のように新しいUIフォームで実行する必要があります。

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

    2. サンドボックスを作成し、アクティブにします。詳細は、サンドボックスの作成およびアクティブ化を参照してください。

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

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

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

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

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

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

    3. ターゲット・リソース・オブジェクトを検索して開きます。たとえば、「ACME User」です。

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

      フィールド名: AddressNumber

      フィールド・タイプ: String

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

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

    1. 「プロセス管理」を開きます。

    2. 「プロセス定義」をダブルクリックします。

    3. 「ACME User」プロセス定義を検索して開きます。

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

      フィールド名: AddressNumber

      フィールド・タイプ: String

      プロセス・データ・フィールド: AddressNumber

    5. 「保存」をクリックします。

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

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

    1. 「管理」を展開します。

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

    3. フラット・ファイル・コネクタのリコンシリエーション属性マップ参照定義を検索して開きます。

    4. 「Add」をクリックし、属性のコード・キーデコードの値を入力します。コード・キーの値は、リソース・オブジェクトに指定された属性の名前である必要があります。デコードの値は、フラット・ファイルの対応する列の名前です。

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

    5. 「保存」をクリックします。

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

ロール名などのサブフィールドを保持できるRolesなどの新しい複数値属性を追加できます。

ターゲット・リソースのリコンシリエーション用に新しい複数値属性を追加するには、次のようにします。

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

  2. 次のようにして、複数値フィールド用のフォームを作成します。

    1. 「Development Tools」を開き、「Form Designer」をダブルクリックします。

    2. 表の名前(UD_CARLICENなど)および説明を指定してフォームを作成し、「Save」をクリックします。

    3. 「Add」をクリックしてフィールドの詳細を入力します。

    4. 「Save」をクリックし、「Make Version Active」をクリックします。

  3. 次のようにして、複数値フィールド用に作成されたフォームをプロセス・フォームの子フォームとして追加します。

    1. 親プロセス・フォームを検索して開きます。たとえば、US_ACMEUSRです。

    2. 「Create New Version」をクリックします。

    3. 「Child Table(s)」タブをクリックします。

    4. 「割当て」をクリックします。

    5. 「Assign Child Tables」ダイアログ・ボックスで、新規作成した子フォームを選択して右矢印をクリックした後、「OK」をクリックします。

    6. 「Save」をクリックし、「Make Version Active」をクリックします。

  4. Design Consoleのフォーム・デザイナに対するすべての変更は、次のように新しいUIフォームで実行する必要があります。

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

    2. サンドボックスを作成し、アクティブにします。詳細は、サンドボックスの作成およびアクティブ化を参照してください。

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

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

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

  5. リソース・オブジェクトのリコンシリエーション・フィールドのリストに、次のようにして、新しい複数値フィールドを追加します。

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

    2. 「Resource Management」を開き、「Resource Objects」をダブルクリックします。

    3. リソース・オブジェクトを検索して開きます。たとえば、「ACME User」です。

    4. 「Object Reconciliation」タブで、「Add field」をクリックします。

    5. 「Add Reconciliation Fields」ダイアログ・ボックスに、フィールドの詳細を入力します。

      たとえば、「Field Name」フィールドにcarlicensesと入力し、「Field Type」リストから「Multi Valued Attribute」を選択します。

    6. 「Save」をクリックしてダイアログ・ボックスを閉じます。

    7. 新規作成したフィールドを右クリックして、「Define Property Fields」を選択します。

    8. 「Add Reconciliation Fields」ダイアログ・ボックスに、新規作成したフィールドの詳細を入力します。

      たとえば、「Field Name」フィールドにcarlicenseと入力し、「Field Type」リストから「String」を選択します。

    9. 「Save」をクリックしてダイアログ・ボックスを閉じます。

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

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

    2. リコンシリエーション属性マップ参照定義を検索して開きます。たとえば、Lookup.ACME.UM.ReconAttrMapです。

      ノート:

      ターゲット・システム・フィールドには、ターゲット・システムと同じ大文字または小文字を使用する必要があります。フィールド名では、大/小文字が区別されるためです。

    3. 「Add」をクリックし、フィールドの「Code Key」および「Decode」の値を入力して、「保存」をクリックします。コード・キーとデコードの値は次の形式にする必要があります。

      コード・キー: MULTIVALUED_FIELD_NAME~CHILD_RESOURCE_OBJECT_FIELD_NAME

      デコード: 対応するターゲット・システム属性。

      たとえば、「Code Key」フィールドにはcarlicenses~carlicense、「Decode」フィールドにはcarlicenseと入力します。

  7. 次のようにして、新しいフィールド用のリコンシリエーション・フィールド・マッピングを作成します。

    1. 「Process Management」を開き、「Process Definition」をダブルクリックします。

    2. 「ACME User」プロセス定義のいずれかを検索して開きます。

    3. 「ACME User」プロセス定義の「Reconciliation Field Mappings」タブで、「Add Table Map」をクリックします。

    4. 「Add Reconciliation Table Mapping」ダイアログ・ボックスで、リストからフィールド名と表名を選択し、「Save」をクリックしてダイアログ・ボックスを閉じます。

    5. 新規作成したフィールドを右クリックして、「Define Property Field Map」を選択します。

    6. 「Field Name」フィールドで、追加するフィールドの値を選択します。

    7. 「Process Data Field」フィールドをダブルクリックし、UD_CARLICENを選択します。

    8. 「Key Field for Reconciliation Field Matching」を選択し、「Save」をクリックします。

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

4.5 リコンシリエーション中のデータ検証の構成

要件に応じて、リコンサイルされる単一値データの検証を構成できます。たとえば、「名」属性からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。

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

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

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

    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環境変数が設定されていることを確認してください。

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

      ノート:

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

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

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

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

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

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

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

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

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

ノート:

  • この項ではオプションの手順を説明します。この手順は、リコンシリエーション時のデータの変換を構成する場合にのみ実行します。
  • 変換jarをコネクタ・バンドルにコピーしないでください。かわりに、JavaTaskとしてのみ登録してください。

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

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

    この変換クラスは、変換メソッドを実装する必要があります。次のサンプル変換クラスは、ターゲット・システムの__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環境変数が設定されていることを確認してください。

    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.FlatFile.UM.ReconTransformationという名前で新しい参照定義を作成します。

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

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

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

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

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

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

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

    8. 「Decode」列に、クラス・ファイルの名前を入力します。たとえば、oracle.iam.connectors.flatfile.Transformationです。

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

  5. 次のようにユーザー構成参照定義を更新します。

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

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

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

      新しい行が追加されます。

    4. 「Code Key」列に、Recon Transformation Lookupを入力します。

      「Decode」列に、Lookup.FlatFile.UM.ReconTransformationを入力します。

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

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

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

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

次の例では、ターゲット・システムの複数のインストールに対してコネクタを構成するためのこの要件について説明します:

Example Multinational社のロンドンとニューヨークの事業所では、異なる形式のフラット・ファイルを扱っていて、カスタム・パーサー、前処理および後処理ハンドラをこれらの異なる形式のそれぞれに関連付けたいと考えています。最近、この会社では、Oracle Identity Managerをインストールし、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。

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

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

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

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

  1. 異なるバージョンでフラット・ファイル・コネクタ・バンドルを作成します。これには、次のようにします:

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

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

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

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

    5. 「カスタム・パーサーとフラット・ファイル・コネクタの統合」のステップ3に記載されている手順を実行してカスタム・パーサーを指定するか、「前処理および後処理タスクとフラット・ファイル・コネクタの統合」のステップ3に記載されている手順を実行してカスタムの前処理または後処理タスクを指定し、JARファイルをアップロードします。

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

  2. Oracle Identity ManagerのJARアップロード・ユーティリティを実行して、データベースに新しく作成したJARファイル(org.identityconnectors.flatfile-1.0.1116.jarファイルなど)をアップロードします。このユーティリティは、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タイプの値として4 (ICFBundle)を指定します。

    関連項目:

    『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のJARユーティリティのアップロードに関する項

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

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

    • Connector Name

    • Bundle Version

    • User Configuration Lookup

    • Bundle Name

    ノート:

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

  5. フラット・ファイルITリソース・タイプのITリソースを作成します。この新しく作成したITリソースの構成参照パラメータの値に、ステップ3で作成した参照定義の名前が含まれることを確認してください。

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

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