7 フラット・ファイル・コネクタの機能拡張

特定のビジネス要件に対応するようにコネクタの機能を拡張できます。

この章には、次のオプションの手順が含まれます:

7.1 カスタム・パーサーの構成

CSV以外のフォーマットのフラット・ファイルを処理するフラット・ファイル・コネクタの構成について学習します。

ノート:

このコネクタの最新バージョンをCIベース・モードで使用している場合、カスタム・パーサーの構成の詳細は、『Oracle Identity Managerフラット・ファイル・コネクタ・ガイド』リリース11.1.1を参照してください。さらに、ターゲット・システムをターゲット・リソースとして構成したか、または信頼できるソースとして構成したかに応じて、Lookup.FlatFile.ConfigurationまたはLookup.FlatFile.Configuration.Trusted参照定義を更新して、新しいコード・キー・エントリheaderRowPresentを含めて、フラット・ファイルにヘッダー行がある場合はデコード値をTrueに設定し、ない場合はFalseに設定します。

このセクションには次のトピックが含まれます:

7.1.1 カスタム・パーサー構成の理解

コネクタでは、CSV形式でエクスポートされたフラット・ファイルの処理がデフォルトでサポートされます。CSV以外の形式でエクスポートされたフラット・ファイルの処理をサポートするには、カスタム・パーサーを作成してそれをコネクタに統合する必要があります。

カスタム・パーサーのコネクタを構成するには、フラット・ファイル・パーサーを実装するカスタム・パーサー・クラスを記述する必要があります。次に、このカスタム・パーサー・クラスをコネクタと統合する必要があります。それには、カスタム・パーサー・クラスを保持するJARを作成して、コネクタ・バンドルJARに含めます。また、アプリケーションの「拡張設定」セクションで、parserClassName属性とcustomConfigParams属性を追加して、関連する値を入力します。

エクスポートしたフラット・ファイル(ユーザー・データを含む)にヘッダー行が含まれない場合は、headerRowPresentパラメータを「拡張設定」セクションに追加して、値を「False」に設定する必要があります。また、ヘッダーのみを含むCSVファイルを作成し、「拡張設定」セクションの「flatFileLocation」フィールドにこのファイルの名前と完全なパスを入力する必要があります。これは、コネクタが解析の必要なファイル・フラットのスキーマを理解するのに役立ちます。

7.1.2 カスタム・パーサーの作成

カスタム・パーサーの作成について学習します。

7.1.2.1 カスタム・パーサーの作成について

カスタム・パーサーを構成するには、必要なカスタム・パーサー・ロジックをJavaクラスに実装するコードを記述する必要があります。

このカスタム・パーサー・クラスは、FlatFileParserインタフェースとparseメソッドを実装する必要があります。

ノート:

Oracle Identity ManagerとコンパイルされたクラスのJavaバージョンが同じであることを確認してください。

次の手順は、必要なカスタム・パーサー・ロジックを実装するためのコードを記述する方法を示しています。

class customParser implements FlatFileParser{
void parse(File flatFile, FlatFileRecordHandler recordHandler, ParserConfig config, boolean isHeaderRowPresent)
{
if isHeaderRowPresent is "true"
{
    void parse(File flatFile, FlatFileRecordHandler recordHandler, ParserConfig  
    config) {

    For each record in the flatFile, do the following:

    Start loop

        1) Perform mandatory attribute validation. If all the mandatory attributes
           are present, continue, else skip the record.
           See Performing Mandatory Attributes Validation for more 
           information on mandatory attribute validation.

        2) Check for the Filter. Skip this step if the filter is not present. If
           the filter is present and the record satisfies the filter, then
           continue, else, skip the record.
           See Checking for Filters for more information on
           filters.

        3) Create a new FlatFileRecord object and populate all the
           attributes in the record.

