プライマリ・コンテンツに移動
Oracle® Identity Manager Generic RESTコネクタ・ガイド
リリース11.1.1
E79296-07
目次へ移動
目次

前
次

4 Generic RESTコネクタの構成

Oracle Identity Managerがターゲット・システムに接続できるようにコネクタを構成する必要があります。また、コネクタを構成して、リコンシリエーション操作およびプロビジョニング操作を実行するように設定する必要があります。

4.1 ターゲット・システムのITリソースの構成

ターゲット・システムのITリソースは、コネクタのインストール後に作成されます。ITリソースは、ターゲット・システムに関する接続やその他の汎用情報を格納するパラメータで構成されます。Oracle Identity Managerは、この情報を使用して、特定のインストールやターゲット・システムのインスタンスに接続し、リコンシリエーション操作およびプロビジョニング操作を実行します。

Generic RESTコネクタのITリソース・パラメータのリストは、次のカテゴリに分けることができます。

  • 接続関連のパラメータ

  • 認証パラメータ

  • パーサー・パラメータ

  • 追加の構成パラメータ

この項では、ITリソースの構成に関する次の各トピックについて説明します:

4.1.1 ITリソース・パラメータの値の指定

ターゲット・システムのITリソースには、ターゲット・システムに関する接続情報が含まれます。Oracle Identity Managerでは、プロビジョニングおよびリコンシリエーション時にこの情報を使用します。

メタデータ・ジェネレータを実行すると、このコネクタに対応するITリソースがOracle Identity Managerで自動的に作成されます。次のようにして、このITリソースのパラメータの値を指定する必要があります。

  1. Oracle Identity System Administrationにログインします。
  2. 左側のペインの「構成」で、「ITリソース」をクリックします。
  3. 「ITリソースの管理」ページの「リソース名」フィールドにITリソースの名前を入力し、「検索」をクリックします。ITリソースの名前は、GenericRestConfiguration.groovyファイルのitResourceNameプロパティの値です。
  4. ITリソースの編集アイコンをクリックします。
  5. ページ上部のリストから、「詳細およびパラメータ」を選択します。
  6. ITリソースのパラメータの値を指定します。ITリソース・パラメータの詳細は、ターゲット・システムのITリソースの構成を参照してください。
  7. 値を保存するには、「更新」をクリックします。

4.1.2 接続パラメータ

接続パラメータは、Oracle Identity Managerとターゲット・システム間の接続を確立してアイデンティティ情報を交換するために、コネクタによって使用されます。

表4-1は、接続に関連したITリソース・パラメータを示します。

表4-1 接続のITリソース・パラメータ

パラメータ 説明

Configuration Lookup

コネクタ操作で使用されるコネクタ構成エントリ含む参照定義の名前。

ノート: これは必須パラメータです。

Connector Server Name

コネクタ・サーバーにGeneric RESTコネクタをデプロイした場合は、コネクタ・サーバーのITリソース名を入力します。

host

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

サンプル値: www.example.com

ノート: これは必須パラメータです。

port

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

サンプル値: 80

ノート: これは必須パラメータです。

proxyHost

外部のターゲット・システムへの接続に使用するプロキシ・ホストの名前。

サンプル値: www.example.com

proxyPort

プロキシ・ポート番号

サンプル値: 80

proxyUser

ターゲット・システムに接続するために、Oracle Identity Managerにより使用されるターゲット・システム・ユーザー・アカウントのプロキシ・ユーザー名。

proxyPassword

ターゲット・システムに接続するために、Oracle Identity Managerにより使用されるターゲット・システム・ユーザー・アカウントのプロキシ・ユーザーIDのパスワード。

connectionTimeOut

ターゲット・システムとOracle Identity Managerとの間の接続確立の試行がタイムアウトするまでのミリ秒数を指定する整数値。

サンプル値: 100000

socketTimeOut

ターゲット・システムからのレスポンス待機がタイムアウトするまでのミリ秒数を指定する整数値。

サンプル値: 100000

4.1.3 認証パラメータ

認証パラメータは、ターゲット・システムがアプリケーションを認証するために使用します。値の指定が必要なITリソース・パラメータのセットは、authenticationTypeパラメータに入力した値によって決まります。

authenticationTypeパラメータには、ターゲット・システムで使用される認証のタイプが保持されます。デフォルトでは、コネクタは次のタイプの認証をサポートします。

  • HTTP Basic認証

  • OAuth 2.0 JWT

  • OAuth 2.0クライアント資格証明

  • OAuth 2.0リソース所有者のパスワード

  • アクセス・トークンおよびリフレッシュ・トークンの手動入力

ここに示した認証タイプの他に、ターゲット・システムで使用されている認証タイプがある場合は、独自の実装を開発して作成する必要があります。次にauthenticationTypeパラメータで可能な値を示します。

  • HTTP基本認証: basic
  • OAuth 2.0 JWT: jwt
  • OAuth 2.0クライアント資格証明: client_credentials
  • OAuth 2.0リソース所有者のパスワード: password
  • アクセス・トークンおよびリフレッシュ・トークンの手動入力: other
  • カスタム認証の実装: custom

ノート:

