プライマリ・コンテンツに移動
Oracle® Identity Manager Generic Scriptingコネクタ・ガイド
11.1.1
E79298-04
目次へ移動
目次

前
次

2 Generic Scriptingコネクタの生成

Generic Scriptingコネクタを生成する手順は、次のステージに分かれています。

2.1 スキーマの定義

ターゲット・システムのスキーマを定義して、ターゲット・システム・データベースの基盤となるスキーマをコネクタに認識させる必要があります。

この項では、次の項目について説明します。

2.1.1 スキーマ・ファイルの形式の理解

スキーマ・ファイルは、ターゲット・システムの構造を表すために使用されるプロパティ・ファイルです。これには、ターゲット・システムに固有のデータ型、必須属性、uid属性などの詳細が含まれます。

スキーマ・ファイルは、メタデータ生成ユーティリティへの入力として使用されます。コネクタにターゲット・システム・スキーマを理解させるために、schema.propertiesファイルの作成は必須です。メタデータ生成ユーティリティを実行する前に、指定した形式でスキーマ・ファイルを移入する必要があります。

スキーマ・ファイルは、プロパティ・ファイルで、名前と値のペアで構成されます。デフォルトでは、メタデータ生成ユーティリティは、__ACCOUNT__オブジェクト・クラスのメタデータを生成します。これは、ユーザー、グループおよび組織の管理に使用されます。__ACCOUNT__以外のオブジェクト・クラス向けにメタデータを生成する場合は、スキーマ・ファイルに次のエントリを含めます。

ObjectClass=OBJ_CLASS_NAME

ここで、OBJ_CLASS_NAMEは、メタデータを生成するオブジェクト・クラスの名前です。次に、このエントリのサンプル値を示します。

ObjectClass=__Test__

次の項では、各プロパティの値を指定する際に使用する必要がある形式について説明します。

2.1.1.1 アカウント修飾子

アカウント修飾子は、ターゲット・システム内のアカウントの特定の属性を記述します。これらの修飾子は、ターゲット・システムに共通です。次の修飾子を使用して、ターゲット・システムのスキーマを定義できます。

  • FieldNames

    これは必須修飾子です。これは、コネクタがターゲット・システムからフェッチする必要がある属性の、カンマ区切りのリストです。すべての子フォーム名、増分リコンシリエーションを実行するために使用される属性を含む単一値および複数値属性をここで指定する必要があります。

    次に、FieldNames修飾子の値の例を示します。FieldNames=UserId,UserName,FirstName,LastName,email,Description,Salary, JoiningDate,status,Groups,Roles

  • UidAttribute

    これは必須修飾子です。これは、アカウントの一意のIDに対応する属性の名前を示します。

    例: UidAttribute=UserId

  • NameAttribute

    これは必須修飾子です。これは、アカウントの説明的な名前に対応する属性の名前を示します。

    例: NameAttribute=UserName

  • PasswordAttribute

    これはオプション修飾子です。これは、アカウントのパスワード属性の名前を示します。

    例: PasswordAttribute=accountPwd

  • StatusAttribute

    これはオプション修飾子です。これは、アカウントのステータスを表す属性を示します。

    例: StatusAttribute=status

    Oracle Identity Managerでは、ステータス値がTrueまたはFalseである必要があります。しかし、ターゲット・システムの属性にtrueまたはfalse以外の値が指定されている場合は、ターゲット・システムとOracle Identity Manager間のステータス値のマッピングがスクリプトによって管理されることを確認する必要があります。

2.1.1.2 フィールド修飾子

これらの修飾子は、各フィールドに固有で、通常は次のいずれかの書式で指定されます。

  • 次に、親フォームのフィールドの書式を示します。

    <FIELDNAME>.<FIELDQUALIFIER>=<VALUE>

    例: UserId.Required=true

  • 次に、複雑な子フォームのフィールドの書式を示します。

    <FIELDNAME>.<SUBFIELDNAME>.<FIELDQUALIFIER>=<VALUE>

    例: Roles.fromdate.DataType=Long

次に、値を指定できるフィールド修飾子を示します。

  • Required

    このフィールド修飾子は、記載された属性が必須であるかどうかを指定します。この修飾子の値がtrueに設定されている場合、パーサーは、このフィールド名を含まないレコードの処理をスキップします。

    例: UserId.Required=true

  • Multivalued

    このフィールド修飾子は、記載された属性が複数値フィールドであるかどうかを指定します。

    例: Roles.Multivalued=true

  • DataType

    このフィールド修飾子は、フィールド名のデータ型を指定するために使用します。フィールドにデータ型を指定しない場合は、デフォルトで、文字列データ型とみなされます。

    この修飾子には、次の値を指定できます。

    • String

    • Long

    • Character

    • Double

    • Float

    • Integer

    • Boolean

    • Byte

    • BigDecimal

    • BigInteger

    • Date

    例: startDate.DataType=Date

  • Subfields

    このフィールド修飾子は、複数値属性が存在する場合、そのサブフィールドを指定します。

    例: Roles.Subfields=roleid,fromdate,todate

  • EmbeddedObjectClass

    このフィールド修飾子は、複数のサブフィールドを持つ子フォームのオブジェクト・クラス名を指定します。この修飾子の値は、ICFによって内部的に使用され、すべての複雑な子フォームに必須です。

    例: Roles.EmbeddedObjectClass=Roles

