Generic RESTコネクタをインストールする前に完了しておく必要がある作業について説明します。
Generic RESTコネクタのインストール・パッケージは、Oracle Technology Network (OTN)のWebサイトで入手できます。
ターゲット・システムの基礎となる構造をコネクタが理解するのに役立つスキーマ・ファイルを作成します。
親フォームのフィールドを記述するための書式を次に示します:
<FIELDNAME>.<FIELDQUALIFIER>=<VALUE>
例: UserId.Required=true
複雑な子フォームのフィールドを記述するための書式を次に示します:
<FIELDNAME>.<SUBFIELDNAME>.<FIELDQUALIFIER>=<VALUE>
例: Roles.fromdate.DataType=Long
各エントリは、次の書式の単一行である必要があります:
PropertyName=PropertyValue
プロパティ名とプロパティ値の間にある空白文字は無視されます。たとえば、次の3つのエントリはすべて同じです:
StatusAttribute=AccountStatus
StatusAttribute = AccountStatus
StatusAttribute= AccountStatus
コメントは、スキーマを参照しているユーザーがそのエントリをさらに理解するのに役立ちます。シャープ記号(#)で始まるエントリまたは行は、メタデータ・ジェネレータで無視されます。
指定しないかぎり、すべてのフィールドのデフォルトのデータ型はStringです。
ノート:
schema.propertiesファイルを、メタデータ生成ユーティリティを実行するコンピュータ上に作成する必要があります。関連項目:
サンプルのACMEスキーマ・ファイルは、「サンプル・スキーマ・ファイル」を参照してくださいターゲット・システム・スキーマと、コネクタを構成するモードに関する情報を格納するプロパティの値を指定して、Groovyファイルを更新します。
GroovyファイルのdateAttributeList、entitlementAttributeList、lookupAttributeListおよびaliasエントリについて説明します。ここで示される情報は、Groovyファイルの更新時に使用します。
dateAttributeList
このエントリは、コネクタがプロセス・フォームで日付として処理する必要のある属性のリストを保持します。ここにリストされている属性のデータ型がスキーマ・ファイルでLongに設定されていることを確認してください。
コネクタは、このエントリで指定された各属性の日付エディタを作成します。
コネクタで単一値または複数値のフィールドを日付として処理する場合、このエントリに次の形式で値を入力します。
["FIELD_NAME"]
この形式で、FIELD_NAMEを単一値または複数値フィールドの名前に置き換えます。
日付として埋め込まれた複数値フィールドを処理する場合、次の形式で値を入力します。
["OBJ_CLASS.SUB_FIELD_NAME"]
この形式で、次の処理を行います。
OBJ_CLASSを、スキーマ・ファイルの指定に従って子フォームのEmbeddedObjectClass名に置き換えます。
SUB_FIELD_NAMEを、スキーマ・ファイルの指定に従って子フォームのサブフィールド名に置き換えます。
デフォルト値: ["JoiningDate"]
環境の要件に応じてこのデフォルト値を変更できます。
日付として埋め込まれた複数値フィールドを処理するサンプル値は次のとおりです。
["MyRole.StartDate", "MyRole.EndDate"]
entitlementAttributeList
このエントリには、権限としてタグ付けする必要のある、ターゲット・システム内の属性のリストを含める必要があります。
コネクタはこのエントリに指定された各属性の参照フィールドを作成し、参照フィールドをプロセス・フォームに割り当て、権限のすべての必須プロパティを追加します。
複数値フィールドの権限をタグ付けする場合、次の形式で値を入力します。
["MULTIVALUED_FIELD_NAME"]
埋め込まれている複数値フィールドの権限をタグ付けする場合、次の形式で値を入力します。
["OBJ_CLASS.SUB_FIELD_NAME"]
この形式で、次の処理を行います。
OBJ_CLASSを、スキーマ・ファイルの指定に従って子フォームのEmbeddedObjectClass名に置き換えます。
SUB_FIELD_NAMEを、スキーマ・ファイルの指定に従って子フォームのサブフィールド名に置き換えます。
デフォルト値: ['Roles.RoleName']
この値で、Roles.RoleName
は埋め込まれている複数値フィールドです。つまり、Roles
はスキーマ・ファイルの指定によるロールの子フォームのEmbeddedObjectClass名(roles.EmbeddedObjectClass=Roles)で、RoleName
はスキーマ・ファイルの指定によるロールの子フォームのサブフィールドのいずれか(roles.Subfileds=ROLENAME)です。
環境の要件に応じてこのデフォルト値を変更できます。
lookupAttributeList
このエントリは、コネクタで参照フィールドとして処理する必要のある、ターゲット・システム内の属性のリストを保持します。
コネクタは、このエントリで指定された各属性に対して参照フィールドを作成し、OIMユーザー・プロセス・フォームの対応する参照フィールドに関連付けます。
単一値フィールドまたは複数値フィールドの参照フィールドを作成する場合、次の形式で値を入力します。
['FIELD_NAME']
この形式で、FIELD_NAMEを単一値または複数値フィールドの名前に置き換えます。
埋め込まれている複数値フィールドの参照フィールドを作成する場合、次の形式で値を入力します。
['OBJ_CLASS.SUB_FIELD_NAME']
この形式で、次の処理を行います。
OBJ_CLASSを、スキーマ・ファイルの指定に従って子フォームのEmbeddedObjectClass名に置き換えます。
SUB_FIELD_NAMEを、スキーマ・ファイルの指定に従って子フォームのサブフィールド名に置き換えます。
このエントリのデフォルト値は、次のとおりです。
['Currency']
この値で、Currency
は複数値フィールドです。
環境の要件に応じてこのデフォルト値を変更できます。
lookupAttributeListエントリにリストされている属性ごとに、コネクタは次の形式で参照定義およびスケジュール済ジョブを作成します。
参照定義の形式:
Lookup.${IT_RES_NAME}.${FIELD_NAME}
この参照定義には、ターゲット・システムからリコンサイルされた参照値が保持されます。
スケジュール済ジョブの形式:
IT_RES_NAME Target FIELD_NAME Lookup Reconciliation
このスケジュール済ジョブは、ターゲット・システムから参照値をロードするまたはリコンサイルする目的で使用されます。参照リコンシリエーション用のスケジュール済ジョブの属性の詳細は、参照フィールド同期のスケジュール済ジョブを参照してください。
両方の形式で、コネクタは次を置き換えます。
IT_RES_NAMEをitResourceDefNameエントリの値へ。
FIELD_NAMEを参照フィールドを作成するフィールドの名前へ。
alias
メタデータ・ジェネレータは別名を使用して、ターゲット・システム属性とOracle Identity Managerのリソース・オブジェクトのフィールド名の間の関係を作成します。また、メタデータ・ジェネレータは、Oracle Identity Managerのフォーム名およびフォーム・フィールド名に対する文字の長さの制限を満たすように長いデータベース名を短くするため、別名を使用します。別名は、列名、フォーム名およびフォーム・フィールド名のレベルで使用できます。ターゲット・システム属性はコネクタ属性として表されることに注意してください。
構成のタイプに応じて、次のセクションのいずれかの値を指定します。
信頼できるソース構成の場合
信頼できるソース構成セクションで、別名エントリを使用してコネクタ属性またはターゲット・システム属性を、OIMユーザー・フォーム・フィールド名にマップします。ここで指定したマッピングを使用して、信頼できるソースのリコンシリエーション用のリコンシリエーション属性マップ参照定義のエントリが移入されます。
一部のOIMユーザー・フォーム・フィールド名が内部的に同じ表示名を持たないことに注意してください。そのようなフィールドの場合、コネクタ属性またはターゲット・システム属性が表示名ではなく内部名にマップされていることを確認する必要があります。次の表には、OIMユーザー・フォーム表示名と対応する内部名がリストされています。
表示名 | 内部名 |
---|---|
Organization |
Organization Name |
Manager |
Manager Login |
別名エントリのデフォルト値は次のとおりです。
['__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つまたはすべての目的で別名エントリを使用します。
コネクタ属性またはターゲット・システム属性とプロセス・フォームのフィールド名をマップする。ここで指定するマッピングを使用して、ターゲット・リソースのリコンシリエーション時に使用されるRecon Attribute Map参照定義とProv Attribute Map参照定義のエントリを移入します。
itResourceNameエントリに指定したITリソース名に別名(一意の短縮名)を設定する。
長いプロセス・フォーム・フィールド名の短縮名を指定するため。
プロセス・フォーム名の文字数が11文字よりも多い場合、メタデータ・ジェネレータは自動的にプロセス・フォーム名を10文字までに切り捨て、末尾を数字0にします。以降、切捨て後の同じ名前のプロセス・フォームごとに、接尾辞が1ずつ増えます。メタデータ・ジェネレータは、自動ナンバリングを使用して2つのプロセス・フォームが同じ名前にならないようにします。自動生成のフォーム名を制御して意味のあるフォーム名を使用するため、別名を使用して短縮したプロセス・フォーム名を指定できます。
次に、この例を示します。
リソース名がGENDBでスキーマのUSER_ROLESとして表される子データが含まれていることを前提とします。
メタデータ・ジェネレータを実行すると、プロセス・フォームが作成され、そのフォーム名はUD_GENDB_USER_ROLESです。このプロセス・フォーム名の文字数が11文字よりも多いため、メタデータ・ジェネレータによって自動的にUD_GENDB_U0に切り捨てられます。切り捨てられたフォーム名UD_GENDB_U0は、意味のある名前ではありません。
自動生成された名前のこのような問題またはフォームを回避するには、別名エントリを使用して短縮したおよび意味のあるプロセス・フォーム名を指定できます。
ターゲット・リソース構成セクションの別名エントリのデフォルト値は次のとおりです。
['__UID__':'id', '__NAME__':'primaryEmail']
必須であるため、デフォルト値の既存のマッピングは削除できません。ただし、スキーマ・ファイルのUidAttributeおよびNameAttribute修飾子の値と一致するようにデフォルト値を変更する必要があります。たとえば、スキーマ・ファイルで、UidAttributeおよびNameAttribute修飾子の値をそれぞれEmpIdおよびUserNameに設定した場合、aliasエントリの値を次のように設定する必要があります:
['__UID__':'EmpId', '__NAME__':'UserName']
別名エントリにすでに存在するフィールド以外のフィールドのマッピングを追加する場合(つまり、オプションの別名)、別名エントリの既存の値に追加するか、別名+エントリに追加できます。
ターゲット・リソースセクションの別名+エントリのデフォルト値は次のとおりです。
['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は、コネクタ属性またはターゲット・システム属性に対応する別名です。