この章には、次のオプションの手順が含まれます:
ノート:
Oracle Identity Managerリリース11.1.2以降では、参照問合せはサポートされません。Oracle Identity Managerシステム管理コンソールでの「フォーム・デザイナ」を使用した参照の管理の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理の参照の管理を参照してください。
コネクタでは、CSV形式でエクスポートされたフラット・ファイルの処理がデフォルトでサポートされます。CSV以外の形式でエクスポートされたフラット・ファイルの処理をサポートするには、カスタム・パーサーを作成してそれをコネクタに統合する必要があります。
デフォルトで、コネクタ・インストール・メディアにCSVParserが含まれます。
このセクションには次のトピックが含まれます:
カスタム・パーサーの作成について学びます。
カスタム・パーサーを構成するには、必要なカスタム・パーサー・ロジックを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 }
必須属性にnullまたは空の値が含まれる場合、そのようなレコードの処理をスキップするか、それらのレコードをパーサー・レベルで記録できます。
デフォルトのCSVParserは、必須属性のチェックを実行します。必須属性にnullまたは空の値が含まれる場合、CSVパーサーは、フラット・ファイルを含むディレクトリ内にfailedというディレクトリを作成し、障害レコードを同じ名前のフラット・ファイルにコピーします。
FlatFileSchemaオブジェクトのgetMandatoryAttrs()メソッドは、コネクタによって必要とされる属性のリストを戻します。FlatFileSchemaオブジェクトは、parseメソッドのparserConfigパラメータから取得されます。getComplexMandatoryAttributes()メソッドは、複雑な属性のリストを戻し、getSimpleMandatoryAttributes()メソッドは、単純な属性のリストを戻します。
フィルタは、パーサー・レベルで指定できます。レコードは、フィルタに一致すると処理され、それ以外ではスキップされます。
パーサー・レベルでは、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 }
複数値属性には2つのタイプ(複雑および単純)があります。単純な複数値属性には、サブフィールドが含まれません。複雑な複数値属性には、サブフィールドが含まれます。
例1: ロールは、複雑な複数値属性で、ロール名、開始日、終了日などのサブフィールドが含まれます。コネクタでは、サブフィールドとその値がキーと値のペアとして含まれるマッピングのリストで複雑なデータが表される必要があります。次に、データを表すための書式を示します。
ユーザーに割り当てるrole1、role2、role3などの3つのロールがある場合、コネクタでは、次の書式でこれらのマップのリストが必要です。
< Role1 Map, Role2 Map, Role3 Map>のリスト。
この場合、ロールの値は、それ自体がキー(サブフィールド名)とその値(サブフィールド値)を持つマップです。
例2: グループは、単純な複数値属性で、group1、group2、group3などが含まれます。この場合、コネクタでは、次の書式でこれらすべての値のリストが必要です。
<Group1, Group2, Group3>のリスト。
カスタム・パーサーを使用する前に、この手順を実行してカスタム・パーサーをコネクタに統合します。
カスタム・パーサー・クラスを保持するJARファイルを作成します。
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ユーティリティのダウンロードに関する項。
次のようにorg.identityconnectors.flatfile-1.0.1115.jarファイルを更新します。
一時ディレクトリにorg.identityconnectors.flatfile-1.0.1115.jarファイルの内容を抽出します。
一時ディレクトリにlibというディレクトリを作成します。
ステップ1で作成したJARファイルをlibディレクトリにコピーします。
次のコマンドを実行して、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ファイルが変更されないことを確認してください。
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ユーティリティのアップロードに関する項
JARファイルの更新後に、Oracle Identity Managerサーバーを再起動します。
次のように構成参照定義を更新します。
Design Consoleにログインします。
ターゲット・システムをターゲット・リソースまたは信頼できるソースのどちらで構成したかによって、次の参照定義のいずれかを検索して開きます。
ターゲット・リソースの場合: Lookup.FlatFile.Configuration
信頼できるソースの場合: Lookup.FlatFile.Configuration.Trusted
「追加」をクリックします。
新しく追加された行に次の値を入力します。
コード・キー: parserClassName
デコード: カスタム・パーサーを実装するクラスの完全修飾名。
サンプル値: com.extension.parser.XMLParser
カスタム・パーサーでカスタム構成パラメータを使用する場合、「追加」をクリックして次のエントリを追加します。
コード・キー: customConfigParams
デコード: カスタム・パーサーによって使用されるカスタム構成パラメータを指定します。デコード値は、名前と値のペアの形式で指定する必要があります。つまり、次の形式で指定します。
NAME1=VALUE1;NAME2=VALUE2
サンプル値: Type=DOM;Version=1.0
「保存」をクリックします。
前処理および後処理タスクと、それらをコネクタに統合する手順について説明します。
このセクションには次のトピックが含まれます:
前処理タスクと後処理タスクは、それぞれアカウントのリコンシリエーションの前と後に実行できます。
これらのタスクを使用して、フラット・ファイル・ディレクトリで任意のジョブ(ファイルの圧縮、ファイルの解凍、完全なファイル・ダンプまたはファイル内の特定フィールドの暗号化と復号化、ファイルのウィルス・スキャン、またはこれらのタスクの実装によってのみ制限される他の任意のタスクなど)を実行できます。
この項には次のトピックが含まれます
前処理タスクのコードを記述する場合、クラスでは、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. } }
後処理タスクのコードを記述する場合、クラスでは、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. } }
これは、前処理および後処理タスクを使用する前にコネクタに統合する手順です。
前処理および後処理タスクを構成するには、次のようにします。
前処理または後処理タスク・クラスを保持するJARファイルを作成します。
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ユーティリティのダウンロードに関する項。
次のようにorg.identityconnectors.flatfile-1.0.1115.jarファイルを更新します。
一時ディレクトリにorg.identityconnectors.flatfile-1.0.1115.jarファイルの内容を抽出します。
一時ディレクトリにlibというディレクトリを作成します。
ステップ1で作成したJARファイルをlibディレクトリにコピーします。
次のコマンドを実行して、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ファイルが変更されないことを確認してください。
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ユーティリティのアップロードに関する項
jarの更新後に、Oracle Identity Managerサーバーを再起動します。
ステップ1から5までを繰り返し、後処理タスク・クラスを保持するJARファイルを作成して、そのJARファイルをOracle Identity Managerにコピーします。
次のように構成参照定義を更新します。
Design Consoleにログインします。
ターゲット・システムをターゲット・リソースまたは信頼できるソースのどちらで構成したかによって、次の参照定義のいずれかを検索して開きます。
ターゲット・リソースの場合: Lookup.FlatFile.Configuration
信頼できるソースの場合: Lookup.FlatFile.Configuration.Trusted
「追加」をクリックします。
前処理タスクのコードを記述した場合、新しく追加した行に次の値を入力します。
コード・キー: preProcessClassName
デコード: 前処理タスクを実装するクラスの完全修飾名。
サンプル値: com.extension.parser.PreProcessHandler
後処理タスクのコードを記述した場合、新しく追加した行に次の値を入力します。
コード・キー: postProcessClassName
デコード: 前処理タスクを実装するクラスの完全修飾名。
サンプル値: com.extension.parser.PostProcessHandler
「保存」をクリックします。
デフォルトで、コネクタのリコンシリエーション属性マップにリストされている属性は、Oracle Identity Managerとターゲット・システム間のリコンシリエーション用にマップされます。必要な場合には、ターゲット・リソースのリコンシリエーション用に新規属性を追加できます。
ノート:
この項ではオプションの手順を説明します。リコンシリエーション用の新規属性を追加しない場合は、この手順を実行する必要はありません。
ターゲット・リソースのリコンシリエーション用に新規属性を追加するには、次の手順を実行します。
ノート:
リコンシリエーション用に追加する新しい属性に文字列形式のデータのみが格納されていることを確認する必要があります。バイナリ属性は、Oracle Identity Managerにネイティブに送信しないでください。
Oracle Identity Manager Design Consoleにログインします。
次のようにして、OIMユーザー・プロセス・フォームに新しい属性を追加します。
「開発ツール」を開きます。
「フォーム・デザイナ」をダブルクリックします。
エンタープライズ・ターゲット・システムのプロセス・フォームを検索して開きます。たとえば、UD_ACME_USRです。
「Create New Version」をクリックします。
「Label」フィールドで、バージョン名を入力します。たとえば、version#1
です。
「保存」をクリックします。
「現在のバージョン」リストから、ステップ2.eで作成された現在のバージョンを選択します。
「Add」をクリックして新規属性を作成し、その属性の値を指定します。
たとえば、アドレス番号属性を追加する場合は、「Additional Columns」タブに次の値を入力します。
フィールド | 値 |
---|---|
名前 |
AddressNumber |
バリアント型 |
String |
長さ |
100 |
フィールド・ラベル |
AddressNumber |
順序 |
14 |
「保存」をクリックします。
「Make Version Active」をクリックします。
Design Consoleのフォーム・デザイナに対するすべての変更は、次のように新しいUIフォームで実行する必要があります。
Oracle Identity System Administrationにログインします。
サンドボックスを作成し、アクティブにします。詳細は、サンドボックスの作成およびアクティブ化を参照してください。
新たに追加したフィールドと残りのフィールドを表示するために新しいUIフォームを作成します。UIフォームの作成の詳細は、UIフォームの新規作成を参照してください。
新たに作成したUIフォームをターゲット・システムのアプリケーション・インスタンスに関連付けます。それを行うには、「フォーム」フィールドの、リソースの既存のアプリケーション・インスタンスを開き、(ステップ3.cで作成した)フォームを選択して、アプリケーション・インスタンスを保存します。
サンドボックスを公開します。詳細は、サンドボックスの公開を参照してください。
リソース・オブジェクトのリコンシリエーション属性のリストに、次のようにして、新しい属性を追加します。
「リソース管理」を開きます。
「リソース・オブジェクト」をダブルクリックします。
ターゲット・リソース・オブジェクトを検索して開きます。たとえば、「ACME User」です。
「Object Reconciliation」タブで、「Add field」をクリックし、次の値を入力します。
フィールド名: AddressNumber
フィールド・タイプ: String
「Save」をクリックしてダイアログ・ボックスを閉じます。
次のようにして、新しい属性用のリコンシリエーション・フィールド・マッピングをプロセス定義フォームに作成します。
「プロセス管理」を開きます。
「プロセス定義」をダブルクリックします。
「ACME User」プロセス定義を検索して開きます。
「Reconciliation Field Mappings」タブで、「Add Field Map」をクリックし、次の値を選択します。
フィールド名: AddressNumber
フィールド・タイプ: String
プロセス・データ・フィールド: AddressNumber
「保存」をクリックします。
対応するリソース・オブジェクトの「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。
リコンシリエーションの参照定義で、次のようにして、属性のエントリを作成します。
「管理」を展開します。
「参照定義」をダブルクリックします。
フラット・ファイル・コネクタのリコンシリエーション属性マップ参照定義を検索して開きます。
「Add」をクリックし、属性のコード・キーとデコードの値を入力します。コード・キーの値は、リソース・オブジェクトに指定された属性の名前である必要があります。デコードの値は、フラット・ファイルの対応する列の名前です。
たとえば、「Code Key」
フィールドにAddressNumberを入力し、「Decode」
フィールドにADDRS_NUMを入力します。コード・キーとデコードの値は両方とも同じであることに注意してください。
「保存」をクリックします。
ロール名などのサブフィールドを保持できるRolesなどの新しい複数値属性を追加できます。
ターゲット・リソースのリコンシリエーション用に新しい複数値属性を追加するには、次のようにします。
Oracle Identity Manager Design Consoleにログインします。
次のようにして、複数値フィールド用のフォームを作成します。
「Development Tools」を開き、「Form Designer」をダブルクリックします。
表の名前(UD_CARLICEN
など)および説明を指定してフォームを作成し、「Save」をクリックします。
「Add」をクリックしてフィールドの詳細を入力します。
「Save」をクリックし、「Make Version Active」をクリックします。
次のようにして、複数値フィールド用に作成されたフォームをプロセス・フォームの子フォームとして追加します。
親プロセス・フォームを検索して開きます。たとえば、US_ACMEUSRです。
「Create New Version」をクリックします。
「Child Table(s)」タブをクリックします。
「割当て」をクリックします。
「Assign Child Tables」ダイアログ・ボックスで、新規作成した子フォームを選択して右矢印をクリックした後、「OK」をクリックします。
「Save」をクリックし、「Make Version Active」をクリックします。
Design Consoleのフォーム・デザイナに対するすべての変更は、次のように新しいUIフォームで実行する必要があります。
Oracle Identity System Administrationにログインします。
サンドボックスを作成し、アクティブにします。詳細は、サンドボックスの作成およびアクティブ化を参照してください。
新たに追加したフィールドと残りのフィールドを表示するために新しいUIフォームを作成します。UIフォームの作成の詳細は、UIフォームの新規作成を参照してください。
新たに作成したUIフォームをターゲット・システムのアプリケーション・インスタンスに関連付けます。それを行うには、「フォーム」フィールドの、リソースの既存のアプリケーション・インスタンスを開き、(ステップ4.cで作成した)フォームを選択して、アプリケーション・インスタンスを保存します。
サンドボックスを公開します。詳細は、サンドボックスの公開を参照してください。
リソース・オブジェクトのリコンシリエーション・フィールドのリストに、次のようにして、新しい複数値フィールドを追加します。
Design Consoleにログインします。
「Resource Management」を開き、「Resource Objects」をダブルクリックします。
リソース・オブジェクトを検索して開きます。たとえば、「ACME User」です。
「Object Reconciliation」タブで、「Add field」をクリックします。
「Add Reconciliation Fields」ダイアログ・ボックスに、フィールドの詳細を入力します。
たとえば、「Field Name」
フィールドにcarlicensesと入力し、「Field Type」リストから「Multi Valued Attribute」を選択します。
「Save」をクリックしてダイアログ・ボックスを閉じます。
新規作成したフィールドを右クリックして、「Define Property Fields」を選択します。
「Add Reconciliation Fields」ダイアログ・ボックスに、新規作成したフィールドの詳細を入力します。
たとえば、「Field Name」フィールドにcarlicense
と入力し、「Field Type」リストから「String」を選択します。
「Save」をクリックしてダイアログ・ボックスを閉じます。
リコンシリエーションの参照定義で、次のようにして、フィールドのエントリを作成します。
「Administration」を開き、「Lookup Definition」をダブルクリックします。
リコンシリエーション属性マップ参照定義を検索して開きます。たとえば、Lookup.ACME.UM.ReconAttrMapです。
ノート:
ターゲット・システム・フィールドには、ターゲット・システムと同じ大文字または小文字を使用する必要があります。フィールド名では、大/小文字が区別されるためです。
「Add」をクリックし、フィールドの「Code Key」および「Decode」の値を入力して、「保存」をクリックします。コード・キーとデコードの値は次の形式にする必要があります。
コード・キー: MULTIVALUED_FIELD_NAME~CHILD_RESOURCE_OBJECT_FIELD_NAME
デコード: 対応するターゲット・システム属性。
たとえば、「Code Key」フィールドにはcarlicenses~carlicense
、「Decode」フィールドにはcarlicense
と入力します。
次のようにして、新しいフィールド用のリコンシリエーション・フィールド・マッピングを作成します。
「Process Management」を開き、「Process Definition」をダブルクリックします。
「ACME User」プロセス定義のいずれかを検索して開きます。
「ACME User」プロセス定義の「Reconciliation Field Mappings」タブで、「Add Table Map」をクリックします。
「Add Reconciliation Table Mapping」ダイアログ・ボックスで、リストからフィールド名と表名を選択し、「Save」をクリックしてダイアログ・ボックスを閉じます。
新規作成したフィールドを右クリックして、「Define Property Field Map」を選択します。
「Field Name」フィールドで、追加するフィールドの値を選択します。
「Process Data Field」フィールドをダブルクリックし、UD_CARLICENを選択します。
「Key Field for Reconciliation Field Matching」を選択し、「Save」をクリックします。
対応するリソース・オブジェクトの「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。
要件に応じて、リコンサイルされる単一値データの検証を構成できます。たとえば、「名」属性からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。
データの検証を構成するには:
必要な検証ロジックを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 */
Javaクラスを保持するJARファイルを作成します。
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を指定します。
リコンシリエーションのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
Design Consoleにログインします。
Lookup.FlatFile.UM.ReconValidation参照定義を検索して開きます。
ノート:
この参照定義が見つからない場合、それを作成します。
コード・キー列に、検証するリソース・オブジェクトのフィールド名(Username
など)を入力します。デコード列に、クラス名を入力します。たとえば、org.identityconnectors.flatfile.extension.ACMEValidator
などになります。
参照定義に変更を保存します。
Lookup.FlatFile.UM.Configuration参照定義を検索して開きます。
コード・キー列に、Recon Validation Lookup
を入力します。デコード列に、Lookup.FlatFile.UM.ReconValidation
を入力します。
参照定義に変更を保存します。
キャッシュをパージしてOracle Identity Managerに反映されている変更を取得します。Oracle Fusion Middleware Oracle Identity Managerの管理のキャッシュのパージに関する項を参照してください。
リコンサイルされた単一値データの変換を要件に応じて構成できます。たとえば、「名」および「姓」値を使用して、Oracle Identity Managerの「氏名」フィールドの値を作成できます。
ノート:
データ変換を構成するには、次のようにします。
必要な変換ロジックを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"; } }
Javaクラスを保持するJARファイルを作成します。
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を指定します。
次のようにLookup.FlatFile.UM.ReconTransformationという名前で新しい参照定義を作成します。
Design Consoleにログインします。
「Administration」を開き、「Lookup Definition」をダブルクリックします。
「Code」フィールドに、参照定義の名前としてLookup.FlatFile.UM.ReconTransformation
を入力します。
「Field」フィールドに、テキスト・フィールド、参照フィールドまたはボックス・フィールドにアクセスできるOracle Identity Managerまたはユーザー作成のフォームまたはタブの表の列名を入力します。
「Lookup Type」オプションを選択します。
「Lookup Code Information」タブで「Add」をクリックします。
「Code Key」列に、変換を適用する属性の名前を入力します。たとえば、FirstName
です。
「Decode」列に、クラス・ファイルの名前を入力します。たとえば、oracle.iam.connectors.flatfile.Transformation
です。
参照定義を保存します。
次のようにユーザー構成参照定義を更新します。
「Administration」を開き、「Lookup Definition」をダブルクリックします。
Lookup.FlatFile.UM.Configuration参照定義を検索して開きます。
「Lookup Code Information」タブで「Add」をクリックします。
新しい行が追加されます。
「Code Key」列に、Recon Transformation Lookup
を入力します。
「Decode」列に、Lookup.FlatFile.UM.ReconTransformation
を入力します。
参照定義に変更を保存します。
キャッシュをパージしてOracle Identity Managerに反映されている変更を取得します。キャッシュのパージの詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のキャッシュのパージに関する項を参照してください。
ターゲット・システムの複数のインストールに対してコネクタを構成するには、コネクタ・オブジェクトのコピーを作成する必要があります。
次の例では、ターゲット・システムの複数のインストールに対してコネクタを構成するためのこの要件について説明します:
Example Multinational社のロンドンとニューヨークの事業所では、異なる形式のフラット・ファイルを扱っていて、カスタム・パーサー、前処理および後処理ハンドラをこれらの異なる形式のそれぞれに関連付けたいと考えています。最近、この会社では、Oracle Identity Managerをインストールし、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。
このような例で示される要件に対応するには、ITリソースやリソース・オブジェクトなどのコネクタ・オブジェクトのコピーを作成できます。
コネクタ・オブジェクトのコピーを作成するかどうかの決定は、要件に基づきます。たとえば、ITリソースは1つのターゲット・システム・インストールの接続情報を保持できます。このため、ターゲット・システムのインストールごとにITリソースのコピーを作成する必要があります。
これ以外のコネクタ・オブジェクトの一部については、コピーを作成する必要はありません。たとえば、ターゲット・システムのすべてのインストールに対して単一の属性マッピング参照定義を使用できます。
ターゲット・システムの複数のインストールに対してコネクタを構成するには、次のようにします。
異なるバージョンでフラット・ファイル・コネクタ・バンドルを作成します。これには、次のようにします:
インストール・メディアのorg.identityconnectors.flatfile-1.0.1115.jarファイルの内容を一時ディレクトリに抽出します。
テキスト・エディタで、編集のためにMETA-INFディレクトリに存在するMANIFEST.MFファイルを開きます。
ConnectorBundle-Version属性の新しい値を指定します。たとえば、新しい値として1.0.1116
を指定します。
ファイルを保存して閉じます。
「カスタム・パーサーとフラット・ファイル・コネクタの統合」のステップ3に記載されている手順を実行してカスタム・パーサーを指定するか、「前処理および後処理タスクとフラット・ファイル・コネクタの統合」のステップ3に記載されている手順を実行してカスタムの前処理または後処理タスクを指定し、JARファイルをアップロードします。
新しいバージョンを反映するようにコネクタ・バンドルの名前を変更します。たとえば、org.identityconnectors.flatfile-1.0.1116.jarです。
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ユーティリティのアップロードに関する項
ターゲット・システムのこのインスタンスに対して構成参照定義を作成します。たとえば、Lookup.FlatFile.Configuration1という名前で参照定義を作成します。
この参照定義に次のエントリを追加し、デコード列に対応する値を指定します。
Connector Name
Bundle Version
User Configuration Lookup
Bundle Name
ノート:
Bundle Versionのデコード値がステップ2で指定した最新バージョンであることを確認してください。たとえば、1.0.1116
です。Bundle Version以外のすべてのエントリでは、Lookup.FlatFile.Configuration参照定義に存在するものと同じ値を指定できます。
フラット・ファイルITリソース・タイプのITリソースを作成します。この新しく作成したITリソースの構成参照パラメータの値に、ステップ3で作成した参照定義の名前が含まれることを確認してください。
コネクタ・サーバーを使用している場合、次の部分を変更してこの項のステップ1から5までを繰り返します。
この手順のステップ2を実行するときに、新しく作成したJARファイルをOracle Identity Managerデータベースにアップロードするかわりに、それをCONNECTOR_SERVER_DIR/bundlesディレクトリにコピーします。