            a) Get a list of fields to be sent from the parser, by using
               attributesToGet() method of ParserConfig object.
               The parser should only send these fields back to the requester,
               though the flat file may contain many more.

            b) Check if the field is a single or multivalued field by using the
               isMultiValued(fieldName) method of the FlatFileSchema object that
               is returned by the ParserConfig's getSchema() method.

                i) If the field is single-valued, then add it to the record by
                   using the FlatFileRecord's
                   addSingleValuedAttribute(fieldname,fieldValue).

                ii) If the field is a multivalued Attribute, then check if the
                    attribute is a complex multivalued Attribute. A complex
                    multivalued attribute is an attribute which contains
                    subfields. The getSubFields(fieldname)method of the schema
                    returns the list of subfields if they are present, or returns
                    null, if they are not.

                    ii.a) If the multivalued field does not contain subfields,
                          then add it to the record by using the FlatFileRecord's
                          method addMultiValueAttribute(fieldname, list of
                          attribute values).

                    ii.b) If the multivalued field contains subfields, then the
                          multivalued field is complex field. This value can be
                          added to the record by using the FlatFileRecord's method
                          addComplexAttribute(fieldname, list of map of values).

                          See Handling Multivalued Attributes
                          for more information about multivalued attributes.

        4) Finally, pass the FlatFileRecord back to the requester by calling the
           RecordHandler's handle method.
Endloop
 

    } 
	}
	else
	{
	For each record in the flatFile, do the following:
	Start loop
	1) Create a new FlatFileSchema object and fetch all the fieldNames with getFieldNames() method of FlatFileSchema.
	 
	2) Create a new FlatFileRecord object and populate all the
           attributes in the record.

            a) Get a list of fields to be sent from the parser, by using
               attributesToGet() method of ParserConfig object.
               The parser should only send these fields back to the requester,
               though the flat file may contain many more.

            b) Check if the field is a single or multivalued field by using the
               isMultiValued(fieldName) method of the FlatFileSchema object that
               is returned by the ParserConfig's getSchema() method.

                i) If the field is single-valued, then add it to the record by
                   using the FlatFileRecord's
                   addSingleValuedAttribute(fieldname,fieldValue).

                ii) If the field is a multivalued Attribute, then check if the
                    attribute is a complex multivalued Attribute. A complex
                    multivalued attribute is an attribute which contains
                    subfields. The getSubFields(fieldname)method of the schema
                    returns the list of subfields if they are present, or returns
                    null, if they are not.

                    ii.a) If the multivalued field does not contain subfields,
                          then add it to the record by using the FlatFileRecord's
                          method addMultiValueAttribute(fieldname, list of
                          attribute values).

                    ii.b) If the multivalued field contains subfields, then the
                          multivalued field is complex field. This value can be
                          added to the record by using the FlatFileRecord's method
                          addComplexAttribute(fieldname, list of map of values).

                          See Handling Multivalued Attributes
                          for more information about multivalued attributes.
						  
		3)Finally, pass the FlatFileRecord back to the requester by calling the
           RecordHandler's handle method.			  
Endloop
	}
	}

ノート:

ヘッダーのないファイルを解析する場合、ファイルの解析後に、ファイルの属性の順序が、フラット・ファイル・アプリケーションの「フラット・ファイル・スキーマ・プロパティ」表のフィールド名の順序と同じである必要があります。
7.1.2.2 必須属性の検証の実行

必須属性にnullまたは空の値が含まれる場合、そのようなレコードの処理をスキップするか、それらのレコードをパーサー・レベルで記録できます。

デフォルトのCSVParserは、必須属性のチェックを実行します。必須属性にnullまたは空の値が含まれる場合、CSVパーサーは、フラット・ファイルを含むディレクトリ内にfailedというディレクトリを作成し、障害レコードを同じ名前のフラット・ファイルにコピーします。

FlatFileSchemaオブジェクトのgetMandatoryAttrs()メソッドは、コネクタによって必要とされる属性のリストを戻します。FlatFileSchemaオブジェクトは、parseメソッドのparserConfigパラメータから取得されます。getComplexMandatoryAttributes()メソッドは、複雑な属性のリストを戻し、getSimpleMandatoryAttributes()メソッドは、単純な属性のリストを戻します。

7.1.2.3 フィルタの確認

フィルタは、パーサー・レベルで指定できます。レコードは、フィルタに一致すると処理され、それ以外ではスキップされます。