この項では、すべての認証タイプのITリソース・パラメータについて説明します。指定する認証タイプに対応するITリソース・パラメータの値のみを入力します。

HTTP Basic認証

表4-2は、authenticationTypeパラメータがbasicに設定されている場合に、値を指定する必要があるITリソース・パラメータのセットを示します。

表4-2 HTTP基本認証のITリソース・パラメータ

パラメータ 説明

username

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

サンプル値: johnsmith

password

リコンシリエーション操作およびプロビジョニング操作の間に、Oracle Identity Managerがターゲット・システムに接続してアクセスするために使用する必要があるアカウントのパスワード。

サンプル値: password

OAuth 2.0 JWT

表4-3に、authenticationTypeパラメータがjwtに設定されている場合に、値を指定する必要がある一連のITリソース・パラメータを示します。

表4-3 OAuth 2.0 JWTのITリソース・パラメータ

パラメータ 説明

aud

JWTの対象を入力します。この値には、認証サーバーのURIまたはトークン・エンドポイントのURLを指定できます。

サンプル値: https://www.example.com/oauth2/v3/token

iss

JWTを発行したエンティティを一意に識別する値を入力します。

サンプル値: 527901474-ugnvd5uh21p598cf9h6cd@developer.example.com

scope

発行されるアクセス・トークンの有効範囲を入力します。

サンプル値: https://www.example.com/auth/adm.direct.grouphttps://www.example.com/auth/adm.direct.user

sub

JWTの発行先プリンシパルを識別する値を入力します。

サンプル値: admin@example.com

privateKeyLocation

アクセス・トークンへの署名に使用される秘密キーへの絶対パスを入力します。

サンプル値: C:\Users\jdoe\Desktop\Connector_Server_111210\connector_server_java-1.4.0\bundles\googleapps.p12

privateKeySecret

アクセス・トークンへの署名に使用される秘密キーの値を入力します。

tokenLifespan

アクセス・トークンの有効期限を入力します(ミリ秒単位)。

サンプル値: 3600

signatureAlgorithm

アクセス・トークンへの署名に使用されるアルゴリズムを入力します。

サンプル値: RS265

privateKeyFormat

アクセス・トークンへの署名に使用される秘密キーの形式を入力します。

サンプル値: PKCS12

OAuth 2.0クライアント資格証明

表4-4に、authenticationTypeパラメータがclient_credentialsに設定されている場合に、値を指定する必要がある一連のITリソース・パラメータを示します。

表4-4 OAuth2.0クライアント資格証明のITリソース・パラメータ

パラメータ 説明

clientId

登録プロセス中に認証サーバーがクライアントに発行するクライアント識別子(一意の文字列)を入力します。

サンプル値: XDWTh0r2eWuULCDVt

clientSecret

クライアント・アプリケーションのアイデンティティを認証するために使用する値を入力します。

サンプル値: clZsdZisTOoYN5NITirarIDepDkiJTGHdzNFT0m

authenticationServerURL

クライアントを認証し(クライアントIDとクライアント・シークレットを検証)、有効だった場合はアクセス・トークンを発行する認証サーバーのURLを入力します。

サンプル値: https://api.example.com/oauth2/token

OAuth 2.0リソース所有者のパスワード

表4-5は、authenticationTypeパラメータがpasswordに設定されている場合に、値を指定する必要があるITリソース・パラメータのセットを示します。

表4-5 OAuth 2.0リソース所有者のパスワードのITリソース・パラメータ

パラメータ 説明

username

リソース所有者のリソース名またはユーザーIDを入力します。

サンプル値: johnsmith

password

リソース所有者のパスワードを入力します。

サンプル値: password

clientId

登録プロセス中にクライアントに発行されるクライアント識別子を入力します。

サンプル値: XDWTh0r2eWuULCDVt

ノート: このパラメータはオプションです。

clientSecret

クライアント・アプリケーションのアイデンティティを認証するのに使用されるクライアント・シークレットを入力します。

サンプル値: clZsdZisTOoYN5NITirarIDepDkiJTGHdzNFT0m

ノート: このパラメータはオプションです。

authenticationServerUrl

クライアント(クライアントIDとクライアント・シークレットを検証)とリソース所有者の資格証明を認証し、有効だった場合はアクセス・トークンを発行する認証サーバー(トークン・エンドポイント)のURLを入力します。

サンプル値: https://api.example.com/oauth2/token

アクセス・トークンおよびリフレッシュ・トークンの手動入力

この項では、authenticationTypeパラメータがotherに設定されている場合に、値を指定する必要があるITリソース・パラメータについて説明します。

この認証メカニズムでは、コネクタは、customAuthHeaders ITリソース・パラメータを介して直接渡されるアクセス・トークンおよびリフレッシュ・トークンの値を使用します。customAuthHeadersパラメータは、HTTP認証ヘッダーを介して渡す必要がある、アクセス・トークンおよびリフレッシュ・トークンの値を保持する必要があります。

カスタム認証

この項では、authenticationTypeパラメータがcustomに設定されている場合に、値を指定する必要があるITリソース・パラメータについて説明します。

カスタム認証を実装した場合は、customAuthClassNameパラメータの値を入力する必要があります。customAuthClassNameパラメータは、カスタム解析の実装で説明した手順の実行中に作成したカスタム解析ロジックを実装するクラスの名前を保持する必要があります。

