Generic RESTコネクタは、Oracle Identity ManagerをRESTベースのターゲット・システムと統合します。
Oracle Identity Managerは、オンプレミスまたはクラウドにあるアプリケーションに対してセルフ・サービス、コンプライアンス、プロビジョニングおよびパスワード管理サービスを提供する集中アイデンティティ管理ソリューションです。Oracle Identity Managerコネクタは、Oracle Identity Managerと外部のアイデンティティ認識アプリケーションの統合に使用されます。
次の各項目で、Generic RESTコネクタの概要を説明します。
Generic RESTコネクタは、OIMをRESTベースのアイデンティティ認識アプリケーションと統合するためのソリューションです。RESTベースのアイデンティティ認識アプリケーションとは、自身のREST APIまたはインタフェースをアイデンティティ管理用に公開する任意のアプリケーションのことです。
ノート:
このマニュアルで使用する次の用語の意味を説明します。RESTベースのアイデンティティ認識アプリケーションを、ターゲット・システムまたはRESTベースのターゲット・システムと呼びます。
RELEASE_NUMBERはコネクタの現在のリリース番号に対するプレースホルダとして使用されています。そのため、RELEASE_NUMBERが出現したらすべてコネクタのリリース番号に置き換えます。たとえば、11.1.1.5.0のようになります。
Generic RESTコネクタは、集中型システムによって企業の顧客へのサービスや資産の提供を効率化し、自動化を使用することでこれらのサービスや資産をシンプルで安全かつコスト効率の高い方法で管理します。Generic RESTコネクタはサービスのプロセスを標準化し、マニュアル・タスクに代わって自動化を実装します。
RESTベースのターゲット・システムと接続するために、Generic RESTコネクタは、HTTP基本認証およびOAuth 2.0認証のメカニズムをサポートします。また、このコネクタでは、ユーザーからの入力としてアクセス・トークンを使用したターゲット・システムへの認証もサポートされます。この認証メカニズムは、ターゲット・システムで、アクセス・トークンの取得にプログラムを使用したアプローチが提供されない場合に有用です。
JWT
クライアント資格証明
リソース所有者のパスワード
このコネクタでサポートされる認証タイプが、ターゲット・システムですべてサポートされない場合は、ターゲット・システムでサポートされるカスタム認証を実装できます。このカスタム実装をコネクタに接続するには、このコネクタによって公開されるプラグインを使用します。
Generic RESTコネクタは、JSON形式でデータを解析するリコンシリエーション操作とプロビジョニング操作を実行して、OIMとRESTベースのターゲット・システム間でデータを同期します。ターゲット・システムでJSON形式でのリクエスト・ペイロードまたはレスポンス・ペイロードがサポートされない場合は、データの解析用に独自の実装を作成できます。このカスタム実装をコネクタに接続するには、このコネクタによって公開されるプラグインを使用します。
Generic RESTコネクタは、検出されたターゲット・システム用のコネクタです。これは、コネクタが統合するRESTベースのターゲット・システムのスキーマを前もって知ることができないためです。Generic RESTコネクタには、アーティファクトは付属していません。かわりに、RESTベースのターゲット・システムのスキーマを検出したり、アーティファクトを生成したりするために役立つデプロイ・ユーティリティのセットが付属しています。
コネクタをインストールおよび使用するために必要なソフトウェア・コンポーネントおよびそのバージョンは次のとおりです。
表1-1 動作保証されているコンポーネント
アイテム | 要件 |
---|---|
Oracle Identity ManagerまたはOracle Identity Governance |
Oracle Identity GovernanceまたはOracle Identity Managerの次のリリースのいずれかを使用できます。
|
ターゲット・システム |
RESTサービスをサポートする任意のターゲット・システム。 |
コネクタ・サーバー |
|
コネクタ・サーバーのJDK |
JDK 1.6以上 |
コネクタは、Oracle Identity Managerによってサポートされる言語に対応しています。リソース・バンドル・エントリは、使用されるターゲット・システムに応じて変化するため、リソース・バンドルはコネクタ・インストール・メディアに含まれません。
コネクタの機能には、完全および増分リコンシリエーション、制限付きリコンシリエーション、カスタム認証、カスタム解析、カスタム・ペイロード、複数エンドポイントURLおよびSSL通信の処理が含まれます。
Generic RESTコネクタにはgroovyファイル(メタデータ・ジェネレータの一部)が含まれます。これを使用すると、コネクタを信頼できるソース・モードまたはターゲット・リソース・モードのいずれかで実行できるようになります。
コネクタを作成したら、完全リコンシリエーションを実行して、ターゲット・システムに存在するすべてのユーザー・データをOracle Identity Managerにインポートします。最初の完全リコンシリエーション実行後に、増分リコンシリエーション用にコネクタを構成できます。増分リコンシリエーションでは、前回のリコンシリエーションの実行後に追加または変更されたレコードのみがOracle Identity Managerにフェッチされます。
ノート:
コネクタでは、ターゲット・システムにオブジェクトの作成または変更のタイムスタンプが格納される属性が含まれている場合に、増分リコンシリエーションをサポートします。完全リコンシリエーションはいつでも実行できます。「完全リコンシリエーションおよび増分リコンシリエーション」を参照してください。
指定されたフィルタ基準に基づいて、ターゲット・システムからレコードをリコンサイルできます。リコンシリエーション実行時に、Oracle Identity Managerにフェッチされるレコードを制限またはフィルタ処理するために、リコンサイルが必要な追加または変更されたターゲット・システム・レコードのサブセットを指定できます。
リコンシリエーション・フィルタをスケジュール済ジョブのFilter Suffix属性の値として設定できます。このフィルタで、リコンサイルする必要のある、新規追加または変更されたターゲット・システム・レコードのサブセットを指定します。
「制限付き(フィルタ)リコンシリエーション」を参照してください。
カスタム認証用の独自の実装作成の詳細は、カスタム認証の実装を参照してください。
Generic RESTコネクタでは、デフォルトで、JSON形式のみのリクエスト・ペイロードおよびレスポンス・ペイロードがサポートされます。ターゲット・システムでJSON形式でのリクエスト・ペイロードまたはレスポンス・ペイロードがサポートされない場合は、このコネクタによって公開されているプラグインを使用して、カスタムの解析ロジックを実装できます。
カスタム解析の詳細は、カスタム解析の実装を参照してください。
Generic RESTコネクタは、標準のJSON形式を順守しないペイロード内の任意の属性に対するカスタム形式の処理をサポートします。
これは、customPayload ITリソース・パラメータの値を指定することで実現します。このパラメータの詳細は、追加の構成パラメータを参照してください。
ターゲット・システムで任意のRESTコールに追加のまたはカスタムのHTTPヘッダーが必要な場合は、これらのHTTPヘッダーをcustomAuthHeadersまたはcustomAuthHeadersのITリソース・パラメータの値として挿入できます。
これらのパラメータの詳細は、追加の構成パラメータを参照してください。
これは、このような属性のエンドポイントURLの詳細を、relURIs ITリソース・パラメータに指定することで実現します。このパラメータの詳細は、追加の構成パラメータを参照してください。
Oracle Identity ManagerとRESTベースのターゲット・システムとの間のデータ通信を保護するためにSSLを構成できます。
セキュアな通信の構成の詳細は、SSLの構成を参照してください。
各アプリケーションに対するポイントツーポイントのコネクタを識別してデプロイするための時間と労力がかかる。
各アプリケーション用のコネクタの管理および保守のためのオーバーヘッドが増える。
ポイントツーポイントのコネクタを、すべてのアプリケーションには設定できない。このようなシナリオでは、カスタム・コネクタの開発が必要になり、このカスタム・コネクタの開発、デプロイおよびテストの時間と手間が増える。
これに代わるアプローチは、Generic RESTコネクタを使用することです。Generic RESTコネクタはすべてのクラウド・アプリケーションをOIMに統合するために使用できます。Generic RESTコネクタが提供する機能を使用すると、クラウド・アプリケーションごとにカスタム・コネクタを構築するための追加リソースや時間を費やすことなく、すべてのクラウド・アプリケーションのアカウントを管理できます。
Generic RESTコネクタは、アイデンティティ管理のために、企業がオンプレミスのOIMデプロイを活用してターゲット・システムと統合するために役立つハイブリッドのアプローチです。これらのターゲット・システムには、SaaSアプリケーション、PaaSアプリケーション、自社製アプリケーションなど、REST APIを公開する任意のアプリケーションが含まれます。
Generic RESTコネクタを使用するいくつかのシナリオ例を次に示します。
ユーザー管理
Generic RESTコネクタは、システムのユーザーを定義し、それらのユーザーをグループに割り当てて、クラウド・サービスにアクセスできる個人を管理します。このコネクタでは、ITによる管理を可能にしながら、Generic RESTクラウド・サービスで新しいユーザーが自己プロビジョニングを行うことを許可します。ユーザーは、OIM管理者が確立したクラウドベースのリソースのカタログに基づいて、リクエストおよびプロビジョニングを行えます。たとえば、ターゲット・システムで新規ユーザーを作成する場合は、OIMのプロセス・フォームに入力して送信し、プロビジョニング操作をトリガーします。コネクタではターゲット・システムに対して作成操作を実行し、この操作の実行が成功するとユーザーが作成されます。同様に、削除や更新といった操作も実行できます。
権限の管理
Generic RESTコネクタは、クラウド・サービス・オブジェクト(ターゲット・システムによって公開されている場合)を権限として管理します。使用するターゲット・システムによっては、このコネクタは、グループ、ロール、ライセンス、フォルダ、コラボレーションなどの権限を管理するために使用できます。たとえば、OIMで事前に定義されたアクセス・ポリシーに基づいて、Generic RESTコネクタを使用してユーザーに自動的にグループを割り当てるまたは取り消すことができます。同様に、Generic RESTコネクタを使用して、クラウド・サービスの特定の機能やグループへの選択的なアクセス権を付与するロール・メンバーシップを管理できます。このため、新しいユーザーに特定のロールが追加されると、それらのユーザーは各アプリケーション内で対応するアクセス権を自動的に得ることになります。
Generic RESTコネクタは、Identity Connector Framework (ICF)を使用して実装されます。
ICFは、すべてのOracle Identity Managerコネクタに共通の基本的なリコンシリエーションおよびプロビジョニング操作を提供するコンポーネントです。さらに、ICFには接続プーリング、バッファリング、タイムアウト、フィルタリングなどの一般的な機能も用意されているため、開発者がこれらの機能を自分で実装する必要はありません。ICFは、Oracle Identity Managerに付属しています。
図1-1に、コネクタのアーキテクチャを示します。
Generic RESTコネクタの主な機能は、REST APIを公開するアプリケーションに接続し、そのアプリケーションとOracle Identity Managerの間でユーザー・アイデンティティ・データを同期することです。
このコネクタは、前もって知ることができないターゲット・システム用のコネクタのため、メタデータは付属していません。ターゲット・システムのスキーマに応じて、コネクタのデプロイ中にコネクタ・アーティファクトが生成されます。コネクタ・アーティファクトが作成されると、Oracle Identity Managerは様々なアダプタやスケジュール済タスクを使用してコネクタ・バンドルを介してターゲット・システムと通信します。
REST共通レイヤーには、ターゲット・システムに対する認証およびデータの解析にコネクタで必要なあらゆるプラグインおよびロジックが含まれます。認可やデータ解析のためのカスタム実装も、プラグインとしてREST共通レイヤーにフックできます。
プロビジョニング時には、アダプタがプロセス・フォームを介した送信されたプロビジョニング・データをターゲット・システムに搬送します。アダプタはコネクタ・バンドルの対応する作成、更新または削除操作との接続を確立し、コネクタ・バンドルがREST共通レイヤーを利用してターゲット・システムとの接続を確立します。アダプタがターゲット・システムとの接続を確立すると、エンドポイントに対してRESTコールが行われ、必要なプロビジョニング操作が実行されます。その後、ターゲット・システムからのレスポンスがアダプタに返されます。
リコンシリエーションの際には、スケジュール・タスクが実行されて、コネクタ・バンドルのSearchOp操作がコールされます。コネクタ・バンドルは、REST共通レイヤーを使用してターゲット・システムとの接続を確立します。その後、コネクタは特定のRESTエンドポイントをコールして、リコンシリエーション基準に一致するすべてのレコードを取得します。この結果が、Oracle Identity Managerに渡されます。
Generic RESTコネクタの生成に使用されるコンポーネントの背景にある基本概念について説明します。
コネクタの生成
Generic RESTコネクタ・インストール・パッケージには、メタデータまたはコネクタ・アーティファクトが付属していません。ターゲット・システム・スキーマに基づいたメタデータの生成に役立つ一連のデプロイメント・ユーティリティのみが付属しています。したがって、ターゲット・システムのスキーマを理解することは、コネクタの生成における重要な側面の1つです。コネクタがターゲット・システムを識別するために、ターゲット・システムの属性について記述したスキーマ・ファイルを作成する必要があります。Generic RESTコネクタ・インストール・パッケージには、ターゲット・システムの情報を指定できるGroovyファイルが含まれます。この情報は、ターゲット・システム・スキーマに基づいてコネクタを生成するためにメタデータ・ジェネレータによって使用されます。
コネクタを生成するには、ターゲットの属性を記述したスキーマ・ファイルを作成し、Groovyファイルを構成してコネクタ・メタデータ・パッケージを生成する必要があります。その後、コネクタ・インストール・パッケージをインストールしてコネクタ・バンドル(org.identityconnectors.genericrest-1.0.1115.jar)をOracle Identity Managerデータベースにアップロードし、ターゲット・システム固有のメタデータが含まれるコネクタ・メタデータ・パッケージをインストールする必要があります。
コネクタの生成およびインストールのアーキテクチャを理解するために重要なことは、まずそのコンポーネントを理解することです。Generic RESTコネクタには、次の主要なコンポーネントが含まれます:
スキーマ・ファイル - ユーザーが作成したプロパティ・ファイル
Groovyファイル - GenericRestConfiguration.groovy
メタデータ・ジェネレータ - GenericRestGenerator.cmdまたはGenericRestGenerator.sh
図1-2に、コネクタ・インストールのアーキテクチャと、コネクタ生成プロセスの全体的なフローを示します。
コネクタ・インストール・パッケージ
コネクタ・インストール・パッケージには、コネクタ・インストーラがこのコネクタをインストールするために必要なすべてのファイルが含まれます。また、コネクタ・インストール・パッケージには、ターゲット・システムの詳細を含めるために更新する必要のあるファイルや、コネクタのメタデータを生成するためのファイルも含まれます。このコネクタのコネクタ・インストール・パッケージは、GenericREST-RELEASE_NUMBER.zipという名前のZIPファイルで、Oracle Technology (OTN)のWebサイトからダウンロードできます。
コネクタ・インストール・パッケージのファイルおよびディレクトリの詳細は、表C-1を参照してください。スキーマ・ファイル
スキーマ・ファイルは、ターゲット・システムに関連するエントリが名前/値ペア形式で含まれている必要があるプロパティ・ファイルです。このファイルは、ターゲット・システムが前もってわからないため、コネクタ・インストール・パッケージでは入手できません。ターゲット・システムの構造を表すスキーマ・ファイルを作成する必要があります。
スキーマ・ファイルでは、コネクタ操作の実行にコネクタで必要となるすべてのターゲット・システム・フィールドおよびその詳細のリストを定義する必要があります。また、リコンシリエーション操作時にフェッチされるレコードの識別に使用する必要があるターゲット・システム・フィールドも定義する必要があります。
Groovyファイル
GroovyファイルGenericRestConfiguration.groovyは、コネクタ・インストール・パッケージのGenericREST-RELEASE_NUMBER/metadata-generator/resourcesディレクトリにあります。GenericRestConfiguration.groovyファイルを使用して、ターゲット・システム・スキーマの基本情報を格納できるプロパティの値を指定します。
メタデータ・ジェネレータは、GenericRestConfiguration.groovyファイルを使用して次のタスクを実行します:
スキーマの理解
コネクタを実行する場合のモード(信頼できるソースまたはターゲット・リソース)の構成
ターゲット・システムに固有のコネクタ・メタデータ・パッケージの生成
Groovyファイルには1つ以上の構成セクションがあります。各セクションはCONFIG_NAME {
で始まります(CONFIG_NAMEは構成の名前です)。信頼できるソース・モードとターゲット・リソース・モードのどちらで実行されるようにコネクタを構成するかによって、Groovyファイルのセクションは信頼できるソース・タイプとターゲット・リソース・タイプのいずれかになります。
コネクタ・インストール・パッケージに同梱されたGenericRestConfiguration.groovyファイルには、ほとんどのエントリに値が事前に移入されたサンプル構成(信頼できるソース用とターゲット・リソース用に1つずつ)が含まれています。要件に応じて、サンプル構成のエントリの値を追加または変更することも、構成用の新しいセクションを作成することもできます。GenericRestConfiguration.groovyファイルのサンプル構成セクションを次に示します:
trusted
信頼できるソース・モードのコネクタを構成する場合、このセクションのエントリの値を指定します。
target
ターゲット・リソース・モードのコネクタを構成する場合、このセクションのエントリの値を指定します。
メタデータ・ジェネレータ
メタデータ・ジェネレータにより、コネクタ・インストール・プロセスで必要なファイルが作成され、プロセス・タスク、スケジュール済タスク、参照定義などのすべてのコネクタ・コンポーネントの定義が格納されます。メタデータ・ジェネレータは、genericrest-RELEASE_NUMBER/metadata-generator/binディレクトリにある実行可能ファイル(GenericRestGenerator.cmdまたはGenericRestGenerator.shファイル)です。
メタデータ・ジェネレータでは、Groovyファイルの指定された構成セクションを入力として使用し、ターゲット・システム固有のコネクタ・コンポーネント・データを含む構成ファイルを作成します。そして、Groovyファイルの構成セクションがスキーマ・ファイルを参照します。
出力コネクタ・メタデータ・パッケージは、メタデータ・ファイルを含むZIPファイルです。コネクタ・メタデータ・パッケージの各ファイルの説明は、表C-2を参照してください。