6 Boxコネクタの機能拡張
特定のビジネス要件に対応するようにコネクタの機能を拡張できます。
6.1 データの変換および検証の構成
アプリケーションの作成時にGroovyスクリプト・ロジックを作成して、ユーザー・アカウント・データの変換と検証を構成します。
要件に応じてリコンサイルされた単一値ユーザー・データの変換を構成できます。たとえば、「名」および「姓」値を使用して、Oracle Identity Governanceの「氏名」フィールドの値を作成できます。
同様に、要件に応じて、リコンサイルおよびプロビジョニングされた単一値データの検証を構成できます。たとえば、「名」属性からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。また、プロセス・フォームの「名」フィールドに入力したデータを検証して、プロビジョニング操作中にターゲット・システムに番号記号(#)が送信されないようにします。
ユーザー・アカウント・データの変換または検証を構成するには、アプリケーションの作成時にGroovyスクリプトを作成する必要があります。Groovyスクリプト・ベースの検証および変換ロジックの作成の詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』の プロビジョニングおよびリコンシリエーション属性の検証および変換に関する項を参照してください。
参考のために、サンプル変換スクリプトを次に示します。
def getBeneficiaryAttrFromContext(attrName) {
if (context.beneficiary != null) {
return context.beneficiary.getAttribute(attrName);
}
return null;
}
def getBeneficiaryPwdFromContext() {
return context.beneficiaryPassword;
}
if (binding.variables != null) {
if (binding.variables.containsKey("context")) {
if (context.operationType != null) {
if(context.operationType.equalsIgnoreCase("create")){
if (context.provisionMechanism != null) {
if(context.provisionMechanism.equalsIgnoreCase("POLICY")) {
Username = getBeneficiaryAttrFromContext("Login");
First_Name = getBeneficiaryAttrFromContext("Name");
} else if (context.provisionMechanism.equalsIgnoreCase("REQUEST") || context.provisionMechanism.equalsIgnoreCase("ADMIN")) {
if (Username == null || Username == "") {
Username = getBeneficiaryAttrFromContext("Login");
}
if (Name == null || First_Name == "") {
First_Name = getBeneficiaryAttrFromContext("Name");
}
}
}
}
}
}
}
6.2 アクション・スクリプトの構成
アプリケーションの作成時に独自のGroovyスクリプトを作成することにより、アクション・スクリプトを構成できます。
アクション・スクリプトの追加または編集の詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』のプロビジョニング構成の更新に関する項を参照してください。
6.3 ターゲット・システムの複数のインストールに対するコネクタの構成
ベース・アプリケーションの構成のコピーを作成して、ターゲット・システムの複数のインストールに対して構成する必要があります。
Example Multinational Inc.のロンドンとニューヨークのオフィスには、ターゲット・システムが独自にインストールされており、それぞれに独立したスキーマが使用されています。最近、この会社では、Oracle Identity Governanceをインストールし、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。