4.1.4 パーサー・パラメータ

デフォルトでは、Generic RESTコネクタはリコンシリエーションの実行中にJSON解析のみをサポートします。ターゲット・システムのリコンシリエーション・データがJSON形式でない場合は、使用するデータ形式に合わせてカスタム・パーサーの実装を作成する必要があります。

表4-6は、解析に関連したITリソース・パラメータを示します。

表4-6 パーサーのITリソース・パラメータ

パラメータ 説明
jsonResourcesTag

レスポンス・ペイロードを解析するために使用されるJSONタグの値を入力します。コネクタでは、レスポンスの解析中にこのパラメータに入力した値が不要な外部タグとみなされます。レスポンス・ペイロードに不要な外部タグがない場合には、このパラメータ値の入力をスキップできます。

このパラメータの値は次の形式で入力します。

OBJ_CLASS=OUTER_ATTR_NAME

この形式のOBJ_CLASSは、解析対象となっているレスポンス・ペイロードのオブジェクト・クラスの名前です。OUTER_ATTR_NAMEは、レスポンス・ペイロードに含まれる外部タグの名前です。

たとえば、ユーザー・オブジェクトの次のJSON値について考えます。
"Resources":"{

	"user1":"{value1}",
	"user2":"{value2}"
	}

ユーザー・オブジェクト用のオブジェクト・クラスの名前は__ACCOUNT__であるため、この例ではjsonResourcesTagパラメータの値は__ACCOUNT__=Resourcesです。

ノート: このパラメータの値は、ターゲット・システムのデータがJSON形式の場合にのみ入力する必要があります。JSONタグが複数の場合は、値をカンマで区切る必要があります。

customParserClassName カスタム解析の実装で説明した手順の実行中に作成したカスタム・パーサー・ロジックを実装するクラスの名前を入力します。

ノート: このパラメータの値は、カスタム・パーサーの実装を使用している場合にのみ入力します。

4.1.5 追加の構成パラメータ

追加構成のITリソース・パラメータはすべてターゲット・システムに固有です。表4-7は、ターゲット・システム構成に関連するITリソース・パラメータを示します。この表に含まれるすべてのパラメータでサポートされる操作タイプは、CREATEOP、DELETEOP、SEARCHOP、UPDATEOP、ADDATTRIBUTEおよびREMOVEATTRIBUTEです。ADDATTRIBUTE操作またはREMOVEATTRIBUTE操作は、子表の追加および削除操作ごとに別個のリクエスト・ペイロードを使用する場合にのみ、使用する必要があります。それ以外の場合は、UPDATEOP操作またはDELETEOP操作を使用します。

ノート:

このドキュメントでは、オブジェクト・クラスの属性のうち、ベース・オブジェクト・クラスと同じエンドポイントではなく、個別のRESTエンドポイントを通じてのみ管理できるオブジェクト・クラスの属性を、特殊属性と呼びます。

表4-7 構成のITリソース・パラメータ

パラメータ 説明

simpleMultivaluedAttributes

コネクタで管理する単純な複数値属性のカンマ区切りリストを入力します。

このパラメータの値は、次の形式で入力する必要があります。OBJ_CLASS.ATTR_NAME

サンプル値: "__ACCOUNT__=alias","__GROUP__=alias"

opTypes

コネクタで管理する各オブジェクト・クラス用のHTTP操作タイプを入力します。

値は、カンマで区切り、次の形式にする必要があります: "OBJ_CLASS.OPERATION=HTTP_OPERATION"

この形式では、OBJ_CLASSはコネクタ・オブジェクト・クラス、OPERATIONはコネクタ操作(CreateOp、UpdateOp、SearchOpなど)、さらにHTTP_OPはHTTP操作(GET、PUTまたはPOST)です。

サンプル値: "__ACCOUNT__.CREATEOP=POST","__ACCOUNT__.DELETEOP=DELETE","__GROUP__.CREATEOP=POST","__ACCOUNT__.alias.CREATEOP=POST","__ACCOUNT__.alias.UPDATEOP=POST","__ACCOUNT__.alias.DELETEOP=DELETE","__GROUP__.alias.CREATEOP=POST","__GROUP__.alias.UPDATEOP=POST","__GROUP__.alias.DELETEOP=DELETE","__ACCOUNT__.__GROUP__.CREATEOP=POST","__ACCOUNT__.__GROUP__.UPDATEOP=POST","__ACCOUNT__.__GROUP__.DELETEOP=DELETE"

relURIs

各オブジェクト・クラスの全操作に対する相対URLを入力します。

