5 Generic RESTコネクタの機能拡張

特定のビジネス要件に対応するようにコネクタの機能を拡張できます。

次のトピックでは、リコンシリエーション操作およびプロビジョニング操作を実行するためのコネクタの使用について説明します。

5.1 カスタム認証の実装

ターゲット・システムで、このコネクタでサポートされない認証メカニズムが使用されている場合は、ターゲット・システムで使用されている認証を実装し、このコネクタによって公開されるプラグインを使用してその認証をコネクタにアタッチする必要があります。カスタム認証の実装には、Javaクラスの作成、認証ヘッダーをマップの形式で返すMap<String, String> getAuthHeaders(Map<String, Object> authParams)メソッドのオーバーライド、新しいJavaクラスを含めるためのコネクタ・インストール・メディアの更新が含まれます。
認証ヘッダーの取得に必要となる可能性のある、ターゲット・システム構成と認証の詳細すべてが、特定のITリソース・パラメータを介してMap<String, String> getAuthHeaders(Map<String, Object> authParams)メソッドに渡されます。このコネクタによって公開されるすべての構成プロパティには、このメソッド内で"authParams"の一部としてアクセスできます。
カスタム認証を実装するには、次のようにします。
  1. カスタム認証を実装するためのJavaクラスを作成します。このクラスは、org.identityconnectors.restcommon.auth.spi.AuthenticationPluginインタフェースを実装する必要があります。
    このJavaクラスの名前を書き留めておきます。このJavaクラスは、本ドキュメントで後述する、ターゲット・システムのITリソースを構成する際に指定します。
  2. カスタムJavaクラスのMap<String, String> getAuthHeaders(Map<String, Object> authParams)メソッドをオーバーライドします。
    このメソッドは、認証ヘッダーをマップの形式({ Authorization = Bearer XXXXXXXXXX }など)で返すカスタム認証ロジックを実装する必要があります。認証ヘッダーには、ターゲットから受信したアクセス・トークンが含まれます。
  3. カスタム認証を実装するJavaクラスを、JARファイルにパッケージ化します。
  4. カスタム認証の実装を含むJARファイルをコネクタ・バンドルJARと一緒にパッケージ化するには、次のようにします。

    ノート:

    その他のカスタム実装用のJARがある場合は、すべてをパッケージ化するようにします。
    1. org.identityconnectors.genericrest-1.0.1115.jarファイルの内容を、一時ディレクトリに抽出します。このファイルは、GenericREST-RELEASE_NUMBER\bundle directoryにあります。
    2. (ステップ3の)カスタム認証が格納されたJARファイルをlibディレクトリにコピーします。
    3. 次のコマンドを実行して、コネクタ・バンドル(org.identityconnectors.genericrest-1.0.1115.jar)を再生成します。
      jar -cvfm org.identityconnectors.genericrest-1.0.1115.jar META-INF/MANIFEST.MF * 

      ノート:

      コネクタ・バンドルの更新中にMETA-INF\MANIFEST.MFファイルが変更されていないことを確認します。
  5. 再生成されたコネクタ・バンドルをアップロードする前に、Oracle Identity ManagerのJARの削除ユーティリティを実行して、Oracle Identity Managerデータベース内の既存のJARを削除します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。
    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/DeleteJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/DeleteJars.sh

    ユーティリティの実行時に、Oracle Identity Manager管理者のログイン資格情報、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、削除するJARファイルのタイプおよびJARファイルが削除される場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFバンドル)を指定します。

  6. Oracle Identity Manager JARアップロード・ユーティリティを実行して、再生成したコネクタ・バンドルをOracle Identity Managerデータベースにアップロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。
    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/UploadJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/UploadJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFバンドル)を指定します。

  7. Oracle Identity Managerを再起動します。
これで、カスタム認証の実装手順が完了しました。

5.2 カスタム解析の実装

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