パーサー・レベルでは、andやorの式のない単純なフィルタのみがサポートされます。ただし、スケジュール済ジョブで「フィルタ」属性の値を指定して複雑なフィルタを指定できます(それらはICFでサポートされるため)。また、フィルタ基準を確認するためにフラット・ファイル全体が解析されるため、制限付きリコンシリエーションにはパフォーマンス・オーバーヘッドが伴います。

parseメソッドのParserConfigパラメータのgetFilter()メソッドは、FlatFileFilterオブジェクトを戻します。これは、属性名、属性値および演算子によって表されるフィルタ・オブジェクトです。

パーサーでは、次のようにequalsTo('username','johndoe')などのフィルタを使用できます。

FlatFileFilter filter=config.getFilter();
String filterFieldname=filter.getFieldName();
String filterValue=filter.getFieldValue();
Operators operator=filter.getOperator();
// since its equalsTO filter, the Operator will be Operators.EQUALS
If(operator.equals(Operators.EQUALS)){
    String userValue=getUserValue(filterFieldname);
    If(userValue.equals(filterValue))
    //process the record
    Else 
    //skip the record
}
7.1.2.4 複数値属性の処理

複数値属性には2つのタイプ(複雑および単純)があります。単純な複数値属性には、サブフィールドが含まれません。複雑な複数値属性には、サブフィールドが含まれます。

例1: ロールは、複雑な複数値属性で、ロール名、開始日、終了日などのサブフィールドが含まれます。コネクタでは、サブフィールドとその値がキーと値のペアとして含まれるマッピングのリストで複雑なデータが表される必要があります。次に、データを表すための書式を示します。

ユーザーに割り当てるrole1、role2、role3などの3つのロールがある場合、コネクタでは、次の書式でこれらのマップのリストが必要です。

< Role1 Map, Role2 Map, Role3 Map>のリスト。

この場合、ロールの値は、それ自体がキー(サブフィールド名)とその値(サブフィールド値)を持つマップです。

例2: グループは、単純な複数値属性で、group1、group2、group3などが含まれます。この場合、コネクタでは、次の書式でこれらすべての値のリストが必要です。

<Group1, Group2, Group3>のリスト。

7.1.3 カスタム・パーサーとフラット・ファイル・コネクタの統合

カスタム・パーサーを使用する前に、この手順を実行してカスタム・パーサーをコネクタに統合します。

  1. カスタム・パーサー・クラスを保持するJARファイルを作成します。

  2. Oracle Identity ManagerのJARダウンロード・ユーティリティを実行して、データベースからorg.identityconnectors.flatfile-12.3.0.jarファイルをダウンロードします。このユーティリティは、Oracle Identity Governanceのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/DownloadJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/DownloadJars.sh

    このユーティリティを実行する場合、Oracle Identity Governance管理者のログイン資格証明、Oracle Identity Governanceホスト・コンピュータのURL、コンテキスト・ファクトリ値、ダウンロード対象のJARファイルのタイプ、およびJARファイルのダウンロード先の場所を入力するよう求められます。JARタイプの値として4 (ICFBundle)を指定します。

  3. 次のようにorg.identityconnectors.flatfile-12.3.0.jarファイルを更新します。

    1. 一時ディレクトリにorg.identityconnectors.flatfile-12.3.0.jarファイルの内容を抽出します。

    2. 一時ディレクトリにlibというディレクトリを作成します。

    3. ステップ1で作成したJARファイルをlibディレクトリにコピーします。

    4. 次のコマンドを実行して、org.identityconnectors.flatfile-12.3.0.jarファイルを再作成します。

      jar -cvfm org.identityconnectors.flatfile-1.0.1115.jar META-INF/MANIFEST.MF *

      ノート:

      JARファイルの再作成中に、META-INF\MANIFEST.MFファイルが変更されないことを確認してください。

  4. Oracle Identity ManagerのJAR更新ユーティリティを実行して、データベースにorg.identityconnectors.flatfile-12.3.0.jarファイルをアップロードします。このユーティリティは、Oracle Identity Governanceのインストール時に次の場所にコピーされます。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/UpdateJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/UpdateJars.sh

    このユーティリティを実行すると、Oracle Identity Governance管理者のログイン資格証明、Oracle Identity Governanceホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプ、およびアップロードするJARファイルが含まれる場所を入力するように要求されます。JARタイプの値として4 (ICFBundle)を指定します。

  5. JARファイルの更新後に、Oracle Identity Governanceサーバーを再起動します。

  6. Identity Self Serviceにログインし、parserClassName属性およびcustomConfigParams属性を追加して、アプリケーションの「拡張設定」セクションを更新します。これらの新しい属性を追加するには、「属性の追加」をクリックし、表示される「新規属性」ウィンドウで次のフィールドに値を入力して「OK」をクリックします。

    • 名前: 追加する属性の名前としてparserClassNameを入力します。
    • : カスタム・パーサーを実装するクラスの完全修飾名を入力します。たとえば、com.extension.parser.XMLParserなどです。
    • カテゴリ: このフィールドに値を入力する必要はありません。このフィールドのデフォルト値は、Customです。
    • 表示名: 追加する属性の表示名を入力します。たとえば、Parser Class Nameなどです。
    同様に、次のフィールドに値を入力して他の属性を追加します。
    • 名前: 追加する属性の名前としてcustomConfigParamsを入力します。
    • :

      カスタム・パーサーによって使用されるカスタム構成パラメータを指定します。値は、次のように名前と値のペアの形式で指定する必要があります。

      NAME1=VALUE1;NAME2=VALUE2

      たとえば、Type=DOM;Version=1.0などです。
    • カテゴリ: このフィールドに値を入力する必要はありません。このフィールドのデフォルト値は、Customです。
    • 表示名: 追加する属性の表示名を入力します。たとえば、Custom Config Paramsなどです。