このパラメータの値は次の形式のいずれかで入力します。

  • 属性: OBJ_CLASS.OP=REL_URL

  • 特殊属性: OBJ_CLASS.ATTR_NAME.OP=REL_URL

  • 複数の操作の相対URLが同一の属性: OBJ_CLASS=REL_URLまたはOBJ_CLASS.ATTR_NAME=REL_URL

  • リコンシリエーション時にフィルタ基準に基づいてレコードをフィルタ処理する場合は、$(Filter Suffix)$を使用します。$(Filter Suffix)$は、スケジュール済ジョブのFilter Suffix属性の一部として指定するフィルタ基準に置き換えます。

  • エンドポイントURLの一部として、ユーザーの一意のIDを渡す必要がある場合は、$(__UID__)$を使用します。$(__UID__)$は、ユーザーの一意のIDに置き換えます。

  • ユーザーの一意のID以外の属性を渡す必要がある場合は、次のいずれかの形式で表します。
    • 単一値属性の場合: $(attr_name)$

      $(attr_name)$は、ターゲット・システムの属性の名前に置き換えます。

    • 埋込みオブジェクトの場合: $(OBJ_CLASS.ATTR_NAME)$

      たとえば、$(__GROUP__.id)$となります。

サンプル値: "__ACCOUNT__.CREATEOP=/admin/directory/v1/users","__ACCOUNT__.SEARCHOP=/admin/directory/v1/users/$(Filter Suffix)$","__ACCOUNT__=/admin/directory/v1/users/$(__UID__)$","__GROUP__.CREATEOP=/admin/directory/v1/groups","__GROUP__=/admin/directory/v1/groups/$(__UID__)$","__GROUP__.SEARCHOP=/admin/directory/v1/groups/$(Filter Suffix)$","__ACCOUNT__.alias=/admin/directory/v1/users/$(__UID__)$/aliases","__ACCOUNT__.alias.DELETEOP=/admin/directory/v1/users/$(__UID__)$/aliases/$(alias)$","__GROUP__.alias.DELETEOP=/admin/directory/v1/groups/$(__UID__)$/aliases/$(alias)$","__ACCOUNT__.__GROUP__=/admin/directory/v1/groups/$(__GROUP__.id)$/members","__ACCOUNT__.__GROUP__.DELETEOP=/admin/directory/v1/groups/$(__GROUP__.id)$/members/$(__UID__)$","__ACCOUNT__.__GROUP__.SEARCHOP=/admin/directory/v1/groups?userKey=$(__UID__)$"

nameAttributes

コネクタによって処理されるすべてのオブジェクト・クラスの名前属性を入力します。この値は、コネクタが扱う各オブジェクト・クラスの_NAME_コネクタ属性と対応するターゲット・システム属性間のマッピングを指定します。

形式: OBJ_CLASS.ATTR_NAME

ノート: このパラメータのすべての値はカンマ区切りにする必要があります。

uidAttributes

コネクタが処理する各オブジェクト・クラスの__UID__属性を入力します。__UID__属性は、ターゲット・システム内のアカウントを一意に識別するターゲット・システム属性です。このターゲット・システム属性名は一意である必要がありますが、自動生成する必要はありません。

形式: OBJ_CLASS.ATTR_NAME

この形式では、OBJ_CLASSはコネクタ・オブジェクト・クラスであり、ATTR_NAMEはターゲット・システム内のアカウントを一意に識別する属性の名前です。

ノート: このパラメータのすべての値はカンマ区切りにする必要があります。

statusAttributes

このコネクタが扱う各オブジェクト・クラスの_ENABLE_コネクタ属性と、ステータスを保持するターゲット属性間のマッピングを入力します。

形式: OBJ_CLASS.ATTR_NAME

サンプル値: "__ACCOUNT__.suspended"

ノート: このパラメータのすべての値はカンマ区切りにする必要があります。

statusDisableValue

無効化操作の間にターゲット・システムに送信する必要がある値を示すブール値を入力します。

ノート: このパラメータの値は、OIMがデフォルトで送信する無効化操作用の値とは異なる値の送信がターゲット・システムで求められる場合にのみ入力する必要があります。

サンプル値: trueまたはfalseまたは0または1

statusEnableValue

有効化操作の間にターゲット・システムに送信する必要がある値を示すブール値を入力します。

ノート: このパラメータの値は、OIMがデフォルトで送信する有効化操作用の値とは異なる値の送信がターゲット・システムで求められる場合にのみ入力する必要があります。

サンプル値: trueまたはfalseまたは0または1

specialAttributeHandling

ターゲット・システムに1回に1つずつ個別のコールで送信する必要がある特殊属性のリストを入力します。このパラメータの値を指定しない場合、コネクタは、指定した特殊属性のすべての値を1回のコールで送信します。

形式: OBJ_CLASS.ATTR_NAME.OP=SINGLE

ノート: このパラメータのすべての値はカンマ区切りにする必要があります。

サンプル値: "__ACCOUNT__.alias.CREATEOP=SINGLE","__GROUP__.alias.CREATEOP=SINGLE","__ACCOUNT__.alias.UPDATEOP=SINGLE","__GROUP__.alias.UPDATEOP=SINGLE","__ACCOUNT__.__GROUP__.CREATEOP=SINGLE","__ACCOUNT__.__GROUP__.UPDATEOP=SINGLE"

specialAttributeTargetFormat

ターゲット・システムでの特殊属性の形式を入力します。

形式: OBJ_CLASS.ATTR_NAME= TARGET_FORMAT

この例のTARGET_FORMATは、ターゲット・システムの特殊属性の形式です。

たとえば、次のターゲット・エンドポイントの値について考えてみます。

