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をインストールし、これを構成してすべてのターゲット・システムのインストール環境をリンクしようとしています。

このようなシナリオによって発生する要件を満たすには、アプリケーションをクローニングし、クローニングされたアプリケーションにベース・アプリケーションのすべての構成をコピーする必要があります。アプリケーションのクローニングの詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』アプリケーションのクローニングに関する項を参照してください。