プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ
11gリリース2 (11.1.2.3.0)
E61958-10
  目次へ移動
目次

前
 
次
 

12 汎用テクノロジ・コネクタ用事前定義済プロバイダ

Oracle Identity Managerには、次の事前定義済プロバイダが含まれています。


注意:

使用するプロバイダ用のパラメータの値を決定する必要があります。この値は、Oracle Identity System Administrationを使用して汎用テクノロジ・コネクタを作成する間に使用します。

12.1 共有ドライブ・リコンシリエーション・トランスポート・プロバイダ

共有ドライブ・リコンシリエーション・トランスポート・プロバイダは、ステージング・ディレクトリに格納されたフラット・ファイルからデータを読み取り、そのファイルをアーカイブ・ディレクトリに移動します。ステージング・ディレクトリとアーカイブ・ディレクトリを共有して、Oracle Identity Managerサーバーからアクセスできるようにする必要があります。

このプロバイダのパラメータを次に示します。

  • ステージング・ディレクトリ(親アイデンティティ・データ)

    このパラメータを使用して、親データを含むファイルを格納するディレクトリのパスを指定します。このパラメータ値の指定は必須です。これはランタイム・パラメータです。

    このマニュアルでは、親データとは、ターゲット・システムに格納されているユーザー・アカウント情報を意味します。

    このパラメータのサンプル値は次のとおりです。

    T:/TargetSystemDirectory/ParentData
    

    注意:

    Oracle Identity Managerがインストールされているサーバー上にステージング・ディレクトリがない場合、そのディレクトリを共有にして、Oracle Identity Managerサーバー上にネットワーク・ドライブとしてマップする必要があります。

    親データファイルに格納されるデータは、次の規則に準拠する必要があります。

    • ファイルの1行目

      親データファイルの1行目は、ファイルの内容を示すファイル・ヘッダーである必要があります。

      ファイル・ヘッダーの前に、番号記号(#)で始まる任意の数の行を置くことができます。この記号はファイルの読取り時には無視されます。ただし、ヘッダーの先頭に空白がないようにしてください。英語以外の言語を使用している場合、この行に非ASCII文字は入力できません。


      注意:

      1行目に非ASCII文字を入力しないようにするチェック機能はありません。また、汎用テクノロジ・コネクタ・フレームワークでは非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
    
  • ステージング・ディレクトリ(複数値アイデンティティ・データ)

    このパラメータを使用して、複数値(または子)アカウントまたはアイデンティティ・データ(ロール・メンバーシップのデータなど)を含むファイルを格納するディレクトリのパスを指定します。このパラメータ値の指定は必須ではありません。これはランタイム・パラメータです。


    注意:

    このマニュアルでは、複数値アカウントまたはアイデンティティ・データと子データという用語は、同義的に使用されています。

    このパラメータのサンプル値は次のとおりです。

    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 Managerの管理』の「ステップ3: コネクタ構成の変更」ページに関する項で説明されている「ステップ3: コネクタ構成の変更」ページでは、子データセットの名前は子データファイルで指定したヘッダーと同じです。前述のサンプルの子データファイルの場合、子データセットのラベルはRoleGroup Membershipになります。また、「ステップ4: コネクタ・フォーム名の検証」ページでは、子データセットに対応するフォームに表示されるデフォルト名はRoleGroup Membershipになります。『Oracle Identity Managerの管理』の「ステップ4: コネクタ・フォーム名の検証」ページに関する項で説明するように、デフォルトのフォーム名を受け入れるか、変更できます。

  • アーカイブ・ディレクトリ

    このパラメータを使用して、すでにリコンサイルした親および子データファイルを格納するディレクトリのパスを指定します。これはランタイム・パラメータです。

    このパラメータ値の指定は必須です。

    リコンシリエーション実行終了時に、データファイルはアーカイブ・ディレクトリにコピーされ、ステージング・ディレクトリから削除されます。

    アーカイブ・ディレクトリに移動したファイルにタイムスタンプまたはマークは付きません。このため、アーカイブ・ディレクトリのパスを指定するときは、次のガイドラインに注意してください。

    • 指定するアーカイブ・ディレクトリ・パスは、ステージング・ディレクトリ・パスと同じものにしないでください。同じパスを指定すると、アーカイブ・ディレクトリ内の既存のファイルがリコンシリエーションの実行終了時に削除されます。

    • 前回のリコンシリエーション実行で使用されたファイルと同じ名前のデータファイルがステージング・ディレクトリに配置されていると、アーカイブ・ディレクトリ内の既存のファイルが、現在のリコンシリエーションの実行終了時に、ステージング・ディレクトリからの新しいファイルで上書きされます。

    これらのポイントについては、『Oracle Identity Managerの管理』の「ステップ2: パラメータ値の指定」ページに関する項にも記載されています。

  • ファイルの接頭辞

    このパラメータを使用して、親データファイルと子データファイルの両方について、ステージング・ディレクトリ内のファイルの名前をフィルタするために使用する接頭辞を指定します。リコンシリエーション中は、ファイル拡張子に関係なく、指定した接頭辞で始まる名前を持つ(ステージング・ディレクトリ内の)すべてのファイルが処理されます。これはランタイム・パラメータです。

    例:

    「ファイルの接頭辞」パラメータの値としてusrdataを指定すると、複数値(子)ユーザー・データファイルに関して、ステージング・ディレクトリに配置された次のファイルのデータが解析されます。

    usrdataRoleData.csv
    usrdataGroupMembershipData.txt
    

    同じディレクトリにある次のファイルからはデータは抽出されません。これは、ファイル名がusrdataで始まらないためです。

    RoleData.csv
    GroupMembershipData.txt
    
  • 指定されたデリミタ

    このパラメータを使用して、親および子データファイルでデリミタ文字として使用する文字を指定します。このパラメータの値として指定できるのは1文字のみです。これはランタイム・パラメータです。このパラメータは「タブ区切り」パラメータよりも優先されます。


    注意:

    空白( )はデリミタとして使用できません。

    また、指定する文字が、そのデータファイルでデリミタとしてのみ使用されることを確認する必要があります。この文字がデータ自体にも含まれる場合、データ行(レコード)は正しく解析されません。たとえば、カンマ(,)がデータ値に含まれる場合は、デリミタとしてカンマを使用できません。


  • タブ区切り

    このパラメータを使用して、ファイルがタブ区切りかどうかを指定します。これはランタイム・パラメータです。「指定されたデリミタ」パラメータの値を指定すると、このパラメータは無視されます。

  • 固定列幅

    入力ファイルに固定幅データが含まれる場合は、このパラメータを使用してデータ列の文字の幅を指定します。これはランタイム・パラメータです。


    注意:

    ここでは、固定幅という用語は、データ・フィールドのバイト長ではなく文字数を意味します。たとえば、幅という意味ではシングルバイト・データ4文字とマルチバイト・データ4文字は同じになります。

    「指定されたデリミタ」または「タブ区切り」パラメータの値を指定すると、このパラメータは無視されます。

  • 一意の属性(親データ)

    複数値ユーザー・データの場合は、このパラメータを使用して、親と子の両方のデータファイルに共通するフィールドを指定します。前述の例では、一意の属性に対する要件は、親と子の両方のデータファイルに存在するUser ID TDフィールドで満たされます。これはランタイム・パラメータです。


    注意:

    「ステップ1: 基本情報の指定」ページで「信頼できるソース・リコンシリエーション」オプションを選択した場合、「一意の属性(親データ)」パラメータの値は指定できません。これは、信頼できるソース・リコンシリエーションでは、複数値(子)データのリコンシリエーションがサポートされていないためです。

  • ファイル・エンコーディング

    このパラメータを使用して、親およびデータファイルで使用される文字セット・エンコーディングを指定します。これは設計パラメータです。

    言語設定が英語のオペレーティング・システムを実行しているコンピュータでは、データファイルにCp1251を指定します。これは、汎用テクノロジ・コネクタ・フレームワークでサポートされるjava.io APIの正規名です。「多言語サポート」の項に示されたリストからその他の言語を選択する場合は、対応するjava.io APIの正規名を指定する必要があります。

ステージング・ディレクトリとアーカイブ・ディレクトリに設定する権限

ステージング・ディレクトリとアーカイブ・ディレクトリに必要な権限が設定されていることを確認してください。次の表に、ステージングおよびアーカイブのデータファイルの保持に使用される共有ディレクトリに対する様々な権限の影響を示します。

記憶域エンティティ アクセス権 アクセス権が必要な理由
親データファイルのステージング・ディレクトリ 読取り この権限は、リコンシリエーションの実行に必要です。この権限が適用されない場合、エラー・メッセージがログに記録されます。
親データファイルのステージング・ディレクトリ 書込み この権限は、アーカイブ・プロセスの最後にデータファイルを親ステージング・ディレクトリから削除するために必要です。
親データファイルのステージング・ディレクトリ 実行 適用外
子データファイルのステージング・ディレクトリ 読取り この権限は、子データのリコンシリエーションに必要です。この権限が適用されない場合、エラー・メッセージがログに記録されます。
子データファイルのステージング・ディレクトリ 書込み この権限は、アーカイブ・プロセスの最後にデータファイルを子ステージング・ディレクトリから削除するために必要です。
子データファイルのステージング・ディレクトリ 実行 適用外
アーカイブ・ディレクトリ 書込み この権限は、アーカイブ・プロセス中に親および子データファイルをアーカイブ・ディレクトリにコピーするために必要です。この権限が適用されなくても、次の処理が行われます。
  • 親および子データのリコンシリエーションが実行されます。

  • 親および子ステージング・ディレクトリに必要な権限が設定されていない場合、ファイルはこれらのディレクトリから削除されます。

アーカイブ・ディレクトリ 実行 適用外
ステージング・ディレクトリ内の親または子データファイル 読取り この権限は、ファイル内のデータのリコンシリエーションに必要です。この権限が適用されない場合、エラー・メッセージがログに記録されます。
ステージング・ディレクトリ内の親または子データファイル 書込み この権限は、アーカイブ・プロセスの最後にデータファイルを削除するために必要です。この権限が適用されない場合、エラー・メッセージがログに記録されます。ただし、このファイル内のデータはリコンサイルされます。
ステージング・ディレクトリ内の親または子データファイル 実行 適用外


注意:

ステージング・ディレクトリ内のデータファイルは、いずれかのエディタで開かれているか他のプログラムによる書込みのために開かれていると、削除できません。

12.2 CSVリコンシリエーション・フォーマット・プロバイダ

CSVリコンシリエーション・フォーマット・プロバイダは、文字区切り、タブ区切りまたは固定長形式のリコンシリエーション・データをOracle Identity Managerでサポートされている形式に変換します。

CSVリコンシリエーション・フォーマット・プロバイダはスタンドアロン・プロバイダとしてパッケージ化されていますが、そのパラメータはすべて共有ドライブ・トランスポート・プロバイダにバンドルされています。「ステップ1: 基本情報の指定」ページで共有ドライブ・トランスポート・プロバイダを選択した場合は、CSVフォーマット・プロバイダを選択する必要があります。このプロバイダを選択すると、そのパラメータが共有ドライブ・トランスポート・プロバイダのパラメータとともに表示されます。

12.3 SPMLプロビジョニング・フォーマット・プロバイダ

SPMLプロビジョニング・フォーマット・プロバイダは、Oracle Identity Manager上でのプロビジョニング操作中に生成されたプロビジョニング・データをSPML対応のターゲット・システムで処理できるSPMLリクエストに変換します。

図12-1に、SPMLプロビジョニング・フォーマット・プロバイダがリクエスト局(RA)として機能し、ターゲット・システムがプロビジョニング・サービス・プロバイダ(PSP)およびプロビジョニング・サービス・ターゲット(PST)を提供するシステムの設定を示します。

図12-1 SPMLプロビジョニング・フォーマット・プロバイダとターゲット・システムの間の通信

図12-1の説明が続きます
「図12-1 SPMLプロビジョニング・フォーマット・プロバイダとターゲット・システムの間の通信」の説明

実際のプロビジョニング中は、SOAP-SPMLリクエストの作成にVelocityテンプレート・エンジンが使用されます。次のプロセスでは、プロバイダがSPML 2.0 DSMLプロファイルに基づいてSOAPリクエストを生成します。

  • リクエストの追加

  • 次のOracle Identity Managerプロセス・タスクに対するリクエストの変更:

    • フィールドの更新

    • 子データの追加

    • 子データの変更

    • 子データの削除

  • リクエストの一時停止(Oracle Identity Managerプロセス・タスクの無効化)

  • リクエストの再開(Oracle Identity Managerプロセス・タスクの有効化)

  • リクエストの削除

「組織の作成」、「組織の更新」および「組織の削除」はサポートされていません。これは、汎用テクノロジ・コネクタ用に作成されたリソース・オブジェクトでは組織用のプロビジョニング操作がサポートされていないためです。「グループの作成」、「グループの更新」および「グループの削除」操作はサポートされていません。これは、グループのプロビジョニング操作がOracle Identity Managerでサポートされていないためです。

このプロバイダを選択すると、デフォルトでは、『Oracle Identity Managerの管理』の「ステップ3: コネクタ構成の変更」ページに関する項で説明されている「ステップ3: コネクタ構成の変更」ページに、次のアイデンティティ・フィールドが「ID」フィールドとともに表示されます。

  • objectClass

  • containerID

各プロビジョニング・タスク(「ユーザーの作成」や「ユーザーの変更」など)について、このプロバイダによってリクエストが事前定義済の形式で生成されます。

次の各項では、このプロバイダのパラメータについて説明します。

使用するアプリケーション・サーバーによっては、一部のランタイム・パラメータと設計パラメータは必須になり、一部のパラメータは固定値になります。次の各項では、これらのパラメータについて説明します。

12.3.1 ランタイム・パラメータ

SPMLプロビジョニング・フォーマット・プロバイダのランタイム・パラメータを次に示します。

  • ターゲットID

    この値により、プロビジョニング操作のターゲット・システムを一意に識別します。

  • ユーザー名(認証)

    これは、Webサービス・インタフェース(PSP)を介してターゲット・システム(PST)に接続するために必要なアカウントのユーザー名です。

  • ユーザー・パスワード(認証)

    これは、Webサービス・インタフェース(PSP)を介してターゲット・システム(PST)に接続するために必要なユーザー・アカウントのパスワードです。

12.3.2 設計パラメータ

SPMLプロビジョニング・フォーマット・プロバイダの設計パラメータを次に示します。


関連項目:

この項で説明するSOAP要素および属性の詳細は、次のWebサイトを参照してください。

http://www.w3.org/TR/wsdl20/


  • 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.3 必須でないパラメータ

Oracle WebLogic Serverでは、次のパラメータ値を指定する必要はありません。

  • SPML Webサービスの複合データ型

  • SPML WebサービスのSOAPメッセージ本文の接頭辞

  • グループ・メンバーシップ情報を保持している子データセットのID属性

12.3.4 値が事前定義済のパラメータ

Oracle WebLogic Serverでは、次のパラメータに事前定義済の値を指定できます。

  • WebサービスURL: http://IP_address:port_number/spmlws/OIMProvisioning

  • SPML Webサービスのバインディング・スタイル(DOCUMENTまたはRPC): RPC

  • SPML Webサービス操作名: processRequest

12.4 Webサービス・プロビジョニング・トランスポート・プロバイダ

Webサービス・プロビジョニング・トランスポート・プロバイダは、Webサービス・クライアントとして機能し、プロビジョニング・リクエスト・データをOracle Identity Managerからターゲット・システムWebサービスに転送します。

次のタイプのターゲット・システムWebサービスがサポートされています。

  • RPCリテラル

  • RPCエンコード

  • DOCUMENTリテラル

Webサービス・プロビジョニング・トランスポート・プロバイダのパラメータを次に示します。

WebサービスURL

このパラメータを使用して、ターゲット・システムへのプロビジョニング・リクエストの送信に使用するWebサービスのURLを指定します。これはランタイム・パラメータです。WSDLファイルでは、WebサービスURLはwsdlsoap:address要素のlocation属性の値になります。

作成する汎用テクノロジ・コネクタにWebサービス・プロビジョニング・トランスポート・プロバイダを含める場合は、ターゲット・システムとOracle Identity Managerの間にSecure Sockets Layer (SSL)通信を構成する場合があります。次の項では、この手順の詳細を説明します。

12.4.1 Oracle Identity Managerとターゲット・システムWebサービスの間のSSL通信の構成

この項では、Oracle Identity Managerがインストールされているアプリケーション・サーバーをSSL通信用に構成する手順について説明します。

この手順は、次の条件をすべて満たす場合にのみ実行できます。

  • 作成する汎用テクノロジ・コネクタにWebサービス・プロビジョニング・トランスポート・プロバイダを含める場合。

  • ターゲットWebサービスがSSL対応アプリケーション・サーバー上で実行されている場合。

Oracle Identity Managerとターゲット・システムWebサービスの間のSSL通信を構成するには、次の手順を実行します。


注意:

この手順は、汎用テクノロジ・コネクタを作成する前に実行できます。

  1. 次のようにしてターゲット・アプリケーション・サーバーの証明書をエクスポートします。

    • 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の値で指定したファイルに格納されます。

  2. 次のようにして、前の手順でエクスポートした証明書ファイルをOracle Identity Managerのトラストストアにインポートします。

    1. 前の手順でエクスポートした証明書ファイルを、Oracle Identity Managerサーバーの一時ディレクトリにコピーします。

    2. 次のコマンドを実行します。

      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通信が有効化されている場合は、残りの手順を実行する必要はありません。

  3. 次のようにして、Oracle Identity Managerの証明書をターゲット・システム・アプリケーション・サーバーのトラストストアにインポートします。


    注意:

    次の手順は、アプリケーション・サーバーで双方向SSL通信が有効化されている場合にのみ実行します。

    1. 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ホーム・ディレクトリのパスに置換します。

    2. 次のようにして、手順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 Managerの管理』の「ステップ3: コネクタ構成の変更」ページに関する項の手順を実行する際に、この項で示した情報を使用します。

変換プロバイダは、次の表に示すソース・データセットと宛先データセットの間で移動中のユーザー・データを変換するために使用されます。

ソース・データセット 宛先データセット 変換の目的
ソース リコンシリエーション・ステージング リコンシリエーション・イベントの作成に使用する前にデータを変換します。
Oracle Identity Manager プロビジョニング・ステージング ターゲット・システムに送信されるプロビジョニング・リクエストの作成に使用する前にデータを変換します。

Oracle Identity Managerでは、次の事前定義済変換プロバイダが使用できます。

12.5.1 連結変換プロバイダ

連結変換プロバイダは、データセットの2つのフィールドの値を連結して、別のデータセットの単一フィールドへの入力を作成するために使用します。

次の例では、このプロバイダの出力形式について説明します。

入力値がソース・データセットの次のフィールドであるとします。

  • 名: John

  • 姓: Doe

連結変換プロバイダをこの2つのフィールドに適用すると、出力値は次のようになります。

John Doe


注意:

前述の例に示すように、連結変換プロバイダでは2つの入力フィールドの値の間に空白が追加されます。

次の手順では、汎用テクノロジ・コネクタの作成中に連結変換プロバイダを追加する方法について説明します。


注意:

この手順では、『Oracle Identity Managerの管理』のデータセットのフィールドの追加または編集に関する項の手順5に記載されている手順を詳しく説明しています。ここでは、「ステップ1: フィールド情報」ページの「アクションのマッピング」リストから「連結」オプションを選択し、その項の手順2と3をすでに実行したことを前提にしています。

ポップアップ・ウィンドウの「ステップ2: マッピング」ページで、次の手順を実行します。

  1. 「入力1」リージョンの「データセット」リストから、連結する最初のフィールドを含むデータセットを選択します。「フィールド名」リストから最初のフィールドを選択します。または、「リテラル」オプションを使用してリテラル(固定)値を最初の連結入力として指定することも可能です。

    前述の例の場合は、「入力1」リージョンの「データセット」リストから、「名」フィールドを含むデータセットを選択します。次に、「フィールド名」リストから「名」を選択します。

  2. 「入力2」リージョンの「データセット」リストから、連結する2番目のフィールドを含むデータセットを選択します。次に、「フィールド名」リストから2番目のフィールドを選択します。または、「リテラル」オプションを使用してリテラル(固定)値を2番目の連結入力として指定することも可能です。

    前述の例の場合は、「入力2」リージョンの「データセット」リストから、「姓」フィールドを含むデータセットを選択します。次に、「フィールド名」リストから「姓」を選択します。

12.5.2 翻訳変換プロバイダ

変換操作では、特定の(リテラル)値を入力として受け入れ、それを別の値に変換します。

次に変換操作の例を示します。

「ソース」データセットに「国」フィールドが含まれており、このフィールドに格納されているデータ値が次のいずれかの値を取ることができるとします。

  • オーストリア

  • フランス

  • ドイツ

  • インド

  • 日本

これらの値をリコンシリエーション・ステージング・データセットに伝播する場合、それぞれの値を次のように変換するとします。

  • AT

  • FR

  • DE

  • IN

  • JP

この変換を自動化するには、翻訳変換プロバイダを使用できます。

翻訳変換プロバイダを使用するには、次の手順を実行します。

  1. Design Consoleを使用して、入力およびデコード値を格納する参照定義を作成します。


    注意:

    参照定義を「参照定義」フォームで作成する場合は、フィールド・タイプ・オプションではなく参照タイプ・オプションを選択する必要があります。

    前述の「国」フィールドの例では、コード・キーおよびデコードは次の表に示す値になります。

    コード・キー デコード
    オーストリア AT
    フランス FR
    ドイツ DE
    インド IN
    日本 JP

  2. 変換対象の入力フィールドと出力フィールドの間の変換マッピングを定義します。前述のとおり、変換は次のデータセットのペア間で設定できます。

    • 「ソース」と「リコンシリエーション・ステージング」

    • 「Oracle Identity Manager」とプロビジョニング・ステージング


    注意:

    この手順では、『Oracle Identity Managerの管理』のデータセットのフィールドの追加または編集に関する項の手順5に記載されている手順を詳しく説明しています。ここでは、「ステップ1: フィールド情報」ページの「アクションのマッピング」リストから「連結」オプションを選択し、その項の手順2と3をすでに実行したことを前提にしています。

    1. 「ステップ3: マッピング」ページで、「入力」リージョンの「データセット」リストから、変換操作を行う入力値を提供するフィールドのあるデータセットを選択します。次に、「フィールド名」リストからフィールド自体を選択します。

      前述の「国」フィールドの例では、「国」フィールドがあるデータセットを選択してから、「国」フィールドを選択します。

    2. 「参照コード名」リージョンで、「リテラル」を選択し、前の手順で作成した参照定義の名前を入力します。


      注意:

      「参照コード名」リージョンではデータセット名およびフィールドを指定しないでください。データセット名およびフィールドの選択を無効にする検証は行われませんが、実際のリコンシリエーションまたはプロビジョニングの操作時に変換操作に失敗します。

      これについては、「マッピング」にも記載されています。


      前述の「国」フィールドの例では、「リテラル」を選択し、手順1で作成した参照定義を選択します。

12.5.2.1 アカウント・ステータスのリコンシリエーションの構成

ユーザー・アカウント・ステータス情報は、ターゲット・システム・アカウントの所有者によるアカウントへのアクセスおよびアカウントの使用が許可されるかどうかの追跡に使用されます。必要に応じて、翻訳変換プロバイダを使用してアカウント・ステータス情報をリコンサイルできます。


注意:

Design Consoleでは、アカウント・ステータスのリコンシリエーションを構成する別の方法が提供されます。この方法では、汎用テクノロジ・コネクタは使用しません。第2.1.2.2.1項「ユーザー・アカウント・ステータスのリコンシリエーション」に、この方法の説明があります。

翻訳変換プロバイダを使用する必要があるのは、ターゲット・システムで使用されるアカウント・ステータスの値が、Oracle Identity Managerで使用される値と同じでない場合のみです。ターゲット・リソースに対して、Oracle Identity Managerでは次の値が使用されます。

  • 有効状態: Enabled

  • 無効状態: Disabled

信頼できるソースに対しては、Oracle Identity Managerでは次の値が使用されます。

  • 有効状態: Active

  • 無効状態: Disabled

次に、アカウント・ステータスのリコンシリエーションを構成する手順を簡単に説明します。


注意:

これらの手順の詳しい説明はこの項で後述します。

  1. ターゲット・システムで使用されるステータス値とOracle Identity Managerで使用される値をマップする参照定義を作成します。

  2. 汎用テクノロジ・コネクタを作成する際に、翻訳変換プロバイダを使用して、「ソース」データセットとリコンシリエーション・ステージング・データセットのアカウント・ステータス値を含むフィールド間に変換マッピングを作成します。

    次に、実行する必要があるアクションの例を示します。

    アカウント・ステータス値を保持するために次のフィールドが使用されているとします。

    • 「ソース」データセットの「ユーザー・ステータス」フィールドには、True (Enabled状態のユーザー)とFalse (Disabled状態のユーザー)の値が含まれます。

    • リコンシリエーション・ステージング・データセットの「ユーザー・ステータス」フィールドは、次のいずれかの組合せの値を保持する必要があります。

      • ターゲット・リソースのリコンシリエーションでは、このフィールドはEnabledまたはDisabledを含む必要があります。

      • 信頼できるソースのリコンシリエーションでは、このフィールドはActiveまたはDisabledを含む必要があります。

    「ソース」データセットの「ユーザー・ステータス」フィールドのTrue/False値をEnabled/Disabled値またはActive/Disabled値に変換する変換マッピングを作成する必要があります。リコンシリエーション時には、これらの変換された値がリコンシリエーション・ステージング・データセットの「ユーザー・ステータス」フィールドに送信されます。

  3. リコンシリエーション・ステージング・データセットでアカウント・ステータス値を保持するフィールドと、次のいずれかのフィールドの間のマッピングを作成します。

    • 「OIM - アカウント」データセットの「OIMオブジェクト・ステータス」フィールド(ターゲット・リソースのリコンシリエーションの場合)

    • 「OIM - ユーザー」データセットの「ステータス」フィールド(信頼できるソースのリコンシリエーションの場合)

    リコンシリエーション時には、このマッピングが使用されて、リコンシリエーション・ステージング・データセットのステータス値が「OIM - アカウント」または「OIM - ユーザー」データセットに伝播されます。

アカウント・ステータスのリコンシリエーションを構成する詳しい手順を次に示します。

  1. ターゲット・システムで使用されるステータス値とOracle Identity Managerで使用される値をマップする参照定義を作成します。

    参照定義のコード・キーの値は、ターゲット・システムでアカウント・ステータスを表すために使用されている値と同じである必要があります。信頼できるリソースとターゲット・リソースの両方のリコンシリエーションのコード・キーおよびデコードの値を次の表に示します。

    コード・キー デコード(信頼できるソースのリコンシリエーションの場合) デコード(ターゲット・リソースのリコンシリエーションの場合)
    Enabled状態のユーザー・アカウントのターゲット・システム・ステータス値 Active Enabled
    Disabled状態のユーザー・アカウントのターゲット・システム・ステータス値 Disabled Disabled

    コード・キー値の例には、True/FalseYes/Noおよび1/0があります。デコードの値は、表に示すとおり(大/小文字も含めて)正確に設定する必要があります。


    注意:

    参照定義を「参照定義」フォームで作成する場合は、フィールド・タイプ・オプションではなく参照タイプ・オプションを選択する必要があります。

  2. 汎用テクノロジ・コネクタを作成する手順は、第11章「汎用テクノロジ・コネクタの使用」で説明されています。汎用テクノロジ・コネクタを作成するときは、次の手順を「ステップ3: コネクタ構成の変更」ページで実行します。


    注意:

    次の手順は、『Oracle Identity Managerの管理』のデータセットのフィールドの追加または編集に関する項に示された手順を簡略にまとめたものです。ここで説明している用語やGUI要素の詳細は、この項を参照してください。

    1. ターゲット・システムのステータス・フィールドが「ステップ3: コネクタ構成の変更」ページに表示されている場合は、リコンシリエーション・ステージング・データセットのフィールドに対する「編集」アイコンをクリックします。

      フィールドが表示されていない場合は、リコンシリエーション・ステージング・データセットの「追加」アイコンをクリックします。

    2. 「ステップ1: フィールド情報」ページで次のGUI要素の値を指定します。

      • フィールド名: フィールドを追加する場合は、そのフィールドの名前を指定します。非ASCII文字は使用できないため、指定するフィールド名にはASCII文字のみを使用します。

      • アクションのマッピング: このリストで「変換ありでマッピングの作成」を選択します。

      • 一致のみ: このチェック・ボックスは選択しないでください。

      • エンドツーエンド・マッピングの作成: フィールドを追加する場合は、このチェック・ボックスを選択します。

      • 複数値フィールド: このチェック・ボックスは選択しないでください。

      • データ型: フィールドのデータ型を選択します。

      • 長さ: フィールドの文字の長さを指定します。

      • 必須: フィールドに値が常に入力されるようにするには、このチェック・ボックスを選択します。

      • 暗号化: このチェック・ボックスは選択しないでください。

      • パスワード・フィールド: このチェック・ボックスは選択しないでください。

    3. 「続行」をクリックします。

    4. 「ステップ3: マッピング情報の指定」ページで次の手順を実行します。

      「入力」リージョンで次のようにします。

      • 「データセット」リストで「ソース」を選択します。

      • 「フィールド名」リストで、ステータス値を含むフィールドを選択します。

      「参照コード名」リージョンで、「リテラル」を選択し、手順1で作成した参照定義の名前を入力します。

    5. 必要な場合は、フィールドの検証チェックを選択して「追加」をクリックします。つまり、使用する検証プロバイダを選択します。

    6. 「続行」をクリックし、「閉じる」をクリックします。

  3. リコンシリエーション・ステージング・データセットのステータス・フィールドと、「OIM - アカウント」データセットの「OIMオブジェクト・ステータス」フィールドまたは「OIM - ユーザー」データセットの「ステータス」フィールドのいずれかの間で、次のようにマッピングを作成します。


    注意:

    次の手順は、『Oracle Identity Managerの管理』のデータセットのフィールドの追加または編集に関する項に示された手順を簡略にまとめたものです。

    1. ターゲット・リソースのリコンシリエーションの場合は、「OIM - アカウント」データセットの「OIMオブジェクト・ステータス」フィールドの編集アイコンをクリックします。

      ターゲット・リソースのリコンシリエーションの場合は、「OIM - ユーザー」データセットの「ステータス」フィールドの編集アイコンをクリックします。


      注意:

      リコンシリエーション・ステージング・データセットのステータス・フィールドと、「OIMオブジェクト・ステータス」フィールドまたは「ステータス」フィールドの間にマッピングがすでに存在する場合は、必要な場合にのみこの手順を使用します。

    2. 「ステップ1: フィールド情報」ページで次のGUI要素の値を指定します。

      • アクションのマッピング: このリストで「変換なしでマッピングの作成」を選択します。

      • 一致のみ: このチェック・ボックスは選択しないでください。

    3. 「続行」をクリックします。

    4. 「ステップ3: マッピング」ページの「入力」リージョンで、リコンシリエーション・ステージング・データセットのステータス・フィールドを選択します。

    5. 「続行」をクリックし、さらに「続行」をクリックしてから、「閉じる」をクリックします。

    6. 「ステップ3: コネクタ構成の変更」ページに表示されるその他のフィールドを追加または編集するには、『Oracle Identity Managerの管理』のデータセットのフィールドの追加または編集に関する項に示された手順を実行します。

12.6 検証プロバイダ

表12-1に、Oracle Identity Managerに含まれている検証プロバイダを示します。


注意:

日付書式の検証プロバイダを除き、この表のすべてのプロバイダはApache Jakarta Commons APIのGenericValidatorクラスのメソッドの実装です。

表12-1 検証プロバイダ

検証プロバイダ 説明

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のGenericValidatorクラスのメソッドの実装ではありません。