{
		"kind": "admin#directory#aliases",
		"etag": etag,
		"aliases": [
					"kind": "admin#directory#alias",
	 				"id": string,
					"etag": etag,
					"primaryEmail": string,
					"alias": string
					]
		}

この例では、別名属性は、ターゲット・システム・エンドポイントでaliases.aliasとして表されます。そのため、このパラメータの値は__ACCOUNT__.alias=aliases.aliasに設定する必要があります。

サンプル値: "__ACCOUNT__.alias=aliases.alias","__GROUP__.alias=aliases.alias","__ACCOUNT__.__GROUP__=groups"

httpHeaderContentType

このパラメータは、ターゲット・システムがヘッダーに求めるコンテンツ・タイプを保持します。コンテンツ・タイプはapplication/jsonにできます。

httpHeaderAccept

このパラメータは、ターゲット・システムがヘッダーに求める許容タイプを保持します。コンテンツ・タイプはapplication/jsonにできます。

sslEnabled

ターゲット・システムでSSL接続が必要な場合、このパラメータの値をtrueに設定します。

customHeaders

ターゲット・システムに送信する必要があるカスタム値または追加のヘッダー値を入力します。

形式: HEADER_NAME1=VALUE1, HEADER_NAME2=VALUE2, . . . HEADER_NAMEn=VALUEn

customAuthHeaders

認証中にのみターゲット・システムに送信する必要がある追加のヘッダー値を入力します。

customPayload

標準のJSON形式に従わないターゲット・システム属性のリクエスト・ペイロードの形式をカンマ区切りのリストで入力します。

形式: OBJ_CLASS.ATTRNAME.OP=PAYLOAD_FORMAT

ノート: カスタム・ペイロードの一部としてユーザーの一意のIDを渡す必要がある場合は、$(__UID__)$の形式にします。その他の属性値を渡す必要がある場合は、$(ATTRIBUTE_NAME)$として表します。

サンプル値: "__ACCOUNT__.__GROUP__.UPDATEOP={ \"user\": { \"id\": \"$(__UID__)$\"}, \"group\": { \"id\": \"$(id)$\" } }"

targetObjectIdentifier

リコンシリエーション中に必要なターゲット・オブジェクトを識別するために使用する属性の名前を入力します。

形式: OBJ_CLASS.ATTR_NAME=TARGET_OBJ_ATTR_NAME;VAL

passwordAttribute

OIMでコネクタの__PASSWORD__属性にマッピングされたターゲット・システム属性の名前を入力します。

uriPlaceHolder

relURIsのプレースホルダを置き換えるためのキーと値のペアをカンマ区切りリストで入力します。

形式: KEY;VALUE

customAuthConfigParams

カスタム認証クラスで使用できる構成パラメータを入力します。

形式: "PARAM_NAME1=VAL1,PARAM_NAME2=VAL2, . . . PARAM_NAMEn=VALn"

customParserConfigParams

カスタム・パーサー・クラスで使用できる構成パラメータを入力します。

形式: "PARAM_NAME1=VAL1,PARAM_NAME2=VAL2, . . . PARAM_NAMEn=VALn"

enableEmptyString

null値ではなく、空白の文字列をターゲット・システムに送信する必要があることを示すブール文字列を入力します。

4.2 インストール後のタスクの実行

コネクタのインストール後の作業には、Oracle Identity Managerの構成、すべてのコネクタ・イベントに関する情報を追跡するためのロギングの有効化、およびSSLの構成が含まれます。また、ユーザー・インタフェースのローカライズなどのオプションの構成も行います。

4.2.1 Oracle Identity Managerの構成

リコンシリエーションおよびプロビジョニング操作を実行するリソースに対し、UIフォームおよびアプリケーション・インスタンスを作成する必要があります。さらに、権限とカタログの同期ジョブを実行する必要があります。

ノート:

この項で説明されている手順は、ターゲット・リソース構成モードでコネクタを使用する場合にのみ実行してください。

これらの手順について、次の各項で説明します。

4.2.1.1 サンドボックスの作成およびアクティブ化

カスタマイズおよびフォーム管理機能の使用を開始するには、サンドボックスを作成してアクティブにする必要があります。 次に、サンドボックスを公開してそのカスタマイズを他のユーザーが使用できるようにします。

 Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのサンドボックスの作成に関する項 および サンドボックスのアクティブ化および非アクティブ化に関する項を参照してください。

4.2.1.2 UIフォームの新規作成

UIフォームの新規作成の手順は、『Oracle Fusion Middleware Oracle Identity Managerの管理』のフォーム・デザイナを使用したフォームの作成に関する項を参照してください。UIフォームを作成するときは、必ずそのフォームを関連付けるGeneric RESTコネクタに対応するリソース・オブジェクトを選択します。また、「権限フォームの生成」チェック・ボックスを選択します。

4.2.1.3 アプリケーション・インスタンスとフォームの関連付け

デフォルトでは、コネクタをインストールすると、アプリケーション・インスタンスが自動的に作成されます。このアプリケーション・インスタンスの名前は、GenericRestConfiguration.groovyファイルのapplicationInstanceNameエントリの値に指定された名前です。applicationInstanceNameエントリに値を指定しなかった場合、アプリケーション・インスタンス名はITResourceDefNameエントリの値と同じになります。このアプリケーション・インスタンスは、UIフォームの新規作成で作成したフォームと関連付ける必要があります。