7.1.4 CSVファイルの作成および「拡張設定」セクションの更新

ユーザー・データを含むフラット・ファイルにヘッダー行がない場合は、「拡張設定」セクションで同じように指定する必要があります。さらに、ヘッダー行のみを含むCSVファイルを作成し、「拡張設定」セクションでその場所を更新します。

コネクタはフラット・ファイルのスキーマを理解し、リコンシリエーションおよびプロビジョニング操作を正常に実行する必要があります。コネクタが解析の必要なフラット・ファイルのスキーマを取得するには、フラット・ファイルにヘッダー行が存在する必要があります。
  1. Oracle Identity Governanceをホストしているコンピュータで、ヘッダー行のみを含むCSVファイルを作成します。
  2. フラット・ファイル・アプリケーションの「拡張設定」セクションで、次の操作を行います。
    1. 「属性の追加」をクリックし、headerRowPresentという名前の新規属性を追加して、その値をFalseに設定します。
    2. 「flatFileLocation」フィールドに、ステップ1で作成したCSVファイルの完全な名前およびパスを入力します。
    3. 「ヘッダーの解析」をクリックします。
      ヘッダー行情報がCSVファイルから抽出され、「フラット・ファイル・スキーマ・プロパティ」表にリストされます。

7.2 前処理および後処理タスクの構成

前処理および後処理タスクと、それらをコネクタに統合する手順について学習します。

このセクションには次のトピックが含まれます:

7.2.1 前処理および後処理タスクの理解

前処理タスクと後処理タスクは、それぞれアカウントのリコンシリエーションの前と後に実行できます。

これらのタスクを使用して、フラット・ファイル・ディレクトリで任意のジョブ(ファイルの圧縮、ファイルの解凍、完全なファイル・ダンプまたはファイル内の特定フィールドの暗号化と復号化、ファイルのウィルス・スキャン、またはこれらのタスクの実装によってのみ制限される他の任意のタスクなど)を実行できます。

この項には次のトピックが含まれます

7.2.1.1 前処理タスクについて

前処理タスクのコードを記述する場合、クラスでは、FlatFilePreProcessHandlerインタフェースとpreProcessメソッドを実装する必要があります。

preProcessメソッドのパラメータは次のとおりです。

  • flatFileDir

    このパラメータは、フラット・ファイルを含むディレクトリのパスを指定します。

  • configMap

    このパラメータは、メイン構成参照定義とスケジュール済ジョブのすべての構成パラメータのマッピングを含みます。