カスタム解析を実装するには、次のようにします。
  1. カスタム・パーサーを実装するためのJavaクラスを作成します。このクラスは、org.identityconnectors.restcommon.parser.spi.ParserPluginインタフェースを実装する必要があります。
    このJavaクラスの名前を書き留めておきます。このJavaクラスは、本ドキュメントで後述する、ターゲット・システムのITリソースを構成する際に指定します。
  2. カスタムJavaクラスのString parseRequest(Map<String, Object> attrMap)およびList<Map<String, Object>> parseResponse(String response, Map<String, String> parserConfigParams)のメソッドをオーバーライドします。
    String parseRequest(Map<String, Object> attrMap)メソッドは、属性を解析して文字列リクエスト・ペイロードを生成するロジックを実装します。
    List<Map<String, Object>> parseResponse(String response, Map<String, String> parserConfigParams)メソッドは、このクラスで、ターゲットから受け取った文字列レスポンスを解析するロジックを実装します。
  3. カスタム・パーサーを実装するJavaクラスを、JARファイルにパッケージ化します。
  4. カスタム・パーサーの実装を含むJARファイルをコネクタ・バンドルJARと一緒にパッケージ化するには、次のようにします。

    ノート:

    その他のカスタム実装用のJARがある場合は、すべてをパッケージ化するようにします。
    1. org.identityconnectors.genericrest-1.0.1115.jarファイルの内容を、一時ディレクトリに抽出します。このファイルは、GenericREST-RELEASE_NUMBER\bundle directoryにあります。
    2. (ステップ3の)カスタム認証が格納されたJARファイルをlibディレクトリにコピーします。
    3. 次のコマンドを実行して、コネクタ・バンドル(org.identityconnectors.genericrest-1.0.1115.jar)を再生成します。
      jar -cvfm org.identityconnectors.genericrest-1.0.1115.jar META-INF/MANIFEST.MF * 

      ノート:

      コネクタ・バンドルの更新中にMETA-INF\MANIFEST.MFファイルが変更されていないことを確認します。
  5. 再生成されたコネクタ・バンドルをアップロードする前に、Oracle Identity ManagerのJARの削除ユーティリティを実行して、Oracle Identity Managerデータベース内の既存のJARを削除します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。
    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/DeleteJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/DeleteJars.sh

    ユーティリティの実行時に、Oracle Identity Manager管理者のログイン資格情報、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、削除するJARファイルのタイプおよびJARファイルが削除される場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFバンドル)を指定します。

  6. Oracle Identity Manager JARアップロード・ユーティリティを実行して、再生成したコネクタ・バンドルをOracle Identity Managerデータベースにアップロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。
    • Microsoft Windowsの場合:

      OIM_HOME/server/bin/UploadJars.bat

    • UNIXの場合:

      OIM_HOME/server/bin/UploadJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として4 (ICFバンドル)を指定します。

  7. Oracle Identity Managerを再起動します。
これで、カスタム・パーサーの実装手順が完了しました。

5.3 データの変換および検証の構成

アプリケーションの作成時にGroovyスクリプト・ロジックを作成して、ユーザー・アカウント・データの変換および検証を構成します。

要件に応じてリコンサイルされた単一値ユーザー・データの変換を構成できます。たとえば、First NameおよびLast Name値を使用して、Oracle Identity Governanceの「氏名」フィールドの値を作成できます。

同様に、要件に応じて、リコンサイルおよびプロビジョニングされた単一値データの検証を構成できます。たとえば、「名」属性からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。また、プロセス・フォームの「名」フィールドに入力したデータを検証して、プロビジョニング操作中にターゲット・システムに番号記号(#)が送信されないようにします。

ユーザー・アカウント・データの変換または検証を構成するには、アプリケーションの作成時にGroovyスクリプトを作成する必要があります。Groovyスクリプト・ベースの検証および変換ロジックの作成の詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』プロビジョニングおよびリコンシリエーション属性の検証および変換に関する項を参照してください。

5.4 アクション・スクリプトの構成

アクション・スクリプトを構成するには、アプリケーションの作成時に独自のGroovyスクリプトを作成します。

これらのスクリプトは、アカウントの有効化、無効化または削除のプロビジョニング操作の前または後に実行するように構成できます。たとえば、あるスクリプトを、個々のユーザー作成操作前に実行するように構成できます。

アクション・スクリプトの追加または編集の詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』プロビジョニング構成の更新に関する項を参照してください。

5.5 ターゲット・システムの複数のインストールに対するコネクタの構成

ベース・アプリケーションの構成のコピーを作成して、ターゲット・システムの複数のインストールに対してベース・アプリケーションを構成する必要があります。

次の例でこの要件について説明します。

Example Multinational Inc.のロンドンおよびニューヨークの事業所では、それぞれ独立したスキーマを含め、独自にターゲット・システムがインストールされています。最近、この会社では、Oracle Identity Governanceをインストールしたので、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。

このようなシナリオによって提起される要件を満たすために、アプリケーションをクローニングし、クローニングしたアプリケーションにベース・アプリケーションのすべての構成がコピーされるようにする必要があります。アプリケーションのクローニングの詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』アプリケーションのクローニングに関する項を参照してください。