この章では、SunTM Identity Manager 製品のアーキテクチャーについて説明します。
この章は次のトピックで構成されています。
Identity Manager は、Java 2 Platform, Enterprise Edition (J2EETM プラットフォーム) の Web アプリケーションです。J2EE プラットフォームは、業界標準のサービス、API、およびプロトコルのセットで構成され、Web ベースの多層エンタープライズアプリケーションを開発するための機能を提供します。
Identity Manager のシステムアーキテクチャーは、4 つの論理層に分類されます。
ユーザー層
アプリケーション層
データベース層
管理リソース層
以降の節では、各層について説明します。最初に、アプリケーション層について説明します。
Identity Manager (または Identity Manager サーバー) は、アプリケーションサーバー内の J2EE Web コンテナにインストールされます。Identity Manager サーバーは、JSPTM ファイル、HTML、画像、および JavaTM クラスで構成されます。他の IT システム (「リソース」) とのインタフェースとなるアダプタおよびコネクタも、アプリケーションサーバー上の Identity Manager 内に配置されます。
サポートされるアプリケーションサーバーのリストについては、『Sun Identity Manager 8.1 リリースノート』の「アプリケーションサーバー」を参照してください。
Identity Manager は Web アプリケーションであるため、ユーザーインタフェースはアプリケーションサーバー上に存在し、表示されるページは要求ごとにユーザー層に提供されます。
Identity Manager のインストールに関しては、アプリケーションサーバーへのインストールがもっとも簡単です。グラフィカルなウィザードベースのインストーラが用意されているほか、UNIX® システムではコマンド行インストーラも利用できます。Identity Manager 内でアクションを実行する Java クラスを実行する場合は、アプリケーションサーバーに Java Development Kit (JDKTM) がバンドルまたはインストールされている必要があります。
Identity Manager は、プロビジョニングと状態の情報をすべて Identity Manager の「リポジトリ」に格納します。リポジトリは、Identity Manager のすべての設定データを格納するテーブルで構成されます。Identity Manager は、ここでデータの検索やオブジェクトのロックを実行します。リポジトリには、Identity Manager で実行されたアクションの履歴を記録する監査ログも含まれます。Identity Manager のデータは XML 形式で保存されます。リポジトリは、ローカルファイルまたはリレーショナルデータベースに作成できます。ただし、運用環境ではリレーショナルデータベースが必要です。
サポートされるデータベースサーバーのリストについては、『Sun Identity Manager 8.1 リリースノート』の「リポジトリデータベースサーバー」を参照してください。
各ユーザーについてのアイデンティティー情報が最小限必要な量を超える場合、ユーザーデータは Identity Manager に保持されません。Identity Manager でユーザーを識別および区別するために必要な属性 (たとえば、「名前」や「電子メールアドレス」) だけが、リポジトリに保存されます。
Identity Manager は、直接 JDBC 接続を通してリポジトリに接続できます。また、アプリケーションサーバーで利用可能なデータソース機能を使用することもできます。
Identity Manager Service Provider 機能では、ユーザー情報を格納するための LDAP リポジトリも必要です。詳細は、「Identity Manager Service Provider のシステムアーキテクチャーについて」を参照してください。
管理リソース層は、ユーザーアカウントのプロビジョニングおよびプロビジョニング解除の対象となる、アプリケーションと IT システムで構成されます。Identity Manager Gateway も含まれます。これは、Identity Manager が特定のリソースとのやり取りを行えるようにするヘルパーアプリケーションです。
アダプタとコネクタは、ユーザーアカウントの作成、更新、削除、読み取り、パスワード変更機能の実行など、ユーザー管理機能を提供します。アダプタとコネクタは、リモートシステムからアカウント情報を抽出することもできます。
ほとんどの場合、Identity Manager はユーザーデータをリモートシステムで管理し、自身のデータストアにはこれらのデータを保持しません。
Sun Identity Manager Gateway を使用する必要がある一般的なリソースには、Microsoft Exchange、Windows Active Directory、Novell eDirectory (以前の Netware Directory Services)、Lotus Domino などがあります (すべての製品のリストについては、『Sun Identity Manager 8.1 リリースノート』の「Sun Identity Manager Gateway」を参照してください)。 Gateway は Windows にサービスとしてインストールされ、TCP ポート 9728 を使用して Identity Manager と通信を行います。通信は Identity Manager から開始され、専用の暗号化プロトコルが使用されます。続いて、Gateway がリソースのネイティブプロトコルを使用して管理リソースに接続します。
インストール方法の違いにより、アダプタおよびコネクタには「Identity Manager アダプタおよびコネクタ」と「カスタムアダプタおよびコネクタ」の 2 種類があります。Identity Manager アダプタおよびコネクタは、Identity Manager にプリインストールされています。カスタムアダプタおよびコネクタは、アプリケーションサーバー上の Identity Manager インストールディレクトリ内の指定されたディレクトリにコピーする必要があります。
カスタムアダプタおよびコネクタは、Identity Manager の「Resource Extension Facility (REF)」キットを使用して簡単に作成できます。REF キットには、API と多数のテンプレートアダプタが用意されており、開発プロセスをすぐに始めることができます。簡単なリソース機能は、8 つの Java メソッドを実装するだけで実現できます。
ユーザー層は、ユーザーインタフェースのいずれかを使用して Identity Manager とやり取りを行う、管理者とエンドユーザーで構成されます。製品のメインユーザーインタフェースは、HTTPS 上で Identity Manager と通信を行う Web ブラウザです。ブラウザベースの UI には、「管理者インタフェース」と「エンドユーザーインタフェース」の 2 つがあります。これらは主に HTML で構成されていますが、一部の機能では Java アプレットが使用されています。
図 2–1 では、わかりやすくするために管理者ユーザーインタフェースとエンドユーザーインタフェースのみを示しています。ユーザー層にはその他のユーザーインタフェースも存在します。これらのユーザーインタフェースには、IVR 電話インタフェース、Identity Manager IDE、SPML Web サービスインタフェース、Identity Manager コンソールなどがあります。
この節では、Identity Manager の各コンポーネントの実行に適したサーバーについて、基本的なガイドラインを説明します。また、遅延やネットワークの輻輳によって発生するパフォーマンスの問題を最小化するために、物理的に近付けて設置すべきコンポーネントについての推奨事項も説明しています。
ここでは基本的なガイドラインだけを説明します。高可用性を備えた Identity Manager アーキテクチャーの設計については、第 3 章クラスタ化と高可用性を参照してください。
開発環境では、アプリケーションサーバーとデータベースは同じマシンに配置できます。ただし、テストおよび運用環境では、Identity Manager のインスタンスを専用のサーバーにインストールしてください。リレーショナルデータベースにも専用のサーバーが必要です。
必要な場合は、Identity Manager Gateway を 1 台以上の Windows マシンにインストールします。Gateway は軽量なコンポーネントなので、専用サーバーは必要ありません。Gateway が管理するすべての Windows ドメインは、同じフォレストに所属している必要があります。フォレスト境界を越えるドメインの管理はサポートされていません。複数のフォレストがある場合は、各フォレストに少なくとも 1 つの Gateway をインストールしてください。運用環境では、Gateway の可用性を高くする必要があります。詳細は、「Gateway の高可用性化」を参照してください。
運用環境でネットワークトラフィックがもっとも多く発生するのは、データベースサーバーとアプリケーションサーバーの間です。これらの 2 つの環境は、同一の LAN 上に配置して、ネットワークホップをできるだけ小さくする必要があります。Gateway インスタンスと管理リソースは、Identity Manager と同じネットワーク上に配置する必要はありません。
Service Provider の設定で Identity Manager を外部ユーザーに対して使用する場合は、Web サーバーのセットを DMZ に設定してください。詳細は、「推奨される Service Provider の HA アーキテクチャーについて」を参照してください。
Service Provisioning Markup Language (SPML) と Identity Manager Web サービスを使用すると、Identity Manager のカスタムフロントエンドを実装できます。Identity Manager は、SPML のメッセージと応答を HTTPS プロトコルを使用して送受信します。
SPML と Web サービスの詳細は、『Sun Identity Manager 8.1 Web Services 』を参照してください。
Identity Manager Service Provider 機能を実装する場合は、5 番目の層が必要です。この層は Web 層と呼ばれ、DMZ に設置された 1 つ以上の Web サーバーで構成されます。Web 層にインストールされる Identity Manager のコンポーネントはありません。DMZ の Web サーバーが Web ページの要求に応答して、アプリケーション層の 1 つまたは複数のアプリケーションサーバーをサポートします。Web 層に 1 つ以上の Web サーバーを追加することでスケーラビリティが拡張され、DMZ に Web サーバーを設置することでネットワークのセキュリティーが強化されます。
Service Provider 機能では LDAP リポジトリも必要です。このリポジトリはデータベース層に存在します。LDAP リポジトリは管理リソースにできるため、LDAP サーバーは管理リソース層に存在していると考えることもできます。
Service Provider のみの実装では、LDAP リポジトリに加えて Identity Manager リポジトリの使用も推奨されますが、必須ではありません。Identity Manager リポジトリが配備されていない場合は、特定のレポート機能など、一部の機能を利用できません。