次の手順は、FlatFilePreProcessHandlerインタフェースを実装するためのコードを記述する方法を示しています。

Class preProcessTask implements FlatFilePreProcessHandler{

    void preProcess(java.io.File flatFileDir,
        java.util.Map<java.lang.String,java.lang.Object> configMap) throws java.lang.Exception{

        //perform the pre process task like unzip and decrypting the files etc.

    }

}
7.2.1.2 後処理タスクについて

後処理タスクのコードを記述する場合、クラスでは、FlatFilePostProcessHandlerインタフェースとpostProcessメソッドを実装する必要があります。

postProcessメソッドのパラメータは次のとおりです。

  • flatFileDir

    このパラメータは、フラット・ファイルを含むディレクトリのパスを指定します。

  • configMap

    このパラメータは、メイン構成参照定義とスケジュール済ジョブのすべての構成パラメータのマッピングを含みます。

次の手順は、FlatFilePostProcessHandlerインタフェースを実装するためのコードを記述する方法を示しています。

Class postProcessTask implements FlatFilePostProcessHandler{

    void postProcess(java.io.File flatFileDir,
        java.util.Map<java.lang.String,java.lang.Object> configMap) throws java.lang.Exception{

        //perform the post process task like encrypting the files,
        //password protecting files etc.

    }

}

7.2.2 前処理および後処理タスクとフラット・ファイル・コネクタの統合

これは、前処理および後処理タスクを使用する前にコネクタに統合する手順です。

前処理および後処理タスクを構成するには、次のようにします。

  1. 前処理または後処理タスク・クラスを保持するJARファイルを作成します。

  2. Oracle Identity ManagerのJARダウンロード・ユーティリティを実行して、データベースからorg.identityconnectors.flatfile-12.3.0.jarファイルをダウンロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。

    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/DownloadJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/DownloadJars.sh

    このユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、ダウンロードするJARファイルのタイプ、およびJARファイルをダウンロードする場所を入力するように求められます。JARタイプの値として4 (ICFBundle)を指定します。

  3. 次のようにorg.identityconnectors.flatfile-12.3.0.jarファイルを更新します。

    1. 一時ディレクトリにorg.identityconnectors.flatfile-12.3.0.jarファイルの内容を抽出します。

    2. 一時ディレクトリにlibというディレクトリを作成します。

    3. ステップ1で作成したJARファイルをlibディレクトリにコピーします。

    4. 次のコマンドを実行して、org.identityconnectors.flatfile-1.0.1115.jarファイルを再作成します。

      jar -cvfm org.identityconnectors.flatfile-12.3.0.jar META-INF/MANIFEST.MF *

      ノート:

      JARファイルの再作成中に、META-INF\MANIFEST.MFファイルが変更されないことを確認してください。

  4. Oracle Identity ManagerのJAR更新ユーティリティを実行して、データベースにorg.identityconnectors.flatfile-12.3.0.jarファイルをアップロードします。このユーティリティは、Oracle Identity Governanceのインストール時に次の場所にコピーされます。

    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/UpdateJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/UpdateJars.sh

    このユーティリティを実行すると、Oracle Identity Governance管理者のログイン資格証明、Oracle Identity Governanceホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプ、およびアップロードするJARファイルが含まれる場所を入力するように要求されます。JARタイプの値として4 (ICFBundle)を指定します。

  5. jarの更新後に、Oracle Identity Governanceサーバーを再起動します。

  6. ステップ1から5までを繰り返し、後処理タスク・クラスを保持するJARファイルを作成して、そのJARファイルをOracle Identity Managerにコピーします。

  7. Identity Self Serviceにログインし、preProcessClassName属性およびpostProcessClassName属性を追加して、アプリケーションの「拡張設定」セクションを更新します。これらの新しい属性を追加するには、「属性の追加」をクリックし、表示される「新規属性」ウィンドウで次のフィールドに値を入力して「OK」をクリックします。

    • 名前: 追加する属性の名前としてpreProcessClassNameを入力します。
    • : 前処理タスクを実装するクラスの完全修飾名。たとえば、com.extension.parser.PreProcessHandlerなどです。
    • カテゴリ: このフィールドに値を入力する必要はありません。このフィールドのデフォルト値は、Customです。
    • 表示名: 追加する属性の表示名を入力します。たとえば、Preprocess Class Nameなどです。
    同様に、次のフィールドに値を入力して他の属性を追加します。
    • 名前: 追加する属性の名前としてpostProcessClassNameを入力します。
    • : 後処理タスクを実装するクラスの完全修飾名。たとえば、com.extension.parser.PostProcessHandlerなどです。
    • カテゴリ: このフィールドに値を入力する必要はありません。このフィールドのデフォルト値は、Customです。
    • 表示名: 追加する属性の表示名を入力します。たとえば、Postprocess Class Nameなどです。