フォームと関連付けるためのアプリケーション・インスタンスの変更の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のアプリケーション・インスタンスの管理を参照してください。

アプリケーション・インスタンスを更新したら、それを組織に公開して、アプリケーション・インスタンスのリクエストとそれに続くユーザーへのプロビジョニングを可能にする必要があります。ただし、ベスト・プラクティスとして、アプリケーション・インスタンスを公開する前に次の手順を実行します。

  1. アイデンティティ・システム管理で、サンドボックスを非アクティブ化します。
  2. アイデンティティ・システム管理をログアウトします。
  3. Oracleアイデンティティ・セルフ・サービスにログインし、ステップ1で非アクティブ化したサンドボックスをアクティブ化します。
  4. カタログで、アプリケーション・インスタンスのUI (フォーム・フィールド)をチェックし、正しく表示されていることを確認します。
  5. すべてが正しく表示されている場合にかぎり、アプリケーション・インスタンスを公開します。それ以外の場合、問題を修正してからアプリケーション・インスタンスを公開します。

    Oracle Fusion Middleware Oracle Identity Managerの管理のアプリケーション・インスタンスの組織への公開に関する項を参照してください。

4.2.1.4 サンドボックスの公開

サンドボックスを公開する前に、ベスト・プラクティスとして次の手順を実行し、このステージまでに行われたすべてのサンドボックスの変更を検証してください(サンドボックスが一度公開されると変更を元に戻すことは難しいため)。
  1. アイデンティティ・システム管理で、サンドボックスを非アクティブ化します。
  2. アイデンティティ・システム管理をログアウトします。
  3. xelsysadmユーザー資格証明を使用してアイデンティティ・セルフ・サービスにログインし、ステップ1で非アクティブ化したサンドボックスをアクティブ化します。
  4. カタログで、Generic RESTアプリケーション・インスタンス・フォームが正しいフィールドとともに表示されていることを確認します。
  5. サンドボックスを公開します。Oracle Fusion Middleware Oracle Identity Managerのアプリケーションの開発とカスタマイズのサンドボックスの公開に関する項 を参照してください。

4.2.1.5 権限および同期カタログの収集

権限の収集とカタログ同期化を行うには、次の手順を実行します。
  1. 参照フィールド同期のスケジュール済ジョブで説明されている、参照フィールド同期のスケジュール済ジョブを実行します。
  2. 権限リスト・スケジュール済ジョブを実行して、子プロセス・フォーム表から権限割当てスキーマを移入します。
  3. カタログ同期化ジョブ・スケジュール済ジョブを実行します。

    関連項目:

    『Oracle Fusion Middleware Oracle Identity Managerの管理』の事前定義済のスケジュール済タスクに関する項

4.2.2 Generic RESTコネクタのロギングの管理

Oracle Java Diagnostic Loggingに基づいてログ・レベルを設定し、Oracle WebLogic Serverへのログインを有効にできます。

次の各トピックでは、詳細を説明します。

4.2.2.1 ログ・レベルの理解

Oracle Identity Managerでは、ロギングにOracle Java Diagnostic Logging (OJDL)が使用されます。OJDLは、java.util.loggerに基づいています。ロギングを行うイベントのタイプを指定するには、ログを次のいずれかのレベルに設定します。

  • SEVERE.intValue()+100

    このレベルでは、致命的エラーに関する情報のロギングが有効化されます。

  • SEVERE

    このレベルでは、Oracle Identity Managerの実行を続行できる可能性があるエラーに関する情報のロギングが有効化されます。

  • WARNING

    このレベルでは、障害を引き起こす可能性のある状況に関する情報のロギングが有効化されます。

  • INFO

    このレベルでは、アプリケーションの進行状況を示すメッセージのロギングが有効化されます。

  • CONFIG

    このレベルでは、デバッグに役立つ詳細なイベントに関する情報のロギングが有効化されます。

  • FINE、FINER、FINEST

    これらのレベルでは詳細なイベントに関する情報のロギングが有効化され、FINESTではすべてのイベントに関する情報が記録されます。

表4-8に示すように、これらのログ・レベルはODLのメッセージ・タイプとレベルの組合せにマップされます。

表4-8 ログ・レベルおよびODLメッセージ・タイプ: レベルの組合せ

ログ・レベル ODLメッセージ・タイプ:レベル

SEVERE.intValue()+100

INCIDENT_ERROR:1

SEVERE

ERROR:1

WARNING

WARNING:1

INFO

NOTIFICATION:1

CONFIG

NOTIFICATION:16

FINE

TRACE:1

FINER

TRACE:16

FINEST

TRACE:32

OJDLの構成ファイルはlogging.xmlであり、次のパスにあります。

DOMAIN_HOME/config/fmwconfig/servers/OIM_SERVER/logging.xml

ここで、DOMAIN_HOMEOIM_SERVERは、Oracle Identity Managerのインストール時に指定されたドメイン名とサーバー名です。

4.2.2.2 ロギングの有効化