関連項目:

サンプル・スキーマ・ファイルについては、「ターゲット・システムのサンプル・スキーマ・ファイル」を参照してください

2.1.2 スキーマ・ファイルの作成

ターゲット・システムの構造を記述するスキーマ・ファイルを、次のように作成する必要があります。

注意:

schema.propertiesファイルを、メタデータ生成ユーティリティを実行するコンピュータ上に作成する必要があります。

  1. .propertiesファイルを作成します。
  2. 環境の要件に応じてスキーマ・ファイルにエントリを追加します。

    次に、スキーマ・ファイルに定義する必要のある必須修飾子を示します。

    • FieldNames

    • UidAttribute

    • NameAttribute

  3. 追加した各エントリの値を指定します。これらの値を指定する必要がある形式の詳細は、スキーマ・ファイルの形式の理解を参照してください。
  4. .propertiesファイルを保存します。

2.2 リソース・プロパティ・ファイルの準備

デフォルトでは、コネクタは次のITリソースのパラメータを提供して、ターゲット・システムの接続関連情報を格納します。

注意:

resource.propertiesファイルを作成し、Oracle Identity Managerをホストしているコンピュータに配置する必要があります。

  • host

  • port

  • user

  • password

コネクタは、この情報を使用して、OIMからターゲット・システムへの接続を確立して接続操作を実行します。コネクタ操作に使用するスクリプトで追加パラメータが必要になる場合は、これらの追加パラメータを含めて.propertiesファイルを作成する必要があります。.propertiesファイルには、ITリソース・パラメータのデフォルト・セットにはないパラメータのみを含めてください。ITリソースのデフォルト・パラメータを.propertiesファイルに含めると、重複エントリが作成されることになり、ターゲット・システムへの接続用に作成したカスタム・スクリプトが失敗する可能性があります。たとえば、hostはITリソースにすでにあるパラメータです。hostパラメータを.propertiesファイルに含めると、カスタムの接続スクリプトは失敗します。

リソース・プロパティ・ファイルのサンプルを次に示します。

applicationName = IDM App
domain = sample.com
proxyHost = www-proxy.example.com
proxyPassword = 
proxyPort = 80
scopes = https://www.sample.com/auth/user

2.3 ScriptConfiguration.groovyファイルの構成

Generic Scriptingコネクタには、ScriptConfiguration.groovyという名前のgroovyファイルが付属しています。

この項では、groovyファイルの構成に関する次の項目について説明します。

2.3.1 ScriptConfiguration.groovyファイルについて

このScriptConfiguration.groovyファイルは、コネクタのインストールZIPのgenericscript-RELEASE_NUMBER/metadata-generator/resourcesディレクトリにあります。

ScriptConfiguration.groovyファイルを使用して、ターゲット・システム・スキーマの基本情報を格納できるプロパティの値を指定します。このファイルは、Scriptingジェネレータが次のタスクを実行するために使用されます。

  • スキーマの理解

  • コネクタを実行する場合のモード(信頼できるソースまたはターゲット・リソース)の構成

  • ターゲット・システムに固有のコネクタ・パッケージの生成

Scriptingジェネレータの実行手順と生成されたコネクタ・パッケージのディレクトリ構造については、この章で後述します。

ScriptConfiguration.groovyファイルには、ほとんどのエントリに値が移入されたサンプル構成が含まれています(信頼できるソースおよびターゲット・リソース用に1つずつ)。要件に応じて、このファイルのエントリの値を指定または変更するか、または構成用の新しいセクションを作成します。次に、ScriptConfiguration.groovyファイルの事前定義済セクションを示します。

  • trusted

    信頼できるソース・モードのコネクタを構成する場合、このセクションのエントリの値を指定します。

  • target

    ターゲット・リソース・モードのコネクタを構成する場合、このセクションのエントリの値を指定します。

2.3.2 Groovyファイルの事前定義済セクションのエントリの理解

この項では、ScriptConfiguration.groovyファイルの事前定義済セクションであるtrustedおよびtargetのエントリについて説明します。

