この章では、次のオプションの手順について説明します。
注意: Oracle Identity Managerリリース11.1.2以降では、参照問合せはサポートされません。アイデンティティ・システム管理でフォーム・デザイナを使用して参照を管理する方法の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理ガイドの参照の管理に関する項を参照してください。 |
要件に応じて、リコンサイルおよびプロビジョニングされた単一値データの検証を構成できます。たとえば、Given Name属性からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。また、プロセス・フォームの名フィールドに入力したデータを検証して、プロビジョニング操作中にターゲット・システムに番号記号(#)が送信されないようにします。
検証チェックで合格しないデータについては、次のメッセージが表示されるか、ログ・ファイルに記録されます。
属性
ATTRIBUTE_NAMEの検証に失敗しました。
注意: この機能は、ターゲット・システムのロック/ロック解除ステータス属性には適用できません。 |
データの検証を構成するには:
必要な検証ロジックを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; }
Javaクラスを保持するJARファイルを作成します。
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を指定します。
リコンシリエーションのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
Design Consoleにログインします。
コード・キーに、検証するリソース・オブジェクト・フィールド名を入力します。たとえば、Given Name
とします。デコードに、クラス名を入力します。たとえば、org.identityconnectors.googleapps.extension.GAPPSValidator
です。
参照定義に変更を保存します。
コード・キー列に、Recon Validation Lookup
を入力します。デコード列に、Lookup.GoogleApps.UM.ReconValidation
を入力します。
参照定義に変更を保存します。
プロビジョニングのプロセス・フォーム・フィールドを検証するJavaクラスを作成した場合は、次の手順を実行します。
Design Consoleにログインします。
「Code Key」列に、プロセス・フォーム・フィールド名を入力します。たとえば、Given Name
とします。デコード列に、クラス名を入力します。たとえば、org.identityconnectors.googleapps.extension.GAPPSValidator
です。
参照定義に変更を保存します。
コード・キー列に、Provisioning Validation Lookup
を入力します。デコード列に、Lookup.GoogleApps.UM.ProvValidation
を入力します。
参照定義に変更を保存します。
要件に応じて、リコンサイルされた単一値アカウント・データの変換を構成できます。たとえば、名および姓の値を使用して、Oracle Identity Managerの「氏名」フィールドの値を作成できます。
注意: この機能は、ターゲット・システムのロック/ロック解除ステータス属性には適用できません。 |
リコンシリエーション中にフェッチした単一値のアカウント・データの変換を構成するには、次の手順を実行します。
必要な変換ロジックを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; } }
Javaクラスを保持するJARファイルを作成します。
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を指定します。
リコンシリエーションのプロセス・フォーム・フィールドの変換用にJavaクラスを作成した場合は、次の手順を実行します。
Design Consoleにログインします。
Lookup.GoogleApps.UM.ReconTransformationという参照定義を作成します。
コード・キー列に、変換を適用するリソース・オブジェクト・フィールド名を入力します。たとえば、Given Name
とします。デコード列に、変換ロジックを実装するクラスの名前を入力します。たとえば、oracle.iam.connectors.common.transform.TransformAttribute
です。
参照定義に変更を保存します。
次のように、Lookup.GoogleApps.UM.Configuration参照定義にエントリを追加して、変換を有効にします。
「管理」を展開して、「参照定義」をダブルクリックします。
Lookup.GoogleApps.UM.Configuration参照定義を検索して開きます。
コード・キー列に、Recon Transformation Lookup
と入力します。デコード列に、列に、Lookup.GoogleApps.UM.ReconTransformation
と入力します。
参照定義に変更を保存します。
ターゲット・システムの複数のインストールに対してコネクタを構成する場合があります。次の例でこの要件について説明します。
Example Multinational Inc.のロンドンおよびニューヨークの事業所には、独自にターゲット・システムがインストールされています。最近、この会社では、Oracle Identity Managerをインストールし、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。
このような例で示される要件に対応するには、コネクタのコピーを作成する必要があります。詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のコネクタのクローニングを参照してください。
アイデンティティ・システム管理を使用して、カスタマイズまたは再構成されたコネクタを定義できます。コネクタを定義することは、コネクタをOracle Identity Managerに登録することと同じです。
コネクタは、コネクタのインストール機能を使用してインストールするか、またはコネクタのアップグレード機能を使用してアップグレードすると、自動的に定義されます。次のような場合に、コネクタを手動で定義する必要があります。
デプロイメント・マネージャを使用してコネクタをインポートする場合
コネクタをカスタマイズまたは再構成する場合
Oracle Identity Managerをアップグレードする場合
コネクタを定義すると、次のイベントが行われます。
コネクタを表すレコードがOracle Identity Managerデータベースに作成されます。このレコードがすでに存在する場合は、更新されます。
新たに定義されたコネクタのステータスが、「アクティブ」に設定されます。さらに、前にインストールされたリリースの同じコネクタのステータスが、自動的に「非アクティブ」に設定されます。
コネクタを定義する手順の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のコネクタの定義を参照してください。