Oracle WebLogic Serverのロギングを有効化するには、次のようにします。

  1. 次のようにしてlogging.xmlファイルを編集します。

    1. ファイル内に次のブロックを追加します。

      <log_handler name='genericrest-handler' level='[LOG_LEVEL]' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
      <property name='logreader:' value='off'/>
           <property name='path' value='[FILE_NAME]'/>
           <property name='format' value='ODL-Text'/>
           <property name='useThreadName' value='true'/>
           <property name='locale' value='en'/>
           <property name='maxFileSize' value='5242880'/>
           <property name='maxLogSize' value='52428800'/>
           <property name='encoding' value='UTF-8'/>
         </log_handler>
      
      <logger name="ORG.IDENTITYCONNECTORS.GENERICREST" level="[LOG_LEVEL]" useParentHandlers="false">
           <handler name="genericrest-handler"/>
           <handler name="console-handler"/>
         </logger>
      
    2. [LOG_LEVEL]が出現したら両方を必要なODLのメッセージ・タイプとレベルの組合せに置き換えます。表4-8にサポートされるメッセージ・タイプおよびレベルの組合せを示します。

      同様に、[FILE_NAME]を、記録するコネクタ操作に特有のメッセージを記録するログ・ファイルの名前とフルパスに置き換えます。

      次のブロックは、[LOG_LEVEL]および[FILE_NAME] のサンプル値を示しています。

      <log_handler name='genericrest-handler' level='NOTIFICATION:1' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
      <property name='logreader:' value='off'/>
           <property name='path' value='/<%OIM_DOMAIN%>/servers/oim_server1/logs/genericrestLogs.log>"
           <property name='format' value='ODL-Text'/>
           <property name='useThreadName' value='true'/>
           <property name='locale' value='en'/>
           <property name='maxFileSize' value='5242880'/>
           <property name='maxLogSize' value='52428800'/>
           <property name='encoding' value='UTF-8'/>
         </log_handler>
       
      <logger name="ORG.IDENTITYCONNECTORS.GENERICREST" level="NOTIFICATION:1" useParentHandlers="false">
           <handler name="genericrest-handler"/>
           <handler name="console-handler"/>
         </logger>
      

    Oracle Identity Managerをこれらのサンプル値とともに使用すると、このコネクタに対して生成された、ログ・レベルがNOTIFICATION:1レベル以上のすべてのメッセージが、指定したファイルに記録されます。

  2. 保存してファイルを閉じます。

  3. サーバー・ログをファイルにリダイレクトするには、次の環境変数を設定します。

    Microsoft Windowsの場合:

    set WLS_REDIRECT_LOG=FILENAME
    

    UNIXの場合:

    export WLS_REDIRECT_LOG=FILENAME
    

    FILENAMEを、出力のリダイレクト先ファイルの場所と名前に置き換えます。

  4. アプリケーション・サーバーを再起動します。

4.2.3 SSLの構成

Oracle Identity Managerとターゲット・システムの間のデータ通信を保護するためにSSLを構成する必要があります。

SSLを構成するには:
  1. RESTベースのターゲット・システムのSSL公開キー証明書を取得します。
  2. RESTベースのターゲット・システムの公開キー証明書を、Oracle Identity Managerをホストしているコンピュータにコピーします。
  3. 次のkeytoolコマンドを実行して、ターゲット・システムの証明書をOracle WebLogic Serverのキーストアにインポートします。
    keytool -import -keystore KEYSTORE_NAME -storepass PASSWORD -file CERT_FILE_NAME -alias ALIAS
    コマンドの説明は次のとおりです:
    • KEYSTORE_NAMEは、DemoTrustキーストアのフルパスと名前です。

    • PASSWORDは、キーストアのパスワードです。

    • CERT_FILE_NAMEは、証明書ファイルのフルパスと名前です。

    • ALIASは、ターゲット・システムの証明書の別名です。

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

    keytool -import -keystore WEBLOGIC_HOME/server/lib/DemoTrust.jks -storepass DemoTrustKeyStorePassPhrase —file /home/target.cert —alias serverwl

    ノート:

    • keytoolコマンドに渡すパラメータ値は、個別の要件に応じて変更してください。keytoolの引数には改行が含まれないようにしてください

    • SSL通信中にエラーが発生しないよう、Oracle Identity Managerのシステム日付がSSL証明書の有効期間と同期されていることを確認してください。

4.2.4 UIフォームにおけるフィールド・ラベルのローカライズ

ターゲット・システム・フィールドのローカライズ・バージョンが含まれるファイルを作成して使用することで、UIフォーム・フィールド・ラベルをローカライズできます。

