6 Office 365コネクタの機能拡張
特定のビジネス要件に対応するようにコネクタの機能を拡張できます。
このセクションの内容は次のとおりです。
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"))
{
User_Principal_Name = getBeneficiaryAttrFromContext("User Login");
First_Name = getBeneficiaryAttrFromContext("First Name");
Last_Name = getBeneficiaryAttrFromContext("Last Name");
Display_Name = First_Name +" "+Last_Name;
Mail_NickName = First_Name +Last_Name;
Password = getBeneficiaryPwdFromContext();
}
else if (context.provisionMechanism.equalsIgnoreCase("REQUEST") || context.provisionMechanism.equalsIgnoreCase("ADMIN"))
{
if (User_Principal_Name == null || User_Principal_Name == "")
{ User_Principal_Name = getBeneficiaryAttrFromContext("User Login");}
if (First_Name == null || First_Name == "")
{ First_Name = getBeneficiaryAttrFromContext("First Name");}
if (Last_Name == null || Last_Name == "")
{ Last_Name = getBeneficiaryAttrFromContext("Last Name");}
if (Display_Name == null || Display_Name == "")
{ Display_Name = getBeneficiaryAttrFromContext("First Name") +" "+getBeneficiaryAttrFromContext("Last Name");}
if (Mail_NickName == null || Mail_NickName == "")
{ Mail_NickName = getBeneficiaryAttrFromContext("First Name") + getBeneficiaryAttrFromContext("Last Name");}
if (Password == null || Password == "")
{ Password = getBeneficiaryPwdFromContext();}
}
}
}
}
}
}
6.2 アクション・スクリプトの構成
アプリケーションを作成するときに独自のGroovyスクリプトを記述することによって、アクション・スクリプトを構成できます。
アクション・スクリプトの追加または編集の詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』のプロビジョニング構成の更新に関する項を参照してください。
6.3 ターゲット・システムの複数のインストールに対するコネクタの構成
ターゲット・システムの複数のインストールに対してベース・アプリケーションを構成するには、ベース・アプリケーションの構成のコピーを作成する必要があります。
Example Multinational Inc.のロンドンとニューヨークの各オフィスには、独自のターゲット・システムのインストール環境があり、それぞれのスキーマも独立しています。最近、この会社ではOracle Identity Governanceをインストールし、これを構成してすべてのターゲット・システムのインストール環境をリンクしようとしています。