12 汎用テクノロジ・コネクタ用事前定義済プロバイダ
この章では、Oracle Identity Managerで使用可能なプロバイダについて説明します。これらのプロバイダには、共有ドライブ・リコンシリエーション・トランスポート・プロバイダ、CSVリコンシリエーション・フォーマット・プロバイダ、SPMLプロビジョニング・フォーマット・プロバイダ、Webサービス・プロビジョニング・トランスポート・プロバイダ、変換プロバイダおよび検証プロバイダが含まれます。
ノート:
使用するプロバイダ用のパラメータの値を決定する必要があります。この値は、Oracle Identity System Administrationを使用して汎用テクノロジ・コネクタを作成する間に使用します。
この章のトピックは、次のとおりです:
12.1 共有ドライブ・リコンシリエーション・トランスポート・プロバイダ
ステージング・ディレクトリとアーカイブ・ディレクトリを共有して、Oracle Identity Managerサーバーからアクセスできるようにする必要があります。
次の各項で共有ドライブ・リコンシリエーション・トランスポート・プロバイダについて説明します。
12.1.1 共有ドライブ・リコンシリエーション・トランスポート・プロバイダのパラメータ
共有ドライブ・リコンシリエーション・トランスポート・プロバイダは、ステージング・ディレクトリに格納されたフラット・ファイルからデータを読み取り、そのファイルをアーカイブ・ディレクトリに移動します。
この項では、共有ドライブ・リコンシリエーション・トランスポート・プロバイダのパラメータについて説明します。次の項目が含まれます。
12.1.1.1 ステージング・ディレクトリ(親アイデンティティ・データ)
このパラメータを使用して、親データを含むファイルを格納するディレクトリのパスを指定します。このパラメータ値の指定は必須です。これはランタイム・パラメータです。
このマニュアルでは、親データとは、ターゲット・システムに格納されているユーザー・アカウント情報を意味します。
このパラメータのサンプル値は次のとおりです。
T:/TargetSystemDirectory/ParentData
ノート:
Oracle Identity Managerがインストールされているサーバー上にステージング・ディレクトリがない場合、そのディレクトリを共有にして、Oracle Identity Managerサーバー上にネットワーク・ドライブとしてマップする必要があります。
親データファイルに格納されるデータは、次の規則に準拠する必要があります。
-
ファイルの1行目
親データファイルの1行目は、ファイルの内容を示すファイル・ヘッダーである必要があります。
ファイル・ヘッダーの前に、番号記号(#)で始まる任意の数の行を置くことができます。この記号はファイルの読取り時には無視されます。ただし、ヘッダーの先頭に空白がないようにしてください。英語以外の言語を使用している場合、この行に非ASCII文字は入力できません。
ノート:
1行目に非ASCII文字を入力しないようにするチェック機能はありません。また、汎用テクノロジ・コネクタ・フレームワークではそのような文字を解析できます。ただし、非ASCII文字を使用すると、作成した汎用テクノロジ・コネクタのコネクタ・オブジェクトが自動的に作成される時点で問題が発生します。
-
ファイルの2行目
親データファイルの2行目には、ファイル内のデータのフィールド名(メタデータ)を入力する必要があります。
ノート:
汎用テクノロジ・コネクタのコンテキストでは、メタデータという用語はユーザー・アカウント情報を構成する一連のアイデンティティ・フィールドを意味します。
英語以外の言語を使用している場合、この行に非ASCII文字は入力できません。この制限事項の詳細は、1行目に関する「ノート」を参照してください。
-
ファイルの3行目以降
親データファイルの3行目以降には、Oracle Identity Managerに対して選択した言語でデータを入力できます。この言語としては、ASCII文字セットと非ASCII文字セットの両方を使用できます。
3行目以降にデータがなくても、リコンシリエーションが実行され、ファイルがアーカイブされます。
次に、サンプル親データファイルの内容を示します。
##Active Directory user Name TD,Address TD,User ID TD John Doe,Park Street,jodoe Jane Doe,Mark Street,jadoe
関連項目:
ステージング・ディレクトリとアーカイブ・ディレクトリに設定する権限の詳細は、ステージング・ディレクトリとアーカイブ・ディレクトリに設定する権限を参照してください
12.1.1.2 ステージング・ディレクトリ(複数値アイデンティティ・データ)
このパラメータを使用して、複数値(または子)アカウントまたはアイデンティティ・データ(ロール・メンバーシップのデータなど)を含むファイルを格納するディレクトリのパスを指定します。このパラメータ値の指定は必須ではありません。これはランタイム・パラメータです。
ノート:
このマニュアルでは、複数値アカウントまたはアイデンティティ・データと子データという用語は、同義的に使用されています。
このパラメータのサンプル値は次のとおりです。
T:/TargetSystemDirectory/ChildData
ノート:
-
親データファイルのステージング・ディレクトリを複数値ユーザー・データファイルのステージング・ディレクトリと同じにすることはできません。また、Oracle Identity Managerがインストールされているのと同じサーバー上にステージング・ディレクトリがない場合、そのディレクトリを共有にして、Oracle Identity Managerサーバー上にネットワーク・ドライブとしてマップする必要があります。
-
「ステップ1: 基本情報の指定」ページで「信頼できるソース・リコンシリエーション」オプションを選択した場合、「ステージング・ディレクトリ(複数値アイデンティティ・データ)」パラメータの値は指定できません。これは、信頼できるソース・リコンシリエーションでは、複数値(子)データのリコンシリエーションがサポートされていないためです。
それぞれの型の複数値アカウントまたはアイデンティティ・データに対し、共有ディレクトリに個別のファイルが必要です。たとえば、特定のターゲット・システムの複数値ユーザー・データがグループ・メンバーシップ・データとロール・データである場合、グループ・メンバーシップ・データのファイルとロール・データのファイルが別々に必要です。
子データファイルに格納されているデータは、親データファイルに指定されている規則(1行目、2行目、3行目以降)に準拠する必要があります。
また、同じ一意のフィールドが親データファイルとそれぞれの子データファイルに存在する必要があります。このフィールドは、子データファイルの各レコードを親データファイルのシングル・レコードに一意にリンクするために使用されます。この構造は、RDBMSの整合性制約(主キーと外部キー)の概念に類似しています。
ノート:
一意のフィールドは、子データファイルの最初のフィールドである必要があります。
次に示すサンプルの子データファイルには、前述のサンプル親データファイルにリンクされるロール情報が含まれています。
###Role User ID TD,Role Name TD,Role Type TD jodoe,admin1,admin jadoe,admin2,admin
次に示すサンプルの子データファイルには、前述のサンプル親データファイルにリンクされるグループ・メンバーシップ情報が含まれています。
###Group Membership User ID TD,Group Name TD,Group Type TD jodoe,OracleDev1,OracleDev jadoe,OracleDev2,OracleDev jadoe,OracleDev3,OracleDev jadoe,OracleDev4,OracleDev jadoe,OracleDev5,ConnectorDev
一意のフィールドの名前User ID TD
は、子データファイルと親データファイルで同じであることに注意してください。
Oracle Identity Governanceの管理の「ステップ3: コネクタ構成の変更」ページに記載されている「ステップ3: コネクタ構成の変更」ページでは、子データセットの名前は子データファイルで指定したヘッダーと同じです。前述のサンプルの子データファイルの場合、子データセットのラベルはRole
とGroup Membership
になります。また、「ステップ4: コネクタ・フォーム名の検証」ページでは、子データセットに対応するフォームに表示されるデフォルト名はRole
とGroup Membership
になります。Oracle Identity Governanceの管理のコネクタ・フォーム名の検証に記載されているように、デフォルトのフォーム名を受け入れることも、変更することもできます。
関連項目:
ステージング・ディレクトリとアーカイブ・ディレクトリに設定する権限の詳細は、ステージング・ディレクトリとアーカイブ・ディレクトリに設定する権限を参照してください
12.1.1.3 アーカイブ・ディレクトリ
このパラメータを使用して、すでにリコンサイルした親および子データファイルを格納するディレクトリのパスを指定します。これはランタイム・パラメータです。
このパラメータ値の指定は必須です。
リコンシリエーション実行終了時に、データファイルはアーカイブ・ディレクトリにコピーされ、ステージング・ディレクトリから削除されます。
アーカイブ・ディレクトリに移動したファイルにタイムスタンプまたはマークは付きません。このため、アーカイブ・ディレクトリのパスを指定するときは、次のガイドラインに注意してください。
-
指定するアーカイブ・ディレクトリ・パスは、ステージング・ディレクトリ・パスと同じものにしないでください。同じパスを指定すると、アーカイブ・ディレクトリ内の既存のファイルがリコンシリエーションの実行終了時に削除されます。
-
前回のリコンシリエーション実行で使用されたファイルと同じ名前のデータファイルがステージング・ディレクトリに配置されていると、アーカイブ・ディレクトリ内の既存のファイルが、現在のリコンシリエーションの実行終了時に、ステージング・ディレクトリからの新しいファイルで上書きされます。
これらの点については、Oracle Identity Governanceの管理のプロバイダのパラメータ値の指定にも記載されています。
関連項目:
ステージング・ディレクトリとアーカイブ・ディレクトリに設定する権限の詳細は、ステージング・ディレクトリとアーカイブ・ディレクトリに設定する権限を参照してください
12.1.1.4 ファイルの接頭辞
このパラメータを使用して、親データファイルと子データファイルの両方について、ステージング・ディレクトリ内のファイルの名前をフィルタするために使用する接頭辞を指定します。リコンシリエーション中は、ファイル拡張子に関係なく、指定した接頭辞で始まる名前を持つ(ステージング・ディレクトリ内の)すべてのファイルが処理されます。これはランタイム・パラメータです。
たとえば:
「ファイルの接頭辞」パラメータの値としてusrdata
を指定すると、複数値(子)ユーザー・データファイルに関して、ステージング・ディレクトリに配置された次のファイルのデータが解析されます。
usrdataRoleData.csv usrdataGroupMembershipData.txt
同じディレクトリにある次のファイルからはデータは抽出されません。これは、ファイル名がusrdata
で始まらないためです。
RoleData.csv GroupMembershipData.txt
12.1.1.5 指定されたデリミタ
このパラメータを使用して、親および子データファイルでデリミタ文字として使用する文字を指定します。このパラメータの値として指定できるのは1文字のみです。これはランタイム・パラメータです。このパラメータは「タブ区切り」パラメータよりも優先されます。
ノート:
空白( )はデリミタとして使用できません。
また、指定する文字が、そのデータファイルでデリミタとしてのみ使用されることを確認する必要があります。この文字がデータ自体にも含まれる場合、データ行(レコード)は正しく解析されません。たとえば、カンマ(,)がデータ値に含まれる場合は、デリミタとしてカンマを使用できません。
12.1.1.6 タブ区切り
このパラメータを使用して、ファイルがタブ区切りかどうかを指定します。これはランタイム・パラメータです。「指定されたデリミタ」パラメータの値を指定すると、このパラメータは無視されます。
12.1.1.7 固定列幅
入力ファイルに固定幅データが含まれる場合は、このパラメータを使用してデータ列の文字の幅を指定します。これはランタイム・パラメータです。
ノート:
ここでは、固定幅という用語は、データ・フィールドのバイト長ではなく文字数を意味します。たとえば、幅という意味ではシングルバイト・データ4文字とマルチバイト・データ4文字は同じになります。
「指定されたデリミタ」または「タブ区切り」パラメータの値を指定すると、このパラメータは無視されます。
12.1.1.8 一意の属性(親データ)
複数値ユーザー・データの場合は、このパラメータを使用して、親と子の両方のデータファイルに共通するフィールドを指定します。前述の例では、一意の属性に対する要件は、親と子の両方のデータファイルに存在するUser ID TD
フィールドで満たされます。これはランタイム・パラメータです。
ノート:
「ステップ1: 基本情報の指定」ページで「信頼できるソース・リコンシリエーション」オプションを選択した場合、「一意の属性(親データ)」パラメータの値は指定できません。これは、信頼できるソース・リコンシリエーションでは、複数値(子)データのリコンシリエーションがサポートされていないためです。
12.1.2 ステージング・ディレクトリとアーカイブ・ディレクトリに設定する権限
ステージング・ディレクトリとアーカイブ・ディレクトリに必要な権限が設定されていることを確認してください。
表12-1では、ステージングおよびアーカイブのデータファイルの保持に使用される共有ディレクトリに対する様々な権限の影響について説明します。
表12-1 ディレクトリの権限の影響
記憶域エンティティ | アクセス権 | アクセス権が必要な理由 |
---|---|---|
親データファイルのステージング・ディレクトリ |
読取り |
この権限は、リコンシリエーションの実行に必要です。この権限が適用されない場合、エラー・メッセージがログに記録されます。 |
親データファイルのステージング・ディレクトリ |
書込み |
この権限は、アーカイブ・プロセスの最後にデータファイルを親ステージング・ディレクトリから削除するために必要です。 |
親データファイルのステージング・ディレクトリ |
実行 |
該当なし |
子データファイルのステージング・ディレクトリ |
読取り |
この権限は、子データのリコンシリエーションに必要です。この権限が適用されない場合、エラー・メッセージがログに記録されます。 |
子データファイルのステージング・ディレクトリ |
書込み |
この権限は、アーカイブ・プロセスの最後にデータファイルを子ステージング・ディレクトリから削除するために必要です。 |
子データファイルのステージング・ディレクトリ |
実行 |
該当なし |
アーカイブ・ディレクトリ |
書込み |
この権限は、アーカイブ・プロセス中に親および子データファイルをアーカイブ・ディレクトリにコピーするために必要です。この権限が適用されなくても、次の処理が行われます。
|
アーカイブ・ディレクトリ |
実行 |
該当なし |
ステージング・ディレクトリ内の親または子データファイル |
読取り |
この権限は、ファイル内のデータのリコンシリエーションに必要です。この権限が適用されない場合、エラー・メッセージがログに記録されます。 |
ステージング・ディレクトリ内の親または子データファイル |
書込み |
この権限は、アーカイブ・プロセスの最後にデータファイルを削除するために必要です。この権限が適用されない場合、エラー・メッセージがログに記録されます。ただし、このファイル内のデータはリコンサイルされます。 |
ステージング・ディレクトリ内の親または子データファイル |
実行 |
該当なし |
ノート:
ステージング・ディレクトリ内のデータファイルは、いずれかのエディタで開かれているか他のプログラムによる書込みのために開かれていると、削除できません。
12.2 CSVリコンシリエーション・フォーマット・プロバイダ
CSVリコンシリエーション・フォーマット・プロバイダは、文字区切り、タブ区切りまたは固定長形式のリコンシリエーション・データをOracle Identity Managerでサポートされている形式に変換します。
CSVリコンシリエーション・フォーマット・プロバイダはスタンドアロン・プロバイダとしてパッケージ化されていますが、そのパラメータはすべて共有ドライブ・トランスポート・プロバイダにバンドルされています。「ステップ1: 基本情報の指定」ページで共有ドライブ・トランスポート・プロバイダを選択した場合は、CSVフォーマット・プロバイダを選択する必要があります。このプロバイダを選択すると、そのパラメータが共有ドライブ・トランスポート・プロバイダのパラメータとともに表示されます。
12.3 SPMLプロビジョニング・フォーマット・プロバイダ
プロビジョニング・データをSPMLリクエストに変換するには、SPMLプロビジョニング・フォーマット・プロバイダとそのパラメータを使用します。
この項では、SPMLプロビジョニング・フォーマット・プロバイダについて説明します。次の項目が含まれます。
12.3.1 SPMLプロビジョニング・フォーマット・プロバイダについて
SPMLプロビジョニング・フォーマット・プロバイダは、Oracle Identity Manager上でのプロビジョニング操作中に生成されたプロビジョニング・データをSPML対応のターゲット・システムで処理できるSPMLリクエストに変換します。
図12-1に、SPMLプロビジョニング・フォーマット・プロバイダがリクエスト局(RA)として機能し、ターゲット・システムがプロビジョニング・サービス・プロバイダ(PSP)およびプロビジョニング・サービス・ターゲット(PST)を提供するシステムの設定を示します。
実際のプロビジョニング中は、SOAP-SPMLリクエストの作成にVelocityテンプレート・エンジンが使用されます。次のプロセスでは、プロバイダがSPML 2.0 DSMLプロファイルに基づいてSOAPリクエストを生成します。
-
リクエストの追加
-
次のOracle Identity Managerプロセス・タスクに対するリクエストの変更:
-
フィールドの更新
-
子データの追加
-
子データの変更
-
子データの削除
-
-
リクエストの一時停止(Oracle Identity Managerプロセス・タスクの無効化)
-
リクエストの再開(Oracle Identity Managerプロセス・タスクの有効化)
-
リクエストの削除
「組織の作成」、「組織の更新」および「組織の削除」はサポートされていません。これは、汎用テクノロジ・コネクタ用に作成されたリソース・オブジェクトでは組織用のプロビジョニング操作がサポートされていないためです。「グループの作成」、「グループの更新」および「グループの削除」操作はサポートされていません。これは、グループのプロビジョニング操作がOracle Identity Managerでサポートされていないためです。
このプロバイダを選択すると、Oracle Identity Governanceの管理のコネクタ構成の変更に記載されている「ステップ3: コネクタ構成の変更」ページに、次のアイデンティティ・フィールドがID
フィールドとともにデフォルトで表示されます。
-
objectClass
-
containerID
各プロビジョニング・タスク(「ユーザーの作成」や「ユーザーの変更」など)について、このプロバイダによってリクエストが事前定義済の形式で生成されます。
12.3.2 SPMLプロビジョニング・フォーマット・プロバイダのパラメータ
SPMLプロビジョニング・フォーマット・プロバイダのパラメータには、ランタイム・パラメータとデザインタイム・パラメータがあります。使用するアプリケーション・サーバーによっては、一部のランタイム・パラメータと設計パラメータは必須になり、一部のパラメータは固定値になります。
この項では、SPMLプロビジョニング・フォーマット・プロバイダのパラメータについて説明します。次の項目が含まれます。
12.3.2.1 ランタイム・パラメータ
SPMLプロビジョニング・フォーマット・プロバイダのランタイム・パラメータを次に示します。
-
ターゲットID
この値により、プロビジョニング操作のターゲット・システムを一意に識別します。
-
ユーザー名(認証)
これは、Webサービス・インタフェース(PSP)を介してターゲット・システム(PST)に接続するために必要なアカウントのユーザー名です。
-
ユーザー・パスワード(認証)
これは、Webサービス・インタフェース(PSP)を介してターゲット・システム(PST)に接続するために必要なユーザー・アカウントのパスワードです。
12.3.2.2 設計パラメータ
SPMLプロビジョニング・フォーマット・プロバイダの設計パラメータを次に示します。
-
WebサービスのSOAPアクション
WSDLファイルでは、これは
operation
要素のsoapAction
属性の値になります。 -
SPML WebサービスのWSSEが構成されていますか。
WS-Security資格証明を使用して着信リクエストを認証するようにWebサービスが構成されている場合は、このチェック・ボックスを選択します。
-
カスタム認証資格証明ネームスペース
ノート:
「SPML WebサービスWSSEが構成されていますか。」チェック・ボックスを選択した場合は、このパラメータの値を指定する必要はありません。
これは、Webサービス用に定義した資格証明ネームスペースの名前です。多くの場合、このネームスペースはターゲット・ネームスペースと同じになります。
-
カスタム認証ヘッダー要素
ノート:
「SPML WebサービスWSSEが構成されていますか。」チェック・ボックスを選択した場合は、このパラメータの値を指定する必要はありません。
これは、ターゲット・システムへの接続に使用されるユーザー・アカウントの資格証明が格納される要素の名前です。つまり、SOAPメッセージ・ヘッダーのカスタム認証セクション内の親要素です。
-
ユーザー名を格納するカスタム要素
ノート:
「SPML WebサービスWSSEが構成されていますか。」チェック・ボックスを選択した場合は、このパラメータの値を指定する必要はありません。
これは、「ユーザー名(認証)」パラメータの値として指定するユーザー名が格納されるカスタム認証セクション内の要素の名前です。
-
パスワードを格納するカスタム要素
ノート:
「SPML WebサービスWSSEが構成されていますか。」チェック・ボックスを選択した場合は、このパラメータの値を指定する必要はありません。
これは、「ユーザー・パスワード(認証)」パラメータの値として指定するユーザー名が格納されるカスタム認証セクション内の要素の名前です。
-
SPML Webサービスのバインディング・スタイル(DOCUMENTまたはRPC)
WSDLファイルでは、これは
binding
要素のstyle
属性の値になります。DOCUMENT
またはRPC
を入力する必要があります。ノート:
値
DOCUMENT
またはRPC
を入力する必要があります。指定する値に小文字は使用しないでください。 -
SPML Webサービスの複合データ型
WSDLファイルでは、これは
complexType
要素のname
属性の値になります。このパラメータは、バインディング・スタイルがDOCUMENT
の場合にのみ適用されます。ターゲットWebサービスがOracle WebLogic Server上で実行されている場合は、このパラメータの値を指定する必要があります。 -
SPML Webサービス操作名
WSDLファイルでは、これは
operation
要素のname
属性の値になります。このパラメータは、バインディング・スタイルがRPC
の場合にのみ適用されます。 -
SPML Webサービスのターゲット・ネームスペース
WSDLファイルでは、これは
definition
要素のtargetNamespace
属性の値になります。 -
SPML WebサービスのSOAPメッセージ本文の接頭辞
これは、SOAPメッセージ本文を含んでいるカスタム接頭辞要素の名前です。ターゲットのWebサービスがOracle WebLogic Serverで実行されている場合は、このパラメータの値を指定する必要がありません。ただし、別のアプリケーション・サーバーを使用している場合は、カスタム接頭辞要素の名前を入力する必要があります。次に、WebサービスがOracle WebLogic Server上で実行されている場合の接頭辞要素を示します。
<SPMLv2Document xmlns="http://xmlns.oracle.com/OIM/provisioning">
-
グループ・メンバーシップ情報を保持している子データセットのID属性
これは、グループ・メンバーシップ情報を保持しているプロビジョニング・ステージング子データセットの一意のアイデンティティ・フィールドの名前です。このフィールドを含む子データセットに対するプロビジョニング操作では、SOAPパケットにグループ操作のSPMLコードが含まれます。次に、この型のグループ操作のSPMLコード・ブロックを示します。
<modification modificationMode="add"> <capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference" mustUnderstand="true"> <reference typeOfReference="memberOf" xmlns="urn:oasis:names:tc:SPML:2:0:reference"> <toPsoID ID="Groups:1" targeted="120"/> </reference> </capabilityData> </modification>
このフィールドを含まない子データセットに対するプロビジョニング操作では、SOAPパケットに通常のSPMLコードが含まれます。次に、この型のグループ操作のSPMLコード・ブロックを示します。
<modification> <dsml:modification name="Group Membership" operation="add"> <dsml:value>AdminOra, System Admins, USA</dsml:value> </dsml:modification> </modification>
12.3.2.3 必須でないパラメータ
Oracle WebLogic Serverでは、次のパラメータ値を指定する必要はありません。
-
SPML Webサービスの複合データ型
-
SPML WebサービスのSOAPメッセージ本文の接頭辞
-
グループ・メンバーシップ情報を保持している子データセットのID属性
12.4 Webサービス・プロビジョニング・トランスポート・プロバイダ
プロビジョニング・リクエストをターゲット・システムに送信するには、Webサービス・プロビジョニング・トランスポート・プロバイダと「WebサービスURL」パラメータを使用します。
この項では、Webサービス・パラメータに加えて、Oracle Identity Managerとターゲット・システムWebサービスの間のSSL通信を構成する方法について説明します。次の項目が含まれます。
12.4.1 Webサービス・プロビジョニング・トランスポート・プロバイダについて
Webサービス・プロビジョニング・トランスポート・プロバイダは、Webサービス・クライアントとして機能し、プロビジョニング・リクエスト・データをOracle Identity Managerからターゲット・システムWebサービスに転送します。
次のタイプのターゲット・システムWebサービスがサポートされています。
-
RPCリテラル
-
RPCエンコード
-
DOCUMENTリテラル
12.4.2 「WebサービスURL」パラメータ
「WebサービスURL」パラメータを使用して、ターゲット・システムへのプロビジョニング・リクエストの送信に使用するWebサービスのURLを指定します。
これはランタイム・パラメータです。WSDLファイルでは、WebサービスURLはwsdlsoap:address
要素のlocation
属性の値になります。
作成する汎用テクノロジ・コネクタにWebサービス・プロビジョニング・トランスポート・プロバイダを含める場合は、ターゲット・システムとOracle Identity Managerの間にSecure Sockets Layer (SSL)通信を構成する場合があります。次の項では、この手順の詳細を説明します。
12.4.3 Oracle Identity Managerとターゲット・システムWebサービスの間のSSL通信の構成
作成する汎用テクノロジ・コネクタにWebサービス・プロビジョニング・トランスポート・プロバイダを含める際、ターゲットWebサービスがSSL対応のアプリケーション・サーバーで実行されている場合、Oracle Identity Managerがデプロイされているアプリケーション・サーバーでSSL通信を構成できます。
Oracle Identity Managerとターゲット・システムWebサービスの間のSSL通信を構成するには:
ノート:
この手順は、汎用テクノロジ・コネクタを作成する前に実行できます。
-
次のようにしてターゲット・アプリケーション・サーバーの証明書をエクスポートします。
-
JBoss Application ServerまたはOracle WebLogic Server上にデプロイされているターゲット・システムWebサービスの場合は、次のコマンドを実行します。
JAVA_HOME/jre/bin/keytool -export -alias default -file exported-certificate-file -keystore app-server-specific-keystore -storetype jks –storepass keystore-password –provider sun.security.provider.Sun
コマンドの説明は次のとおりです。
-
JAVA_HOME
を、SUN JDKディレクトリのフルパスに置換します。 -
exported-certificate-file
を、エクスポートした証明書を格納するファイルの名前に置換します。 -
app-server-specific-keystore
を、アプリケーション・サーバーのキーストアのパスに置換します。 -
keystore-password
を、キーストアのパスワードに置換します。
-
-
AIX上のOracle WebLogic Serverにデプロイされているターゲット・システムWebサービスの場合は、次のコマンドを実行します。
JAVA_HOME/jre/bin/keytool -export -alias default -file exported-certificate-file -keystore app-server-specific-keystore -storetype jks –storepass keystore-password -provider com.ibm.crypto.provider.IBMJCE
コマンドの説明は次のとおりです。
-
JAVA_HOME
を、IBM JDKディレクトリのフルパスに置換します。 -
exported-certificate-file
を、エクスポートした証明書を格納するファイルの名前に置換します。 -
app-server-specific-keystore
を、アプリケーション・サーバーのキーストアのパスに置換します。 -
keystore-password
を、キーストアのパスワードに置換します。
コマンドを実行すると、エクスポートした証明書ファイルが、
exported-certificate-file
の値として指定したファイルに格納されます。 -
-
-
次のようにして、前のステップでエクスポートした証明書ファイルをOracle Identity Managerのトラストストアにインポートします。
-
前のステップでエクスポートした証明書ファイルを、Oracle Identity Managerサーバーの一時ディレクトリにコピーします。
-
次のコマンドを実行します。
JAVA_HOME/jre/bin/keytool -import -trustcacerts -alias servercert -noprompt -keystore OIM_HOME\config\.xlkeystore -file certificate_file
コマンドの説明は次のとおりです。
-
JAVA_HOME
を、JDKディレクトリのフルパスに置換します。Oracle WebLogic ServerにデプロイされているOracle Identity Managerの場合は、パスをSUN JDKディレクトリのパスにする必要があります。 -
OIM_HOME
を、Oracle Identity Managerホーム・ディレクトリのフルパスに置換します -
certificate_file
を、証明書ファイルをコピーした一時ディレクトリのパスに置換します。
-
ノート:
アプリケーション・サーバーで一方向SSL通信が有効化されている場合は、残りの手順を実行する必要はありません。
-
-
次のようにして、Oracle Identity Managerの証明書をターゲット・システム・アプリケーション・サーバーのトラストストアにインポートします。
ノート:
次のステップは、アプリケーション・サーバーで双方向SSL通信が有効化されている場合にのみ実行します。
-
Oracle Identity Managerの証明書ファイルをエクスポートします。
Oracle WebLogic ServerにデプロイされているOracle Identity Managerの場合は、次のコマンドを実行します。
JAVA_HOME/jre/bin/keytool -export -alias xell -file OIM_HOME\config\xell.cert -keystore OIM_HOME\config\.xlkeystore -storetype jks –provider sun.security.provider.Sun
コマンドの説明は次のとおりです。
-
JAVA_HOME
を、SUN JDKディレクトリのフルパスに置換します。-
OIM_HOME
を、Oracle Identity Managerホーム・ディレクトリのフルパスに置換します。 -
次のようにして、ステップ3aでエクスポートした証明書ファイルをアプリケーション・サーバーのトラストストアにインポートします。
エクスポートしたOracle Identity Managerの証明書ファイルを、ターゲット・アプリケーション・サーバー上の一時ディレクトリにコピーします。
次に、Oracle WebLogic Serverであるターゲット・アプリケーション・サーバーで次のコマンドを実行します。
JAVA_HOME/jre/bin/keytool –import –alias alias -trustcacerts -file OIM-certificate-file -keystore app-server-specific-truststore -storetype jks –storepass truststore-password –provider sun.security.provider.Sun
コマンドの説明は次のとおりです。
*
JAVA_HOME
を、SUN JDKディレクトリのフルパスに置換します。*
alias
を、ターゲット・アプリケーション・サーバーのトラストストアにある証明書の別名に置換します。*
OIM-certificate-file
を、エクスポートしたOracle Identity Manager証明書ファイルの名前に置換します。*
app-server-specific-truststore
を、ターゲット・アプリケーション・サーバーのトラストストアのパスに置換します。*
truststore-password
を、ターゲット・アプリケーション・サーバーのトラストストアのパスワードに置換します。関連項目:
ターゲット・アプリケーション・サーバーについては、SSL構成のドキュメントを参照してください。
-
12.5 変換プロバイダ
変換プロバイダは、ソース・データセットと宛先データセットの間で移動中のユーザー・データを変換するために使用します。
この項では、変換プロバイダと変換プロバイダのタイプについて説明します。次の項目が含まれます。
ノート:
Oracle Identity Governanceの管理のコネクタ構成の変更に記載されている手順を実行する際に、この項で説明する情報を使用してください。
12.5.1 変換プロバイダについて
変換プロバイダは、リコンシリエーション・イベントまたはプロビジョニング・リクエストの作成に使用する前にデータを変換する場合にソース・データセットと宛先データセットの間で移動中のユーザー・データを変換するために使用します。
変換プロバイダは、次の表に示すソース・データセットと宛先データセットの間で移動中のユーザー・データを変換するために使用されます。
ソース・データセット | 宛先データセット | 変換の目的 |
---|---|---|
ソース |
リコンシリエーション・ステージング |
リコンシリエーション・イベントの作成に使用する前にデータを変換します。 |
Oracle Identity Manager |
プロビジョニング・ステージング |
ターゲット・システムに送信されるプロビジョニング・リクエストの作成に使用する前にデータを変換します。 |
Oracle Identity Managerでは、次の事前定義済変換プロバイダが使用できます。
-
連結変換プロバイダ
-
翻訳変換プロバイダ
12.5.2 連結変換プロバイダ
連結変換プロバイダは、データセットの2つのフィールドの値を連結して、別のデータセットの単一フィールドへの入力を作成するために使用します。
次の例では、このプロバイダの出力形式について説明します。
入力値がソース・データセットの次のフィールドであるとします。
-
名:
John
-
姓:
Doe
連結変換プロバイダをこの2つのフィールドに適用すると、出力値は次のようになります。
John Doe
ノート:
前述の例に示すように、連結変換プロバイダでは2つの入力フィールドの値の間に空白が追加されます。
12.5.3 連結変換プロバイダの追加
連結変換プロバイダの追加は、汎用テクノロジ・コネクタの作成時に「マッピング」ページで行います。
次の手順では、汎用テクノロジ・コネクタの作成中に連結変換プロバイダを追加する方法について説明します。
ノート:
この手順では、Oracle Identity Governanceの管理のデータセットのフィールドの追加または編集のステップ5に記載されている手順を詳しく説明します。ここでは、「ステップ1: フィールド情報」ページの「アクションのマッピング」リストから「連結」オプションを選択し、その項のステップ2と3をすでに実行したことを前提にしています。
ポップアップ・ウィンドウの「ステップ2: マッピング」ページで、次のステップを実行します。
12.5.4 翻訳変換プロバイダ
変換操作では、特定の(リテラル)値を入力として受け入れ、それを別の値に変換します。
次に変換操作の例を示します。
「ソース」データセットに「国」フィールドが含まれており、このフィールドに格納されているデータ値が次のいずれかの値を取ることができるとします。
-
オーストリア
-
フランス
-
ドイツ
-
インド
-
日本
これらの値をリコンシリエーション・ステージング・データセットに伝播する場合、それぞれの値を次のように変換するとします。
-
AT
-
FR
-
DE
-
IN
-
JP
この変換を自動化するには、翻訳変換プロバイダを使用できます。
12.5.5 翻訳変換プロバイダの使用
翻訳変換プロバイダの使用には、入力およびデコード値を格納する参照定義の作成、および翻訳の入力フィールドと出力フィールドの間の翻訳マッピングの定義が含まれます。
翻訳変換プロバイダを使用するには:
-
Design Consoleを使用して、入力およびデコード値を格納する参照定義を作成します。
ノート:
参照定義を「参照定義」フォームで作成する場合は、フィールド・タイプ・オプションではなく参照タイプ・オプションを選択する必要があります。
前述の「国」フィールドの例では、コード・キーおよびデコードは次の表に示す値になります。
コード・キー デコード オーストリア
AT
フランス
FR
ドイツ
DE
インド
IN
日本
JP
-
変換対象の入力フィールドと出力フィールドの間の変換マッピングを定義します。前述のとおり、変換は次のデータセットのペア間で設定できます。
-
「ソース」と「リコンシリエーション・ステージング」
-
「Oracle Identity Manager」とプロビジョニング・ステージング
ノート:
この手順では、Oracle Identity Governanceの管理のデータセットのフィールドの追加または編集のステップ5に記載されている手順を詳しく説明します。ここでは、「ステップ1: フィールド情報」ページの「アクションのマッピング」リストから「連結」オプションを選択し、その項のステップ2と3をすでに実行したことを前提にしています。
-
「ステップ3: マッピング」ページで、「入力」リージョンの「データセット」リストから、変換操作を行う入力値を提供するフィールドのあるデータセットを選択します。次に、「フィールド名」リストからフィールド自体を選択します。
前述の「国」フィールドの例では、「国」フィールドがあるデータセットを選択してから、「国」フィールドを選択します。
-
「参照コード名」リージョンで、「リテラル」を選択し、前のステップで作成した参照定義の名前を入力します。
ノート:
「参照コード名」リージョンではデータセット名およびフィールドを指定しないでください。データセット名およびフィールドの選択を無効にする検証は行われませんが、実際のリコンシリエーションまたはプロビジョニングの操作時に変換操作に失敗します。
これについては、「マッピング」にも記載されています。
前述の「国」フィールドの例では、「リテラル」を選択し、ステップ1で作成した参照定義を選択します。
-
12.5.6 アカウント・ステータスのリコンシリエーションの構成
ユーザー・アカウント・ステータス情報は、ターゲット・システム・アカウントの所有者によるアカウントへのアクセスおよびアカウントの使用が許可されるかどうかの追跡に使用されます。必要に応じて、翻訳変換プロバイダを使用してアカウント・ステータス情報をリコンサイルできます。
ノート:
Design Consoleでは、アカウント・ステータスのリコンシリエーションを構成する別の方法が提供されます。この方法では、汎用テクノロジ・コネクタは使用しません。この方法は、ユーザー・アカウント・ステータスのリコンシリエーションで説明しています。
この項の内容は次のとおりです。
12.5.6.1 翻訳変換プロバイダを使用したアカウント・ステータスのリコンシリエーションについて
翻訳変換プロバイダを使用する必要があるのは、ターゲット・システムで使用されるアカウント・ステータスの値が、Oracle Identity Managerで使用される値と同じでない場合のみです。ターゲット・リソースに対して、Oracle Identity Managerでは次の値が使用されます。
-
有効状態:
Enabled
-
無効状態:
Disabled
信頼できるソースに対しては、Oracle Identity Managerでは次の値が使用されます。
-
有効状態:
Active
-
無効状態:
Disabled
12.5.6.2 アカウント・ステータスのリコンシリエーションを構成するためのステップの概要
次に、アカウント・ステータスのリコンシリエーションを構成する手順を簡単に説明します。
-
ターゲット・システムで使用されるステータス値とOracle Identity Managerで使用される値をマップする参照定義を作成します。
-
汎用テクノロジ・コネクタを作成する際に、翻訳変換プロバイダを使用して、「ソース」データセットとリコンシリエーション・ステージング・データセットのアカウント・ステータス値を含むフィールド間に変換マッピングを作成します。
次に、実行する必要があるアクションの例を示します。
アカウント・ステータス値を保持するために次のフィールドが使用されているとします。
-
「ソース」データセットの「ユーザー・ステータス」フィールドには、
True
(Enabled状態のユーザー)とFalse
(Disabled状態のユーザー)の値が含まれます。 -
リコンシリエーション・ステージング・データセットの「ユーザー・ステータス」フィールドは、次のいずれかの組合せの値を保持する必要があります。
-
ターゲット・リソースのリコンシリエーションでは、このフィールドは
Enabled
またはDisabled
を含む必要があります。 -
信頼できるソースのリコンシリエーションでは、このフィールドは
Active
またはDisabled
を含む必要があります。
-
「ソース」データセットの「ユーザー・ステータス」フィールドの
True/False
値をEnabled/Disabled
値またはActive/Disabled
値に変換する変換マッピングを作成する必要があります。リコンシリエーション時には、これらの変換された値がリコンシリエーション・ステージング・データセットの「ユーザー・ステータス」フィールドに送信されます。 -
-
リコンシリエーション・ステージング・データセットでアカウント・ステータス値を保持するフィールドと、次のいずれかのフィールドの間のマッピングを作成します。
-
「OIM - アカウント」データセットの「OIMオブジェクト・ステータス」フィールド(ターゲット・リソースのリコンシリエーションの場合)
-
「OIM - ユーザー」データセットの「ステータス」フィールド(信頼できるソースのリコンシリエーションの場合)
リコンシリエーション時には、このマッピングが使用されて、リコンシリエーション・ステージング・データセットのステータス値が「OIM - アカウント」または「OIM - ユーザー」データセットに伝播されます。
-
12.5.6.3 アカウント・ステータスのリコンシリエーションを構成するための詳細なステップ
アカウント・ステータスのリコンシリエーションを構成する詳しいステップを次に示します。
-
ターゲット・システムで使用されるステータス値とOracle Identity Managerで使用される値をマップする参照定義を作成します。
参照定義のコード・キーの値は、ターゲット・システムでアカウント・ステータスを表すために使用されている値と同じである必要があります。信頼できるリソースとターゲット・リソースの両方のリコンシリエーションのコード・キーおよびデコードの値を次の表に示します。
コード・キー デコード(信頼できるソースのリコンシリエーションの場合) デコード(ターゲット・リソースのリコンシリエーションの場合) Enabled状態のユーザー・アカウントのターゲット・システム・ステータス値
Active
Enabled
Disabled状態のユーザー・アカウントのターゲット・システム・ステータス値
Disabled
Disabled
コード・キー値の例には、
True
/False
、Yes
/No
および1
/0
があります。デコードの値は、表に示すとおり(大/小文字も含めて)正確に設定する必要があります。ノート:
参照定義を「参照定義」フォームで作成する場合は、フィールド・タイプ・オプションではなく参照タイプ・オプションを選択する必要があります。
-
汎用テクノロジ・コネクタを作成する手順は、汎用テクノロジ・コネクタの使用で説明しています。汎用テクノロジ・コネクタを作成するときは、次のステップを「ステップ3: コネクタ構成の変更」ページで実行します。
ノート:
これらのステップは、Oracle Identity Governanceの管理のデータセットのフィールドの追加または編集に記載されている手順を要約したものです。下記のステップに説明している用語やGUI要素の説明は、この項を参照します。
-
ターゲット・システムのステータス・フィールドが「ステップ3: コネクタ構成の変更」ページに表示されている場合は、リコンシリエーション・ステージング・データセットのフィールドに対する「編集」アイコンをクリックします。
フィールドが表示されていない場合は、リコンシリエーション・ステージング・データセットの「追加」アイコンをクリックします。
-
「ステップ1: フィールド情報」ページで次のGUI要素の値を指定します。
-
フィールド名: フィールドを追加する場合は、そのフィールドの名前を指定します。非ASCII文字は使用できないため、指定するフィールド名にはASCII文字のみを使用します。
-
アクションのマッピング: このリストで「変換ありでマッピングの作成」を選択します。
-
一致のみ: このチェック・ボックスは選択しないでください。
-
エンドツーエンド・マッピングの作成: フィールドを追加する場合は、このチェック・ボックスを選択します。
-
複数値フィールド: このチェック・ボックスは選択しないでください。
-
データ型: フィールドのデータ型を選択します。
-
長さ: フィールドの文字の長さを指定します。
-
必須: フィールドに値が常に入力されるようにするには、このチェック・ボックスを選択します。
-
暗号化: このチェック・ボックスは選択しないでください。
-
パスワード・フィールド: このチェック・ボックスは選択しないでください。
-
-
「続行」をクリックします。
-
「ステップ3: マッピング情報の指定」ページで次のステップを実行します。
「入力」リージョンで次のようにします。
-
「データセット」リストで「ソース」を選択します。
-
「フィールド名」リストで、ステータス値を含むフィールドを選択します。
「参照コード名」リージョンで、「リテラル」を選択し、ステップ1で作成した参照定義の名前を入力します。
-
-
必要な場合は、フィールドの検証チェックを選択して「追加」をクリックします。つまり、使用する検証プロバイダを選択します。
-
「続行」をクリックし、「閉じる」をクリックします。
-
-
リコンシリエーション・ステージング・データセットのステータス・フィールドと、「OIM - アカウント」データセットの「OIMオブジェクト・ステータス」フィールドまたは「OIM - ユーザー」データセットの「ステータス」フィールドのいずれかの間で、次のようにマッピングを作成します。
ノート:
これらのステップは、Oracle Identity Governanceの管理のデータセットのフィールドの追加または編集に記載されている手順を要約したものです。
-
ターゲット・リソースのリコンシリエーションの場合は、「OIM - アカウント」データセットの「OIMオブジェクト・ステータス」フィールドの編集アイコンをクリックします。
ターゲット・リソースのリコンシリエーションの場合は、「OIM - ユーザー」データセットの「ステータス」フィールドの編集アイコンをクリックします。
ノート:
リコンシリエーション・ステージング・データセットのステータス・フィールドと、「OIMオブジェクト・ステータス」フィールドまたは「ステータス」フィールドの間にマッピングがすでに存在する場合は、必要な場合にのみこのステップを使用します。
-
「ステップ1: フィールド情報」ページで次のGUI要素の値を指定します。
-
アクションのマッピング: このリストで「変換なしでマッピングの作成」を選択します。
-
一致のみ: このチェック・ボックスは選択しないでください。
-
-
「続行」をクリックします。
-
「ステップ3: マッピング」ページの「入力」リージョンで、リコンシリエーション・ステージング・データセットのステータス・フィールドを選択します。
-
「続行」をクリックし、さらに「続行」をクリックしてから、「閉じる」をクリックします。
-
「ステップ3: コネクタ構成の変更」ページに表示されるその他のフィールドを追加または編集するには、Oracle Identity Governanceの管理のデータセットのフィールドの追加または編集に記載されている手順を実行します。
-
12.6 検証プロバイダ
事前定義済の検証プロバイダは、フィールドの値に対して様々なチェックや検証を実行するために使用します。
表12-2では、Oracle Identity Managerに含まれている検証プロバイダについて説明します。
ノート:
日付書式の検証プロバイダを除き、この表のすべてのプロバイダはApache Jakarta Commons APIのGenericValidator
クラスのメソッドの実装です。
表12-2 検証プロバイダ
検証プロバイダ | 説明 |
---|---|
IsBlankOrNull |
フィールド値がNULLであり空白ではない場合にtrueを返します。 |
IsInRange |
フィールド値が最小値と最大値のペアで指定された範囲内である場合にtrueを返します。 |
IsByte |
フィールド値を基本型byteに変換できるかどうかをチェックします。 |
IsDouble |
フィールド値を基本型doubleに変換できるかどうかをチェックします。 |
IsFloat |
フィールド値を基本型floatに変換できるかどうかをチェックします。 |
IsInteger |
フィールド値を基本型integerに変換できるかどうかをチェックします。 |
IsLong |
フィールド値を基本型longに変換できるかどうかをチェックします。 |
IsShort |
フィールド値を基本型shortに変換できるかどうかをチェックします。 |
MatchRegexp |
フィールド値が指定の正規表現と一致するかどうかをチェックします。 ノート: 正規表現は、一連の文字列を特定の構文ルールに従って記述または一致させるために使用する文字列です。 |
MaxLength |
フィールド値の長さが指定値以下かどうかをチェックします。 |
MinLength |
フィールド値の長さが指定値以上かどうかをチェックします。 |
日付書式の検証 |
ターゲット・システム・レコード内の日付値を、Oracle Identity Managerへのリコンサイル前に検証します。 「ソース日付書式」パラメータの値が検証の基礎として使用されます。この検証プロバイダは、「ステップ2: パラメータ値の指定」ページで「ソース日付書式」パラメータの値を指定した場合、このプロバイダを「ステップ3: コネクタ構成の変更」ページで選択するかどうかに関係なく適用されます。 ノート: この表の他のプロバイダとは異なり、「日付書式の検証」はApache Jakarta Commons APIの |