UIフォームで追加するフィールド・ラベルをローカライズするには:
  1. ターゲット・システムの列名(アイデンティティ・システム管理およびアイデンティティ・セルフ・サービスにGUI要素およびメッセージに対するテキスト文字列として表示される)に対するローカライズされたバージョンを含むプロパティ・ファイル(GR_ja.propertiesなど)を作成します。
  2. Oracle Enterprise Managerにログインします。
  3. 左側のペインで、「アプリケーションのデプロイ」を開き、oracle.iam.console.identity.sysadmin.earを選択します。
  4. 右側のペインで、「アプリケーションのデプロイ」リストから、「MDS構成」を選択します。
  5. 「MDS構成」ページで、「エクスポート」をクリックして、ローカル・コンピュータにアーカイブを保存します。
  6. アーカイブの内容を解凍して、テキスト・エディタで次のファイルを開きます。

    SAVED_LOCATION\xliffBundles\oracle\iam\ui\runtime\BizEditorBundle_en.x

  7. BizEditorBundle.xlfファイルを次の方法で編集します。
    1. 次のテキストを検索します。
      <file source-language="en"
      original="/xliffBundles/oracle/iam/ui/runtime/BizEditorBundle.xlf"
      datatype="x-oracle-adf">
    2. 次のテキストで置き換えます。
      <file source-language="en" target-language="LANG_CODE"
      original="/xliffBundles/oracle/iam/ui/runtime/BizEditorBundle.xlf"
      datatype="x-oracle-adf">

      このテキストで、LANG_CODEを、フォーム・フィールド・ラベルをローカライズする言語のコードに置き換えます。フォーム・フィールド・ラベルを日本語でローカライズする場合の値の例を次に示します。

      <file source-language="en" target-language="ja"
      original="/xliffBundles/oracle/iam/ui/runtime/BizEditorBundle.xlf"
      datatype="x-oracle-adf">
    3. アプリケーション・インスタンスのコードを検索します。この手順は、Generic Restアプリケーション・インスタンスの編集の例を示しています。元のコードは次のとおりです。
      <trans-unit id="${adfBundle['oracle.adf.businesseditor.model.util.BaseRuntimeResourceBundle']['persdef.sessiondef.oracle.iam.ui.runtime.form.model.user.entity.userEO.UD_GENERIC_NAME_GIVEN_NAME__c_description']}">
      <source>Name Givenname</source>
      <target/>
      </trans-unit>
      <trans-unit id="sessiondef.oracle.iam.ui.runtime.form.model.GRGAForm1.entity.GRGAForm1EO.UD_GENERIC_NAME_GIVEN_NAME__c_LABEL">
      <source>Name Givenname</source>
      <target/>
    4. ステップ1で作成したプロパティ・ファイルを開き、global.udf.UD_GENERIC_NAME_GIVEN_NAME = \u4567dなどの属性の値を取得します。
    5. ステップcに示されている元のコードを、次のものに置き換えます。
      <trans-unit id="${adfBundle['oracle.adf.businesseditor.model.util.BaseRuntimeResourceBundle']['persdef.sessiondef.oracle.iam.ui.runtime.form.model.user.entity.userEO.UD_GENERIC_NAME_GIVEN_NAME__c_description']}">
      <source>Name Givenname</source>
      <target>\u4567d</target>
      </trans-unit>
      <trans-unit id="sessiondef.oracle.iam.ui.runtime.form.model.GRGAForm1.entity.GRGAForm1EO.UD_GENERIC_NAME_GIVEN_NAME__c_LABEL">
      <source>Name Givenname</source>
      <target>\u4567d</target>
    6. プロセス・フォームのすべての属性に対し、ステップ7.aから7.dを繰り返します。
    7. ファイルをBizEditorBundle_LANG_CODE.xlfとして保存します。このファイル名で、LANG_CODEを、ローカライズする言語のコードに置き換えます。サンプル・ファイル名: BizEditorBundle_ja.xlf.
  8. ZIPファイルを再パッケージしてMDSにインポートします。

    ノート:

    メタデータ・ファイルのエクスポートおよびインポートの詳細は、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのカスタマイズのデプロイおよびアンデプロイを参照してください。
  9. Oracle Identity Managerからログアウトしてから、ログインします。

4.2.5 サーバー・キャッシュからのコネクタ・リソース・バンドル関連コンテンツの消去

コネクタをデプロイすると、リソース・バンドルがインストール・メディアのresourcesディレクトリからOracle Identity Managerデータベースにコピーされます。connectorResourcesディレクトリに新しいリソース・バンドルを追加したり、既存のリソース・バンドルに変更を加えた場合は、コネクタ・リソース・バンドルに関連するコンテンツをその都度サーバー・キャッシュから消去する必要があります。

サーバー・キャッシュからコネクタ・リソース・バンドル関連コンテンツを消去するには、Oracle Identity Managerを再起動するか、PurgeCacheユーティリティを実行します。次に、PurgeCacheユーティリティを実行してサーバー・キャッシュを消去する手順を示します。

  1. コマンド・ウィンドウでOIM_HOME/server/binディレクトリに切り替えます。
  2. 次のいずれかのコマンドを入力します。
    • Microsoft Windowsの場合: PurgeCache.bat All

    • UNIXの場合: PurgeCache.sh All

    プロンプトが表示されたら、SYSTEM ADMINISTRATORSグループに属するアカウントのユーザー名とパスワードを入力します。さらに、次の書式でサービスURLを入力するように求められます。

    t3://OIM_HOST_NAME:OIM_PORT_NUMBER

    この形式の詳細は次のとおりです:

    • OIM_HOST_NAMEは、Oracle Identity Managerホスト・コンピュータのホスト名またはIPアドレスで置き換えます。

    • OIM_PORT_NUMBERは、Oracle Identity Managerがリスニングを行うポートで置き換えます。

    コンテンツ・カテゴリのキャッシュをパージするには、PurgeCacheユーティリティを使用できます。