この章では、Identity Manager で新しくサポートされた、アイデンティティーコネクタ機能について説明します。コネクタは、リソースアダプタに代わって、ネイティブリソースのアイデンティティーとその他のオブジェクトタイプをマッピングします。この章では、コネクタに関する次のトピックを紹介します。
アイデンティティーコネクタの開発と実装に関する最新情報については、https://identityconnectors.dev.java.net を参照してください。
アイデンティティーコネクタは、リソースアダプタに似たコンポーネントで、Identity Manager とネイティブリソース (データベース、LDAP、ERP システムなど) との間のリンクを提供します。
アイデンティティーコネクタは、次の点でリソースアダプタよりも利点があります。
配備と開発が簡単になります。コネクタと Identity Manager の間には、リソースアダプタの場合ほど強い結び付きはありません。Java コネクタのバンドルを Web アプリケーション内の適切なディレクトリに配置するか、.NET バンドルをリモート .NET ディレクトリ内の適切なディレクトリに配置することで、管理可能なネイティブリソースのタイプをオンデマンドで拡張できます。Identity Manager は、新しく配備されたコネクタを自動的に検出します。
コネクタのリリースサイクルは、Identity Manager のリリースサイクルに依存しません。コネクタのリリースと Identity Manager のリリースを同一にする必要がありません。現在使用している Identity Manager のバージョンに依存することなく、コネクタを配備に追加したり更新することができます。
Identity Manager は、各コネクタを専用のクラスローダーで読み込みます。これにより、単一の Identity Manager サーバーでの、複数バージョンのネイティブ API の使用のサポートが強化されます。
コネクタ (Java または .NET) の開発に、複雑でない独立したアイデンティティーコネクタ SPI を使用します。Identity Manager API を理解または使用する必要はありません。
最終的には、リソースアダプタはコネクタに置き換えられます。ただし、このリリースでは、Identity Manager はこれまでのすべてのリソースアダプタをサポートします。厳密に移行を行う必要はありませんが、同等のコネクタを利用できる場合は移行することをお勧めします。
既存のリソースアダプタを置き換えることができる、新しいコネクタタイプを使用できる場合は、コネクタに切り替えられるように移行パスが用意されています。
一般的に、カスタマイズしたフォームやワークフローの数が多く複雑であるほど、変換プロセスは複雑になります。アダプタベースのリソースをコネクタベースのリソースに移行する準備を行うには、次の作業を実行します。
移行対象リソースに関連する既存のフォームおよびワークフローをすべて評価して、searchFilter が文字列に設定されているインスタンスを探します。
これらを connectorFilter で置換します。connectorFilter エントリの値は、<invoke> により FilterBuilder クラスを使用して、フィルタのインスタンスとなります。
本稼働環境では、この移行を実行しないでください。移行では既存のリソースがインプレースアップグレードされ、既存のリソースは、これまでのリソースアダプタの代わりにコネクタを使用するように変更されます。リソースに対する以前のユーザーアカウントの割り当ては、すべて移行後も維持されます。移行では下位互換性が維持されるように十分に注意していますが、本稼働環境に進む前に、変換したリソースをテストすることを推奨します。
新しいコネクタをインストールします (まだインストールされていない場合)。
コネクタに用意されている Identity Manager に固有のインストール手順に従います。また、必要な Exchange ファイルもインポートします。
コネクタに用意されている移行手順の説明に従います。一般的には、「Server Tasks」、「Run Tasks」の順に選択して、宣言された移行サーバータスクを実行します。
ここでは、配備で使用可能なコネクタを一覧表示する方法、コネクタコードをダウンロードする方法、コネクタのインストール方法、およびコネクタサーバーを登録する方法を説明します。次のトピックを説明します。
このリリースでは、Identity Manager に Active Directory および SPML2 リソース用のコネクタが用意されています。これらのコネクタの詳細は、第 57 章Active Directory コネクタおよび第 58 章SPML コネクタを参照してください。
Identity Manager 管理インタフェースに、Resource Administrator 機能を持つ管理者としてログインします。
「リソース」、「Resource Type Actions」、「管理するリソースの設定」の順に選択します。「Resource Connectors」領域に、Identity Manager で現在認識されているすべてのコネクタが表示されます。
&Product_IDMgr がサポートするアイデンティティーコネクタは、https://identityconnectors.dev.java.net から追加ダウンロードできます。
Identity Manager がサポートする Java コネクタは、1 つの JAR ファイルと 1 つの ZIP ファイルとして配布されます。ダウンロードするには、次の操作が必要です。
JAR ファイルのバイナリを、Identity Manager Web アプリケーションの WEB-INF/bundles ディレクトリにコピーします。
ZIP ファイルを Identity Manager Web アプリケーションに展開します。
詳細は、「Java コネクタをインストールする」を参照してください。
Identity Manager がサポートする .NET コネクタは、2 つの ZIP ファイルとして配布されます。次の操作が必要です。
1 つの ZIP ファイルを、リモート .NET コネクタサーバーにインストールします。
別の ZIP ファイルを Identity Manager Web アプリケーションに展開します。
詳細は、「.NET コネクタのインストール」を参照してください。
Java コネクタは、1 つの JAR ファイルと 1 つの ZIP ファイルとして配信されます。
Identity Manager Web アプリケーションを停止します。
コネクタの JAR ファイルを、Identity Manager Web アプリケーションの WEB-INF/bundles ディレクトリにコピーします。
コネクタの ZIP ファイルを、Identity Manager Web アプリケーションのディレクトリに展開します。
Identity Manager Web アプリケーションを起動し、コネクタに固有のインストール手順に従います。
これで、新しくインストールした Java コネクタが Identity Manager に認識されます。Identity Manager 管理者インタフェースに、Resource Administrator 機能を持つ管理者としてログインします。「リソース」、「Resource Type Actions」、「管理するリソースの設定」の順に選択し、新しい Java コネクタが一覧に表示されていることを確認します (LOCAL コネクタサーバーが関連付けらていれます)。
(省略可能) 新しいコネクタを使用する前に、1 つ以上の Exchange ファイルのインポートが必要となる場合があります。
.NET コネクタを正常にインストールするには、次の手順が必要です。
.NET の ZIP ファイルをインストールする前に、.NET コネクタサーバーをインストールして登録する必要があります。コネクタサーバーは 1 つまたは複数の .NET バンドルを管理し、Identity Manager と .NET バンドル間に送信される要求を処理します。.NET コネクタサーバーは、Identity Manager ゲートウェイに似ています。詳細は、次を参照してください。
.NET コネクタバンドルは、2 つの ZIP ファイルとして配信されます。
.NET コネクタの実行可能 ZIP ファイルをインストールする前に、.NET コネクタサーバーをインストールする必要があります。
.NET コネクタの実行可能 ZIP ファイルをインストールするには、次の手順に従います。
コネクタサーバーがすでにインストールされて実行中の場合は、Connector Server サービスを停止します。
ZIP ファイルをコネクタサーバーのインストールディレクトリに展開します。
Connector Server サービスを起動します。コネクタサーバーが Identity Manager でまだ宣言されていない場合は、「コネクタサーバーを登録する」を参照してください。
Identity Manager Web アプリケーションを停止します。
コネクタの ZIP ファイルを、Identity Manager Web アプリケーションのディレクトリに展開し、Identity Manager を再起動します。
コネクタに固有のインストール手順に従います。
(省略可能) 新しいコネクタを使用する前に、1 つ以上の Exchange ファイルのインポートが必要となる場合があります。
この手順のあと、新しい .NET コネクタが Identity Manager に認識されるようになります。これを確認するには、Identity Manager 管理者インタフェースに、Resource Administrator 機能を持つ管理者としてログインします。「リソース」、「Resource Type Actions」、「管理するリソースの設定」の順に選択して、表に .NET コネクタが適切なコネクタサーバーとともに表示されることを確認します。
Identity Manager から .NET コネクタを使用する場合は、.NET コネクタサーバーをインストールして実行します。コネクタサーバーは 1 つまたは複数の .NET バンドルを管理し、Identity Manager と .NET バンドル間に送信される要求を処理します。.NET コネクタサーバーは、Identity Manager ゲートウェイに似ています。ただし、.NET コネクタサーバーは (コネクタを追加して) 簡単に拡張可能であり、コードが .NET で記述されている点が異なります。
コネクタサーバーを実行するマシンの最小の要件は、次のとおりです。
Windows Server 2003 または 2008
.NET 3.5 以降
コネクタサーバーを Windows ホストにインストールするには、https://identityconnectors.dev.java.net にある、コネクタサーバーのインストールに関する注意事項を参照してください。あとで使用するために、コネクタサーバーのインストールに関する次の情報を記録する必要があります。
ホスト名または IP アドレス
コネクタサーバーのポート
コネクタサーバーのキー
SSL が有効かどうか
新しくインストールしたコネクタサーバーを Identity Manager で宣言する方法については、「コネクタサーバーを登録する」を参照してください。
各 .NET コネクタサーバーと通信するために必要な接続情報を、Identity Manager 内で宣言する必要があります。この接続情報が正しく宣言されていないと、Identity Manager は .NET コネクタサーバー内に配備された .NET コネクタにアクセスできません。
Identity Manager に、Resource Administrator 機能を持つ管理者としてログオンします。
「設定」、「Connector Servers」の順に選択します。
「Connector Servers Definition」ページで、「新規」をクリックします。
「New Connector Server」で、必要なフィールドに入力します。各フィールドについては、オンラインヘルプを参照してください。
「保存」をクリックします。Identity Manager がリモートコネクタサーバーと正常に通信できる場合は、新しいコネクタサーバー定義の「ステータス」列に「使用可能」と表示されます。
ここでは、Identity Manager 配備でのコネクタに関する次の管理タスクを説明します。
リソースを作成するときに、Identity Manager は選択したコネクタサーバーに関する情報をリソースオブジェクトに書き込みます。既存のリソースのコネクタサーバーを変更したり、コネクタのバージョンを変更することができます。
「リソース」ページで、編集するリソースを選択します。
「リソースアクション」、「Change Connector Parameters」メニューオプションの順に選択します。選択できるのは、使用可能なコネクタのバージョンが少なくとも 1 つあるコネクタサーバーのみです。選択したコネクタサーバーで提供されるバージョンのみが表示されます。
コネクタベースのリソースを編集または作成するときに、Identity Manager は操作タイムアウトのフィールドセットを表示します。デフォルトでは、Identity Manager は操作タイムアウトの値を -1 に設定します。これは、タイムアウトが発生しないことを表します。このフィールドを 0 以外の値に設定すると、指定したタイムアウト間隔内にコネクタが操作を完了しないときに、操作がエラーによりタイムアウトします。Identity Manager は、タイムアウトの値を、<OperationTimeouts> タグ以下の Resource XML オブジェクトに格納します。値が -1 のタイムアウトは XML に格納されません。
コネクタベースのリソースを編集するときに、リソースウィザードの最後のページに「Connector Pooling」の設定フィールドが表示されます。このページでは、次の属性に値を設定できます。
maxObjects
maxIdle
minIdle
evictTimeout
maxWait
コネクタベースのリソースは、前アクションおよび後アクションとして使用するリソースアクションの定義に関して、アダプタベースのリソースと同じ規則に従います。Identity Manager は、作成、更新、削除、無効化、および有効化の操作を含む、前アクションと後アクションの使用をサポートします。
配備からコネクタを削除するには、コネクタに対応する .jar または DLL ファイルを削除します。コネクタを削除すると、Identity Manager はコネクタにアクセスできなくなります。Identity Manager リソースが実装で参照しているコネクタを配備から削除した場合、Identity Manager 内でそのリソースを使用すると、実行時エラーが発生します。この問題を避けるには、配備からコネクタを削除する前に Connectors-In-Use レポートを実行します。
Identity Manager では、コネクタのパフォーマンスに関して次のタイプのトレースが用意されています。
ローカル Java コネクタのトレースは、クラスレベルのみに制限されています。これは、ほかのクラスでサポートされているメソッドレベルのトレースとは異なります。Identity Manager は、リモートコネクタのトレースを管理する機能をサポートしていません。
このレベルのトレースを使用すると、問題が Identity Manager 内にあるのか、またはコネクタ自身にあるのかを判断できます。このトレース方法は、リモートコネクタおよびローカルコネクタの両方で動作します。コネクタで API レベルのトレースを有効にするには、org.identityconnectors.framework.impl.api.LoggingProxy クラスでレベル 4 の Identity Manager トレースを有効にします。このタイプのトレースは、すべてのコネクタ API のメソッド呼び出しについて、引数と戻り値に注目します。
このレベルのトレースを使用すると、コネクタ内の問題をトラブルシューティングできます。このトレース方法は、ローカルの Java コネクタのみで動作します。このトレースを実装するには、コネクタ Java クラス (たとえば、org.identityconnectors.datebasetable.DatabaseTableConnector) で Identity Manager トレースを有効にします。コネクタコードによるすべてのログの呼び出しを、Identity Manager トレースファイルに出力します。
このトレースを実装するには、コネクタ Java クラス (たとえば、org.identityconnectorsframework.*) で Identity Manager トレースを有効にします。このトレース方法は、フレームワーク実装クラスによるすべての内部的なログ呼び出しで動作します。
.NET コネクタは、標準の .NET トレース API を呼び出します。Identity Manager で集中管理されたトレースは行われません。Identity Manager では、.NET トレースファイルを表示できません。ローカルコネクタサーバーの設定ファイルを編集して、.NET トレースを設定する必要があります。
コネクタベースのリソースは、リソースアダプタベースのリソースと同じ標準の JMX 監視をサポートします。
標準 ActiveSync JMX
標準 (新規) リソース JMX
標準 Identity Manager トレースのデバッグページを使用して、ローカル Java コネクタのトレースを有効にできます。コネクタのログの呼び出しは、すべての Identity Manager トレースと同じトレースファイルに書き込まれます。
リモートコネクタのログは管理できません。リモートコネクタホストを実行しているマシンで、Windows のネイティブツールを使用して、リモートコネクタのログをローカルに設定する必要があります。
コネクタベースのリソースは、Identity Manager のほかの部分からは一般的なリソースと認識されるため、すでにリソースおよびリソースアダプタに用意されている JMX ツール (Active Sync JMX を含む) を使用して、コネクタベースのリソースの使用状況とパフォーマンスを監視できます。
コネクタフレームワーク API は、ローカル Java コネクタが使用する接続プールを維持します。現在のところ、この情報を表示または管理することはできません。リモートコネクタ用のコネクタ API でも、このためのツールは提供されていません。