注意:

  • 指定がないかぎり、ここで説明されているすべてのエントリは両方のセクションに共通です。

  • ScriptConfiguration.groovyファイルのいずれかのオプションのエントリまたは属性の値を指定しない場合、そのエントリまたは属性の先頭に二重のスラッシュ記号(//)を追加してコメント・アウトしてください。

  • itResourceDefName

    これは必須エントリです。ターゲット・システムのITリソース・タイプの名前を入力します。このエントリに指定する値によって、コネクタ・パッケージ、コネクタ構成ファイルおよびコネクタ・インストーラ・ファイルの名前が決まることに注意してください。たとえば、このエントリの値としてGenScriptTrustedを指定すると、コネクタ・パッケージ・ディレクトリの名前はGenScriptTrusted.zipになります。コネクタ・パッケージのディレクトリ構造の詳細は、「生成されたコネクタ・パッケージの理解」を参照してください。

  • itResourceName

    これはオプション・エントリです。ターゲット・システムのITリソースの名前を入力します。このエントリがコメント化されている場合、ITリソース名はITResourceDefNameエントリの値と同じです。

    デフォルト値: "$itResourceDefName"

    注意:

    複数のコネクタを同じOIM環境でインストールまたは使用することを計画している場合、このエントリの値は、ターゲット・システム用に作成する各コネクタに対して一意である必要があります。また、この値は、参照定義、リソース・オブジェクト、プロセス・フォーム、スケジュール済タスクなど、(メタデータ・ジェネレータの実行後に作成されるコネクタ構成XMLファイルで定義された)すべてのコネクタ・コンポーネントの名前の一部になります。

    たとえば、itResourceNameエントリの値としてGenScriptTrustedを指定すると、コネクタのデプロイ後に構成参照定義が作成され、その名前はLookup.GenScriptTrusted.Configurationになります。

  • applicationInstanceName

    これはオプションのエントリで、ターゲット・リソース構成のセクションにのみ存在します。コネクタが生成する必要がある、ターゲット・システムのアプリケーション・インスタンス名を入力します。このエントリがコメント化されている場合、アプリケーション・インスタンス名はITResourceDefNameエントリの値と同じになります。

    デフォルト値: "$itResourceDefName"

  • connectorDir

    これはオプション・エントリです。このエントリは、メタデータ・ジェネレータの実行時に生成されるコネクタ・パッケージが格納されるディレクトリの完全パスです。デフォルトでは、生成されたコネクタ・パッケージが格納されたディレクトリ名は、itResourceDefNameエントリの値と同じです。

    サンプル値: "/scratch/jdoe/OIMPS3/mw4318/idm7854/server/ConnectorDefaultDirectory/GenScriptTrusted"

  • xmlFile

    これはオプション・エントリです。コネクタ・オブジェクトの定義が含まれるXMLファイルの名前と相対パスを入力します。このエントリの値を指定しない場合、ファイル名が次の形式で生成されます。

    IT_RES_DEF_NAME-ConnectorConfig.xml

    この形式で、IT_RES_DEF_NAMEはitResourceDefNameエントリの値です。

    たとえば、このエントリの値を指定しておらず、GenScriptTrustedがitResourceDefNameエントリの値である場合、生成されるXMLファイルの名前はGenScriptTrusted-ConnectorConfig.xmlです。

    注意:

    特定のターゲット・システム・インストールのファイルを簡単に特定するには、この生成されたXMLファイルの名前の接頭辞にそのターゲット・システム・インストールのITリソースの名前を使用することをお薦めします。

    サンプル値: GenScriptTrusted-ConnectorConfig.xml

  • configFileName

    これはオプション・エントリです。コネクタ・オブジェクトの構成情報が含まれるXMLファイルの名前と相対パスを入力します。このエントリの値を指定しない場合、ファイル名が次の形式で生成されます。

    IT_RES_DEF_NAME-CI.xml

    この形式で、IT_RES_DEF_NAMEはitResourceDefNameエントリの値です。

    たとえば、このエントリの値を指定しておらず、GenScriptTrustedがitResourceDefNameエントリの値である場合、生成されるXMLファイルの名前はGenScriptTrusted-CI.xml です。

  • propertiesFile

    これはオプション・エントリです。リソース・バンドル変換が含まれる.propertiesファイルの名前と相対パスを入力します。このエントリの値を指定しない場合、ファイル名が次の形式で生成されます。

    IT_RES_DEF_NAME-generator.properties

    この形式で、IT_RES_DEF_NAMEはitResourceDefNameエントリの値です。

    たとえば、このエントリの値を指定しておらず、GenScriptTrustedがitResourceDefNameエントリの値である場合、生成されるプロパティ・ファイルの名前はGenScriptTrusted-generator.propertiesです。

  • version

    これはオプション・エントリです。コネクタのリリース番号を入力します。

    サンプル値: 11.1.1.5.0

  • trusted

    これは、必須エントリで、信頼できるソースの構成セクションにのみ存在します。信頼できるソース・モードで実行されるようにコネクタを構成する場合、このエントリの値をtrueに設定します。

  • bundleJar

    これは必須エントリです。メタデータ・ジェネレータが使用するICFバンドルを含むJARファイルの名前と相対パスを入力します。

    デフォルト値: ../lib/org.identityconnectors.genericscript-1.0.11150.jar

    このエントリの値を変更しないでください。

  • config

    これは、コネクタ構成に関する情報を指定する必須エントリです。このコネクタ構成には、コネクタの動作とターゲット・システムへの接続方法に関する情報が含まれます。

    表2-1に、Configエントリのプロパティのリストと説明を示します。

    表2-1 configエントリのプロパティ

    プロパティ 必須 説明

    schemaFile

    はい

    使用するスキーマ・ファイルのURLを入力します。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/schema.properties

    作成したスキーマ・ファイルの詳細は、スキーマの定義を参照してください。

    resourceProperties

    いいえ

    ターゲット・システムに関連する接続固有の情報が格納されたプロパティ・ファイルのURLを入力します。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/resource.properties

    このファイルの作成方法の詳細は、「リソース・プロパティ・ファイルの準備」を参照してください。

    host

    はい

    ターゲット・システムのホストであるコンピュータのホスト名またはIPアドレス。

    port

    はい

    ターゲット・システムがリスニングしているポート番号。

    user

    はい

    リコンシリエーション操作およびプロビジョニング操作の間に、Oracle Identity Managerがターゲット・システムに接続してアクセスするために使用する必要がある、ターゲット・システム・アカウントのユーザーIDまたはユーザー名。このターゲット・システムのユーザー・アカウントには、すべてのコネクタ操作を実行するための権限が必要です。

    changeLogColumn

    いいえ

    直前の更新に関連する番号(減少しない)、日付またはタイムスタンプベースの値が保存されるターゲット・システム属性のオプション名。日付またはタイムスタンプベースではない値(数値または文字列など)を格納する列名のこともあります。

    このターゲット・システム属性のデータ型は、ターゲット・システムでサポートされるいずれかのデータ型です。

    この属性の値は、ターゲット・システムからリコンサイルされた最新のレコードを判別するために増分リコンシリエーションで使用されます。

    注意: 増分リコンシエーションを実行する場合、このプロパティに値を指定する必要があります。

    createScript

    いいえ

    このプロパティは、ターゲット・リソース構成のセクションにのみ存在します。

    このプロパティの値は、コネクタで作成のプロビジョニング操作を実行する場合に指定します。

    ターゲット・システムにオブジェクトを作成するための実装が格納されたスクリプトのファイルURLを入力します。たとえば、ユーザー・アカウント作成のプロビジョニング操作を実行するための実装が格納されたスクリプトを入力します。このスクリプトが呼び出されると、親フォームのデータが追加されます。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/create_user.groovy

    updateScript

    いいえ

    このプロパティは、ターゲット・リソース構成のセクションにのみ存在します。

    このプロパティの値は、コネクタで更新のプロビジョニング操作を実行する場合に指定します。

    ターゲット・システムでオブジェクトを更新するための実装が格納されたスクリプトのファイルURLを入力します。たとえば、ユーザー・アカウント更新のプロビジョニング操作を実行するための実装が格納されたスクリプトを入力します。このスクリプトは、親フォームを更新した場合、またはユーザー・アカウントを有効化/無効化した場合に呼び出されます。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/update_user.groovy

    deleteScript

    いいえ

    このプロパティは、ターゲット・リソース構成のセクションにのみ存在します。

    このプロパティの値は、コネクタで削除のプロビジョニング操作を実行する場合に指定します。

    ターゲット・システムでオブジェクトを削除するための実装が格納されたスクリプトのファイルURLを入力します。たとえば、ユーザー・アカウント削除のプロビジョニング操作を実行するための実装が格納されたスクリプトを入力します。このスクリプトは、アカウントを除外または削除した場合に呼び出されます。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/delete_user.groovy

    executeQueryScript

    いいえ

    このプロパティの値は、リコンシリエーションを実行するようにコネクタを構成する場合に指定します。

    ターゲット・システムからオブジェクトをフェッチするための実装が格納されたスクリプトのファイルURLを入力します。このスクリプトは、アカウント検索(完全リコンシリエーションやフィルタ・リコンシリエーションなどの操作)を実行した場合に呼び出されます。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/recon_user.groovy

    lookupScript

    いいえ

    このプロパティは、ターゲット・リソース構成のセクションにのみ存在します。

    このプロパティの値は、コネクタで参照フィールド同期を実行する場合に指定します。

    ターゲット・システムから参照属性の値をフェッチするための実装が格納されたスクリプトのファイルURLを入力します。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/lookup_field_sync.groovy

    syncScript

    いいえ

    このプロパティの値は、コネクタで増分リコンシリエーションを実行する場合に指定します。

    ターゲット・システムからオブジェクトの増分の変更をフェッチするための実装が格納されたスクリプトのファイルURLを入力します。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/increm_recon_user.groovy

    addMultiValuedAttributeScript

    いいえ

    このプロパティは、ターゲット・リソース構成のセクションにのみ存在します。

    このプロパティの値は、コネクタで子データに対するプロビジョニング操作を実行する場合に指定します。

    ターゲット・システムのオブジェクトに対する複数値の子データを追加するための実装が格納されたスクリプトのファイルURLを入力します。このスクリプトは、複数値の子属性を追加した場合に呼び出されます。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値:

    file:///home/jdoe/scripts/add_mulval_attr.groovy

    removeMultiValuedAttributeScript

    いいえ

    このプロパティは、ターゲット・リソース構成のセクションにのみ存在します。

    このプロパティの値は、コネクタで子データに対するプロビジョニング操作を実行する場合に指定します。

    ターゲット・システムのオブジェクトに対する複数値の子データを削除するための実装が格納されたスクリプトのファイルURLを入力します。このスクリプトは、複数値の子属性を削除した場合に呼び出されます。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/remove_mulval_attr.groovy

    connectionScript

    いいえ

    ターゲット・システムに接続するための実装が格納されたスクリプトのファイルURLを入力します。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/connection.groovy

    checkAliveScript

    いいえ

    ターゲット・システムへのコネクタの物理接続がアクティブかどうかを確認するための実装が格納されたスクリプトのファイルURLを入力します。このスクリプトでは、接続がまだアクティブな状態かを確認するために必要最低限なことだけが実施されるようにする必要があります。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/checkalive.groovy

    disposeScript

    いいえ

    構成オブジェクトを破棄するための実装が格納されたスクリプトのファイルURLを入力します。

    ファイルのURLは次の書式で入力する必要があります。

    file:///URL

    サンプル値: file:///home/jdoe/scripts/dispose.groovy

    scriptType

    はい

    スクリプトが記述された言語を入力します。指定可能な値は次のとおりです。

    • GROOVY

    • BEANSHELL

    • JAVASCRIPT

    関連項目:

    コネクタ操作を実行するために作成するカスタム・スクリプトに含めることができる引数の詳細は、「スクリプト引数の理解」を参照してください

  • lookupAttributeList

    これはオプションのエントリで、ターゲット・リソース構成のセクションにのみ存在します。参照フィールドとして扱う必要のある、ターゲット・システム内の属性のリストを入力します。

    コネクタは、このエントリで指定された各属性に対して参照フィールドを作成し、OIMユーザー・プロセス・フォームの対応する参照フィールドに関連付けます。

    単一値フィールドまたは複数値フィールドの参照フィールドを作成する場合、次の形式で値を入力します。

    ['FIELD_NAME']

    この形式で、FIELD_NAMEを単一値または複数値フィールドの名前に置き換えます。

    埋め込まれている複数値フィールドの参照フィールドを作成する場合、次の形式で値を入力します。

    ['OBJ_CLASS.SUB_FIELD_NAME']

    この形式で、次の処理を行います。

    • OBJ_CLASSを、スキーマ・ファイルの指定に従って子フォームのEmbeddedObjectClass名に置き換えます。

    • SUB_FIELD_NAMEを、スキーマ・ファイルの指定に従って子フォームのサブフィールド名に置き換えます。

    このエントリのデフォルト値は、次のとおりです。

    ['ROLES.ROLENAME','FirstName']

    この値で、ROLES.ROLENAMEは埋め込まれている複数値フィールドです。つまり、ROLESはスキーマ・ファイルの指定によるロールの子フォームのEmbeddedObjectClass名(roles.EmbeddedObjectClass=Roles)で、ROLENAMEはスキーマ・ファイルの指定によるロールの子フォームのサブフィールドのいずれか(roles.Subfileds=ROLENAME)です。FirstNameは単一値フィールドです。

    環境の要件に応じてこのデフォルト値を変更できます。

    lookupAttributeListエントリにリストされている属性ごとに、コネクタは次の形式で参照定義およびスケジュール済ジョブを作成します。

    • 参照定義の形式:

      Lookup.${IT_RES_NAME}.${FIELD_NAME}

      この参照定義には、ターゲット・システムからリコンサイルされた参照値が保持されます。

    • スケジュール済ジョブの形式:

      IT_RES_NAME Target FIELD_NAME Lookup Reconciliation

      このスケジュール済ジョブは、ターゲット・システムから参照値をロードするまたはリコンサイルする目的で使用されます。参照リコンシリエーション用のスケジュール済ジョブの属性の詳細は、参照フィールド同期のスケジュール済ジョブを参照してください。

    両方の形式で、コネクタは次を置き換えます。

    • IT_RES_NAMEをitResourceDefNameエントリの値へ。

    • FIELD_NAMEを参照フィールドを作成するフィールドの名前へ。

  • entitlementAttributeList

    これもオプションのエントリで、ターゲット・リソース構成のセクションにのみ存在します。権限としてタグ付けする必要のある、ターゲット・システム内の完全修飾された属性のリストを入力します。

    コネクタはこのエントリに指定された各属性の参照フィールドを作成し、参照フィールドをプロセス・フォームに割り当て、権限のすべての必須プロパティを追加します。

    複数値フィールドの権限をタグ付けする場合、次の形式で値を入力します。

    ["MULTIVALUED_FIELD_NAME"]

    埋め込まれている複数値フィールドの権限をタグ付けする場合、次の形式で値を入力します。

    ["OBJ_CLASS.SUB_FIELD_NAME"]

    この形式で、次の処理を行います。

    • OBJ_CLASSを、スキーマ・ファイルの指定に従って子フォームのEmbeddedObjectClass名に置き換えます。

    • SUB_FIELD_NAMEを、スキーマ・ファイルの指定に従って子フォームのサブフィールド名に置き換えます。

    デフォルト値: ["Roles.roleid","__GROUPS__"]

    スキーマに基づいてデフォルト値を変更できます。

    この値で、Roles.RoleIdは埋め込まれた複数値フィールドで、__GROUPS__は複数値フィールドです。

  • objectClassAlias

    これはオプション・エントリです。オブジェクト・クラスがObjectClass.ACCOUNT_NAMEまたはObjectClass.GROUP_NAMEでない場合に、その別名を入力します。

    デフォルト値: ['Person']

  • dateAttributeList

    これはオプション・エントリです。プロセス・フォームで日付として処理する必要がある属性のリストを入力します。ここにリストされている属性のデータ型がスキーマ・ファイルでLongに設定されていることを確認してください。

    コネクタは、このエントリで指定された各属性の日付エディタを作成します。

    日付として単一値または複数値フィールドを処理する場合、次の形式で値を入力します。

    ["FIELD_NAME"]

    この形式で、FIELD_NAMEを単一値または複数値フィールドの名前に置き換えます。

    日付として埋め込まれた複数値フィールドを処理する場合、次の形式で値を入力します。

    ["OBJ_CLASS.SUB_FIELD_NAME"]

    この形式で、次の処理を行います。

    • OBJ_CLASSを、スキーマ・ファイルの指定に従って子フォームのEmbeddedObjectClass名に置き換えます。

    • SUB_FIELD_NAMEを、スキーマ・ファイルの指定に従って子フォームのサブフィールド名に置き換えます。

    デフォルト値: ["JoiningDate","Roles.fromdate","Roles.todate"]

    環境の要件に応じてこのデフォルト値を変更できます。

    日付として埋め込まれた複数値フィールドを処理するサンプル値は次のとおりです。

    ["MyRole.StartDate", "MyRole.EndDate"]

  • alias

    これは必須エントリです。メタデータ・ジェネレータは別名を使用して、ターゲット・システム属性とOracle Identity Managerのリソース・オブジェクトのフィールド名の間の関係を作成します。また、メタデータ・ジェネレータは、Oracle Identity Managerのフォーム名およびフォーム・フィールド名に対する文字の長さの制限を満たすように長いデータベース名を短くするため、別名を使用します。別名は、列名、フォーム名およびフォーム・フィールド名のレベルで使用できます。ターゲット・システム属性はコネクタ属性として表されることに注意してください。

    構成のタイプに応じて、次のセクションのいずれかの値を指定します。

    • 信頼できるソース構成の場合

      信頼できるソース構成セクションで、別名エントリを使用してコネクタ属性またはターゲット・システム属性を、OIMユーザー・フォーム・フィールド名にマップします。ここで指定したマッピングを使用して、信頼できるソースのリコンシリエーション用のリコンシリエーション属性マップ参照定義のエントリが移入されます。

      一部のOIMユーザー・フォーム・フィールド名が内部的に同じ表示名を持たないことに注意してください。そのようなフィールドの場合、コネクタ属性またはターゲット・システム属性が表示名ではなく内部名にマップされていることを確認する必要があります。次の表には、OIMユーザー・フォーム表示名と対応する内部名がリストされています。

      表示名 内部名

      Organization

      Organization Name

      Manager

      Manager Login

      E-mail

      Email

      別名エントリのデフォルト値は次のとおりです。

      ['__NAME__':'User Login', 'LastName':'Last Name','Organization':'Organization Name', 'Employee Type':'Xellerate Type', 'Role':'Role']

      デフォルト値で、「組織」コネクタ属性が内部名である「組織名」にマップされていることに注意してください。

      デフォルト値の既存のマッピングは削除できません。ただし、これらのマッピングを変更できません。

      別名エントリにすでに存在するフィールド以外のフィールドのマッピングを追加する場合、別名エントリの既存の値に追加するか、別名+エントリに追加できます。

      別名+エントリのデフォルト値は次のとおりです。

      ['__ENABLE__':'Status', 'FirstName':'First Name', 'email':'Email', 'JoiningDate':'Start Date']

      別名エントリおよび別名+エントリに値を指定する際には、次の書式を使用する必要があります。

      ['CONN_ATTR1': 'OIM_FIELD1', 'CONN_ATTR2': 'OIM_FIELD2', . . . 'CONN_ATTRn': 'OIM_FIELDn']
      

      この書式の意味は次のとおりです:

      • CONN_ATTRは、コネクタ属性名です。

      • OIM_FIELDは、OIMユーザー・フォーム上のフィールドの名前です。

    • ターゲット・リソース構成の場合

      ターゲット・リソース構成セクションで、次の1つまたはすべての目的で別名エントリを使用します。

      • コネクタ属性またはターゲット・システム属性とプロセス・フォームのフィールド名をマップする。ここで指定するマッピングを使用して、ターゲット・リソースのリコンシリエーション用のリコンシリエーション属性マップおよびプロビジョニング属性マップ参照定義のエントリを移入します。

      • itResourceNameエントリに指定したITリソース名に別名(一意の短縮名)を設定する。

      • 長いプロセス・フォーム・フィールド名の短縮名を指定するため。

        プロセス・フォーム名の文字数が11文字よりも多い場合、メタデータ・ジェネレータは自動的にプロセス・フォーム名を10文字までに切り捨て、末尾を数字0にします。以降、切捨て後の同じ名前のプロセス・フォームごとに、接尾辞が1ずつ増えます。メタデータ・ジェネレータは、自動ナンバリングを使用して2つのプロセス・フォームが同じ名前にならないようにします。自動生成のフォーム名を制御して意味のあるフォーム名を使用するため、別名を使用して短縮したプロセス・フォーム名を指定できます。

        次に、この例を示します。

        リソース名がGENDBでスキーマのUSER_ROLESとして表される子データが含まれていることを前提とします。

        メタデータ・ジェネレータを実行すると、プロセス・フォームが作成され、そのフォーム名はUD_GENDB_USER_ROLESです。このプロセス・フォーム名の文字数が11文字よりも多いため、メタデータ・ジェネレータによって自動的にUD_GENDB_U0に切り捨てられます。切り捨てられたフォーム名UD_GENDB_U0は、意味のある名前ではありません。

        自動生成された名前のこのような問題またはフォームを回避するには、別名エントリを使用して短縮したおよび意味のあるプロセス・フォーム名を指定できます。

      ターゲット・リソース構成セクションの別名エントリのデフォルト値は次のとおりです。

      ['__UID__':'UserId', '__NAME__':'UserId']

      必須であるため、デフォルト値の既存のマッピングは削除できません。ただし、スキーマ・ファイルのUidAttributeおよびNameAttribute修飾子の値と一致するようにデフォルト値を変更する必要があります。たとえば、スキーマ・ファイルで、UidAttributeおよびNameAttribute修飾子の値をUIDおよびUserIdにそれぞれ設定した場合、別名エントリの値を次のように設定する必要があります。

      ['__UID__':'UID', '__NAME__':'UserId']

      別名エントリにすでに存在するフィールド以外のフィールドのマッピングを追加する場合(つまり、オプションの別名)、別名エントリの既存の値に追加するか、別名+エントリに追加できます。

      ターゲット・リソース構成セクションの別名+エントリのデフォルト値は次のとおりです。

      ['USERROLERELATIONSHIP':'USRROL', 'comments':'Description', 'Family Name':'Last Name', 'Visibility':'Status']

      別名エントリおよび別名+エントリに値を指定する際には、次の書式を使用する必要があります。

      ['CONN_ATTR1': 'ALIAS_FIELD1', 'CONN_ATTR2': 'ALIAS_FIELD2', . . . 'CONN_ATTRn': 'ALIAS_FIELDn']
      

      この書式の意味は次のとおりです:

      • CONN_ATTRは、コネクタ属性名です。

      • ALIAS_FIELDは、コネクタ属性またはターゲット・システム属性に対応する別名です。

  • prepopulate

    これは、ターゲット・リソース構成のセクションにのみ存在するオプションのエントリです。エンタープライズ・ターゲット・システム・リソースのプロビジョニング中に、Oracle Identity ManagerによってOIMユーザー・フィールドからコネクタのプロセス・フォーム・フィールドに事前移入する場合、このエントリに値を指定します。

    このエントリのデフォルト値は次のとおりです。

    ['__NAME__':'User Login', 'FIRST_NAME':'First Name', 'LAST_NAME':'Last Name', '__PASSWORD__':'Password']

    これは、デフォルトでgroovyファイルが次のフィールドを移入するように構成されていることを示します。

    • User Login

    • First Name

    • Last Name

    • Password

    前述のリストにフィールドを追加またはリストから削除できます。事前移入エントリに値を指定する際には、次の書式を使用する必要があります。

    ['CONN_ATTR1 or TARGET_ATTR1': 'OIM_FIELD1', 'CONN_ATTR2 or TARGET_ATTR2': 'OIM_FIELD2', . . . 'CONN_ATTRn or TARGET_ATTRn': 'OIM_FIELDn']
    

    この書式の意味は次のとおりです:

    • CONN_ATTRは、コネクタ属性名です。

    • TARGET_ATTRはターゲット・システム属性の名前です。

    • OIM_FIELDは、OIMユーザー・フォーム上のフィールドの名前です。

    事前移入アダプタのアタッチおよび削除の詳細は、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズの事前移入アダプタの使用を参照してください。

2.3.3 Groovyファイルの構成

ScriptConfiguration.groovyファイルを構成するには、次のようにします。

  1. Oracle Technology Networkからコネクタ・インストールZIPファイルをダウンロードします。
  2. コネクタ・インストールZIPの内容を、メタデータ生成ユーティリティを実行するコンピュータの任意のディレクトリに抽出します。これにより、genericscript-RELEASE_NUMBERというディレクトリが作成されます。コネクタ・インストールZIPのすべてのファイルおよびディレクトリの詳細は、「Generic Scriptingコネクタのファイルおよびディレクトリ」を参照してください。
  3. テキスト・エディタで、genericscript-RELEASE_NUMBER/metadata-generator/resourcesディレクトリにあるScriptConfiguration.groovyファイルを開きます。
  4. 次の事前定義されたセクションのいずれかのエントリの値を指定します。
    • trusted - 信頼できるソース・モード用にコネクタを構成する場合

    • target - ターゲット・リソース・モード用にコネクタを構成する場合

    関連項目:

    事前定義されたセクションのエントリの詳細は、Groovyファイルの事前定義済セクションのエントリの理解を参照してください。

  5. ScriptConfiguration.groovyファイルを保存して閉じます。

2.4 コネクタの生成

ScriptConfiguration.groovyファイルを構成したら、メタデータ・ジェネレータを実行してターゲット・システム・スキーマに基づいてコネクタ・パッケージを生成する必要があります。

メタデータ・ジェネレータは、genericscript-RELEASE_NUMBER/metadata-generator/binディレクトリにある、GenericScriptGenerator.cmdまたはGenericScriptGenerator.shファイルです。

メタデータ・ジェネレータを実行するには、コマンド・ウィンドウで、genericscript-RELEASE_NUMBER/metadata-generator/binディレクトリに移動し(genericscript-11.1.1.5.0/binなど)、使用しているオペレーティング・システムに応じて次のコマンドのいずれかを実行します。

  • Microsoft Windowsの場合

    GenericScriptGenerator.cmd CONFIG_FILE CONFIG_NAME

  • UNIXの場合

    GenericScriptGenerator.sh CONFIG_FILE CONFIG_NAME

このコマンドの次の部分を置き換えます。

  • CONFIG_FILEは、ScriptConfiguration.groovyファイルの絶対または相対パス名に置き換えます。

  • CONFIG_NAMEは、ターゲット・システムに使用されている、ScriptConfiguration.groovyファイル内の構成の名前に置き換えます。このファイル内の事前定義された構成は、trustedおよびtargetです。実際の要件に応じて、異なる名前を持つ追加のカスタム構成を作成できます。

次に、サンプル・コマンドを示します。

GenericScriptGenerator.cmd ..\resources\ScriptConfiguration.groovy target

このコマンドで、"target"は、値が指定されているScriptConfiguration.groovyファイルのセクション名を示します。つまり、このコネクタは、ターゲット・リソース・モード向けに構成されています。

メタデータ・ジェネレータの実行中にエラーが発生した場合は、それを修正してからメタデータ・ジェネレータの実行を再開する必要があります。

2.4.1 生成されたコネクタ・パッケージの理解

コネクタ・パッケージは、GenericScript-RELEASE_NUMBER/metadata-generator/ディレクトリに生成されるZIPファイルです。

たとえば、ScriptConfiguration.groovyファイルにitResourceDefNameエントリの値としてGenScriptと指定した場合、コネクタ・パッケージのZIP (GenScript.zip)ファイルがGenericScript-11.1.1.5.0/metadata-generator/ディレクトリに生成されます。コネクタ・パッケージのディレクトリ構造は、次のとおりです。

CONNECTOR_PACKAGE/
         configuration/
                  IT_RES_DEF-CI.xml
         resources/
                  genericscript-generator.properties
         xml/
                  IT_RES_DEF-ConnectorConfig.xml

このディレクトリ構造の意味は次のとおりです。

  • CONNECTOR_PACKAGEは、ScriptConfiguration.groovyファイルのitResourceDefNameエントリの値として指定されたITリソース定義の名前で置き換えられます。

  • IT_RES_DEFは、ScriptConfiguration.groovyファイルのitResourceDefNameエントリの値として指定されたITリソース定義の名前で置き換えられます。

コネクタ構成XMLファイルが生成されると、動作が次のようになります。

ターゲット・システムのフィールド(列)の長さはプロセス・フォームにフェッチされません。そのため、「一意のID」フィールドと「パスワード」フィールドを除き、プロセス・フォームにおける(文字列データ型の)他のすべてのデータ・フィールドの長さは、常に255文字に設定されます。「一意のID」フィールドと「パスワード」フィールドの長さは、40文字に設定されます。