この章では、特定のビジネス要件に対応するためにコネクタの機能を拡張する実行可能な手順について説明します。この章では、次の項目について説明します。
この章の一部の項では、リコンシリエーションとプロビジョニング用の新しい属性をマッピングする手順について説明します。これらの手順の1つでは、ターゲット・システムとOracle Identity Manager属性の間のマッピングを含む参照定義のエントリを作成します。これらの参照定義のデコード値には、属性がアイデンティティ管理サービスか認証マネージャ属性かを指定する必要のある設定が含まれます。
属性がアイデンティティ管理サービスか認証マネージャ属性かを判別するには、次のようにします。
RSAセキュリティ・コンソールにログインします。
「アイデンティティ」リストから、「ユーザー」を選択してから「既存の管理」を選択します。
検索機能を使用して1人のユーザーまたはすべてのユーザーの詳細を表示します。
表示されるユーザーのリストで、ユーザーIDの横の矢印をクリックします。
表示されたメニューから、次のようにします。
アイデンティティ管理サービス属性のリストを表示するには、「表示」を選択します。
認証マネージャ属性のリストを表示するには、「認証設定」を選択します。
注意:
|
デフォルトでは、表1-5および表1-7に示した属性が、リコンシリエーション用にOracle Identity Managerとターゲット・システム間でマップされます。必要に応じて、リコンシリエーション用に新しい属性(標準またはカスタム)を追加できます。
リコンシリエーションのための新規ユーザーまたはトークン属性を追加する手順の概要
プロセス・フォームに新しい属性を追加します。
リソース・オブジェクトのリコンシリエーション・フィールドのリストに属性を追加します。
属性用のリコンシリエーション・フィールド・マッピングをプロセス定義に作成します。
属性マッピングを保持する参照定義のフィールドにエントリを作成します。
デザイン・コンソールのフォーム・デザイナに対するすべての変更を新しいUIフォームで実行します。
リコンシリエーションのための新規ユーザーまたはトークン属性を追加するには、次のようにします。
注意: この手順の詳細は、『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』を参照してください。 プロビジョニングのための属性をすでに追加している場合、その手順の一部として実行した手順を繰り返す必要はありません。 |
Oracle Identity Manager Design Consoleにログインします。
次のようにして、属性をプロセス・フォームに追加します。
「Development Tools」を開き、「Form Designer」をダブルクリックします。
ユーザー属性を追加する場合は、UD_AMUSERプロセス・フォームを検索して開きます。
トークン属性を追加する場合は、UD_AMTOKENプロセス・フォームを検索して開きます。
「Create New Version」をクリックし、「Add」をクリックします。
フィールドの詳細を入力します。
たとえば、「EMAIL」フィールドを追加している場合は、「名前」フィールドにUD_AMUSER_EMAIL
を入力し、続いて他の詳細(変数の型、長さ、フィールド・ラベル、フィールド・タイプなど)を入力します。
保存アイコンをクリックし、「バージョンのアクティブ化」をクリックします。次のスクリーンショットは、プロセス・フォームに追加された新規フィールドを示しています。
リソース・オブジェクトのリコンシリエーション属性のリストに、次のようにして、新しい属性を追加します。
「Resource Management」を開き、「Resource Objects」をダブルクリックします。
RSA Auth Manager UserまたはRSA Auth Manager Tokenリソース・オブジェクトのいずれかを検索して開きます。
「Object Reconciliation」タブで、「Add field」をクリックします。
フィールドの詳細を入力します。
たとえば、「フィールド名」フィールドにEMAIL
と入力し、「フィールド・タイプ」リストから「文字列」を選択します。
この手順でこの後、リコンシリエーションのための参照定義の中に作成するエントリのコード値として、フィールド名を入力します。
「Save」アイコンをクリックします。次のスクリーンショットは、リソース・オブジェクトに追加された新しいリコンシリエーション・フィールドを示しています。
「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。
次のようにして、新しい属性用のリコンシリエーション・フィールド・マッピングをプロセス定義に作成します。
「Process Management」を開き、「Process Definition」をダブルクリックします。
RSA Auth Manager UserまたはRSA Auth Manager Tokenプロセス定義のいずれかを検索して開きます。
RSA Auth Manager Userプロセス定義のリコンシリエーション・フィールド・マッピング・タブで、「フィールド・マップの追加」をクリックします。
「フィールド名」リストから、マップするフィールドを選択します。
「プロセス・データ・フィールド」フィールドをダブルクリックし、属性に対する列を選択します。たとえば、UD_AMUSER_EMAILを選択します。
「Save」アイコンをクリックします。次のスクリーンショットは、プロセス定義のプロセス・データ・フィールドにマップされた新しいリコンシリエーション・フィールドを示しています。
リコンシリエーションの参照定義で、次のようにして、フィールドのエントリを作成します。
「Administration」を展開します。
「Lookup Definition」をダブルクリックします。
次のいずれかの参照定義を検索して開きます。
ユーザーの場合: Lookup.RSAAM.UM.ReconAttrMap
トークンの場合: Lookup.RSAAM.Token.ReconAttrMap
「Add」をクリックし、フィールドのコード・キー値とデコード値を入力します。コード・キー値は、リソース・オブジェクトのフィールドの名前と同じにする必要があります。
ユーザーのデコード形式の詳細は、第1.7.1項「ターゲット・リソース・リコンシリエーション用のユーザー・フィールド」を参照してください。
トークンのデコード形式の詳細は、第1.7.4項「ターゲット・リソース・リコンシリエーション用のトークン・フィールド」を参照してください。
「Save」アイコンをクリックします。次のスクリーンショットは、参照定義に追加されたエントリを示しています。
デザイン・コンソールのフォーム・デザイナに対するすべての変更(手順2)を、次のように新しいUIフォームで実行します。
Oracle Identity System Administrationにログインします。
サンドボックスを作成してアクティブ化します。詳細は、第2.3.1.2.1項「サンドボックスの作成とアクティブ化」を参照してください。
新たに追加したフィールドと残りのフィールドを表示するために新しいUIフォームを作成します。UIフォームの作成の詳細は、第2.3.1.2.2項「UIフォームの新規作成」を参照してください。
新たに作成したUIフォームをターゲット・システムのアプリケーション・インスタンスに関連付けます。それを行うには、「フォーム」フィールドの、リソースの既存のアプリケーション・インスタンスを開き、(ステップ6.cで作成した)フォームを選択して、アプリケーション・インスタンスを保存します。
サンドボックスを公開します。詳細は、第2.3.1.2.5項「サンドボックスの公開」を参照してください。
デフォルトでは、表1-10および表1-11に示した属性が、プロビジョニング用にOracle Identity Managerとターゲット・システム間でマップされます。必要に応じて、追加の属性をプロビジョニング用にマップできます。
注意: 単一値属性のみがプロビジョニングのためにマップできます。 |
プロビジョニングのための新規ユーザーまたはトークン属性を追加する手順の概要
プロセス・フォームに新しい属性を追加します。
属性マッピングを保持する参照定義の属性にエントリを作成します。
プロビジョニング操作中の属性の更新を有効にするタスクを作成します。
デザイン・コンソールのフォーム・デザイナに対するすべての変更を新しいUIフォームで実行します。
プロビジョニングのための新規ユーザーまたはトークン属性を追加するには、次のようにします。
注意: この手順の詳細は、『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』を参照してください。 リコンシリエーションのための属性をすでに追加している場合、その手順の一部として実行した手順を繰り返す必要はありません。 |
Oracle Identity Manager Design Consoleにログインします。
次のようにして、属性をプロセス・フォームに追加します。
「Development Tools」を開き、「Form Designer」をダブルクリックします。
ユーザー属性を追加する場合は、UD_AMUSERプロセス・フォームを検索して開きます。
トークン属性を追加する場合は、UD_AMTOKENプロセス・フォームを検索して開きます。
「Create New Version」をクリックし、「Add」をクリックします。
属性の詳細を入力します。
たとえば、「EMAIL」フィールドを追加する場合は、「名前」フィールドにUD_AMUSER_EMAIL
を入力し、続いてこのフィールドの残りの詳細を入力します。
保存アイコンをクリックし、「バージョンのアクティブ化」をクリックします。次のスクリーンショットは、プロセス・フォームに追加された新規フィールドを示しています。
プロビジョニングの参照定義で、次のようにして、属性のエントリを作成します。
「administration」を展開します。
「Lookup Definition」をダブルクリックします。
次のいずれかの参照定義を検索して開きます。
ユーザーの場合: Lookup.RSAAM.UM.ProvAttrMap
トークンの場合: Lookup.RSAAM.Token.ProvAttrMap
「追加」をクリックし、属性のコード・キー値とデコード値を入力します。デコード値を次のいずれかの形式で入力します。
ユーザーのデコード形式の詳細は、第1.8.2項「プロビジョニング用のユーザー・フィールド」を参照してください。
トークンのデコード形式の詳細は、第1.8.3項「プロビジョニング用のトークン・フィールド」を参照してください。
たとえば、コード・キー列にEMAIL
を入力し、デコード列にemail;IMS;Core;String;EMAIL
を入力します。次のスクリーンショットは、参照定義に追加されたエントリを示しています。
プロビジョニング操作中の属性の更新を有効にするタスクを作成します。
この手順を実行しない場合、Create Userプロビジョニング操作で属性の値を設定した後で、値を変更できなくなります。
プロビジョニング操作中の属性の更新を有効にするために、属性を更新するためのプロセス・タスクを次のように追加します。
関連項目: これらの手順の詳細は、Oracle Fusion Middleware Oracle Identity Manager開発者ガイドを参照してください。 |
「Process Management」を開き、「Process Definition」をダブルクリックします。
RSA Auth Manager UserまたはRSA Auth Manager Tokenプロセス定義のいずれかを検索して開きます。
「Add」をクリックします。
「新しいタスクの作成」ダイアログ・ボックスの「一般」タブで、タスクの名前と説明を入力し、次を選択します。
Conditional
Required for Completion
Allow Cancellation While Pending
Allow Multiple Instances
「Save」アイコンをクリックします。次のスクリーンショットは、プロセス定義に追加された新しいタスクを示しています。
「新しいタスクの作成」ダイアログ・ボックスの「統合」タブで、「追加」をクリックします。
ハンドラ選択ダイアログ・ボックスで「アダプタ」を選択し、adpRSAMUPDATEUSERをクリックして「保存」アイコンをクリックします。
「統合」タブにアダプタ変数のリストが表示されます。次のスクリーンショットは、アダプタ変数のリストを示しています。
最初のアダプタ変数のマッピングを作成するには:
最初の行の番号をダブルクリックします。
「変数のためのデータ・マッピングの編集」ダイアログ・ボックスで、次の値を入力します。
変数名: ParentFormProcessInstanceKey
マップ先: プロセス・データ
修飾子: プロセス・インスタンス
「Save」アイコンをクリックします。
残りのアダプタ変数のマッピングを作成するには、次の表に示すデータを使用します。
変数名 | データ型 | マップ先 | 修飾子 | リテラル値 |
---|---|---|---|---|
Adapter return value |
Object |
Response Code |
該当なし |
該当なし |
attributeFieldName |
String |
Literal |
String |
|
itResourceFieldName |
String |
Literal |
String |
UD_AMUSER_ITRESOURCE |
objectType |
String |
Literal |
String |
User |
processInstanceKey |
Long |
Process Data |
Process Instance |
該当なし |
「タスクの編集」ダイアログ・ボックスで、「保存」アイコンをクリックし、ダイアログ・ボックスを閉じます。
「Save」アイコンをクリックして変更をプロセス定義に保存します。
デザイン・コンソールのフォーム・デザイナに対するすべての変更(手順2)を、次のように新しいUIフォームで実行します。
Oracle Identity System Administrationにログインします。
サンドボックスを作成してアクティブ化します。詳細は、第2.3.1.2.1項「サンドボックスの作成とアクティブ化」を参照してください。
新たに追加したフィールドと残りのフィールドを表示するために新しいUIフォームを作成します。UIフォームの作成の詳細は、第2.3.1.2.2項「UIフォームの新規作成」を参照してください。
新たに作成したUIフォームをターゲット・システムのアプリケーション・インスタンスに関連付けます。それを行うには、「フォーム」フィールドの、リソースの既存のアプリケーション・インスタンスを開き、(ステップ5.cで作成した)フォームを選択して、アプリケーション・インスタンスを保存します。
サンドボックスを公開します。詳細は、第2.3.1.2.5項「サンドボックスの公開」を参照してください。
要件に応じて、リコンサイルおよびプロビジョニングした単一値データの検証を構成することができます。たとえば、「名」属性からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。また、プロセス・フォームの「名」フィールドに入力したデータを検証して、プロビジョニング操作中にターゲット・システムに番号記号(#)が送信されないようにします。
データの検証を構成するには:
必要な検証ロジックをJavaクラスに実装するコードを記述します。
次のサンプル検証クラスは、「名」属性の値に番号記号(#)が含まれるかどうかを確認します。
package org.identityconnectors.rsaam.extension; import java.util.*; public class RSAAMValidator { 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をインストールしたディレクトリに |
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を指定します。
関連項目: JARアップロード・ユーティリティの詳細は、Oracle Fusion Middleware Oracle Identity Manager開発者ガイドを参照してください。 |
リコンシリエーションのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
Design Consoleにログインします。
Lookup.RSAAM.UM.ReconValidationという参照定義を作成します。
コード・キー列に、検証するリソース・オブジェクト・フィールド名を入力します。たとえば、Firstname
です。デコード列に、クラス名を入力します。たとえば、org.identityconnectors.rsaam.extension.RSAAMValidator
です。
参照定義に変更を保存します。
Lookup.RSAAM.UM.Configuration参照定義を検索して開きます。
コード・キー列に、Recon Validation Lookup
を入力します。デコード列に、Lookup.RSAAM.UM.ReconValidation
を入力します。
参照定義に変更を保存します。
プロビジョニングのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
Design Consoleにログインします。
Lookup.RSAAM.UM.ProvValidationという名前で参照定義を作成します。
コード・キー列に、プロセス・フォームのフィールド・ラベルを入力します。たとえば、Firstname
です。デコード列に、クラス名を入力します。たとえば、org.identityconnectors.rsaam.extension.RSAAMValidator
です。
参照定義に変更を保存します。
Lookup.RSAAM.UM.Configuration参照定義を検索して開きます。
コード・キー列に、Provisioning Validation Lookup
を入力します。デコード列に、Lookup.RSAAM.UM.ProvValidation
を入力します。
参照定義に変更を保存します。
キャッシュをパージしてOracle Identity Managerに反映されている変更を取得します。キャッシュのパージの詳細は、『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』を参照してください。
注意: この項ではオプションの手順を説明します。この手順は、リコンシリエーション時のデータの変換を構成する場合にのみ実行します。 |
リコンサイルされた単一値データの変換を要件に応じて構成できます。たとえば、ドメイン名とユーザーIDを追加できます。
データ変換を構成するには、次のようにします。
必要な変換ロジックをJavaクラスに実装するコードを記述します。
この変換クラスは、変換メソッドを実装する必要があります。次のサンプル変換クラスは、ターゲット・システムの__NAME__属性からフェッチした値を使用して、User ID属性を変更します。
pacakge oracle.iam.connectors.rsaam; import java.util.HashMap; public class RSAAMTransformation { 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をインストールしたディレクトリに |
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を指定します。
関連項目: JARアップロード・ユーティリティの詳細は、Oracle Fusion Middleware Oracle Identity Manager開発者ガイドを参照してください。 |
Lookup.RSAAM.UM.ReconTransformationsという名前で新しい参照定義を作成し、次のエントリを追加します。
Design Consoleにログインします。
「Administration」を開き、「Lookup Definition」をダブルクリックします。
「コード」フィールドに、参照定義の名前としてLookup.RSAAM.UM.ReconTransformations
を入力します。
「Lookup Type」オプションを選択します。
「Lookup Code Information」タブで「Add」をクリックします。
コード・キー列に、変換を適用するリソース・オブジェクト・フィールド名を入力します。たとえば、User ID
です。
「Decode」列に、クラス・ファイルの名前を入力します。たとえば、oracle.iam.connectors.rsaam.RSAAMTransformation
です。
参照定義を保存します。
キャッシュをパージしてOracle Identity Managerに反映されている変更を取得します。キャッシュのパージの詳細は、『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』を参照してください。