7.3 リコンシリエーションの新規属性の追加

デフォルトでは、アプリケーションの「基本情報」ページの「フラット・ファイル・スキーマ・プロパティ」表にリストされている属性が、フラット・ファイルとOracle Identity Governance間のリコンシリエーションのためにマップされます。必要に応じて、リコンシリエーションのためにスキーマに新しい属性を追加できます。

フラット・ファイルのアプリケーションを作成後、エクスポートしたフラット・ファイルに新しい属性が含まれる場合、この新規属性を、次のいずれかの方法でスキーマに追加できます。
  • アプリケーションの「拡張設定」セクションで、「ヘッダーの解析」をクリックして、新規属性を含むフラット・ファイル内のすべての属性をフェッチします。「フラット・ファイル・スキーマ・プロパティ」表を確認し、必要に応じて変更を加えます。たとえば、データ型を変更したり、属性に複数値のマークを付けます。アプリケーションへの変更を保存します。
  • アプリケーションの「基本情報」ページの「フラット・ファイル・スキーマ・プロパティ」表で、「フィールドの追加」をクリックし、必要な詳細を入力して新しい属性を手動で追加します。アプリケーションへの変更を保存します。

7.4 データの変換および検証の構成

アプリケーションの作成時にGroovyスクリプトのロジックを作成して、ユーザー・アカウント・データの変換および検証を構成します。

要件に応じてリコンサイルされた単一値ユーザー・データの変換を構成できます。たとえば、First NameおよびLast Name値を使用して、Oracle Identity Governanceの「氏名」フィールドの値を作成できます。

同様に、要件に応じて、リコンサイルおよびプロビジョニングされた単一値データの検証を構成できます。たとえば、「名」属性からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。また、プロセス・フォームの「名」フィールドに入力したデータを検証して、プロビジョニング操作中にターゲット・システムに番号記号(#)が送信されないようにします。

ユーザー・アカウント・データの変換または検証を構成するには、アプリケーションの作成時にGroovyスクリプトを作成する必要があります。Groovyスクリプトベースの検証と変換のロジックを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』プロビジョニング属性とリコンシリエーション属性の検証と変換に関する項を参照してください。

7.5 ターゲット・システムの複数のインストールに対するコネクタの構成

ターゲット・システムの複数のインストールに対してベース・アプリケーションを構成するには、その構成のコピーを作成する必要があります。

次の例でこの要件について説明します。

Example Multinational Inc.のロンドンおよびニューヨークの事業所では、それぞれ独立したスキーマを含め、独自にターゲット・システムがインストールされています。最近、この会社では、Oracle Identity Governanceをインストールしたので、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。

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

7.6 アクション・スクリプトの構成

接続なしリソースの場合、アプリケーションの作成時に独自のGroovyスクリプトを記述して、アクション・スクリプトを構成できます。接続リソースの場合、コネクタは、対応するターゲット・アプリケーション(Salesforceなど)に定義されているアクション・スクリプトをフェッチします。

アカウント・プロビジョニング操作の作成、更新または削除の前または後に実行するようにアクション・スクリプトを構成できます。たとえば、あるスクリプトを、個々のユーザー作成操作前に実行するように構成できます。

アクション・スクリプトの追加または編集の詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』プロビジョニング構成の更新に関する項を参照してください。