この章では、次のオプションの手順について説明します。
|
注意: 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の管理のコネクタの定義を参照してください。