Oracle Identity Managerのアーキテクチャには、アイデンティティおよびアクセス管理アーキテクチャの一部としてプロビジョニング・ソリューションをデプロイするための様々な優れた技術上の利点があります。
この章の内容は次のとおりです。
Oracle Identity Managerのアーキテクチャは柔軟でスケーラブルであり、次の特長があります。
Oracle Identity Managerは柔軟なデプロイメント・マネージャ・ユーティリティを備え、複数の環境間での統合および構成情報の移行を支援します。このユーティリティは、統合および構成情報をXMLファイルとしてエクスポートします。これらのファイルは、その後、宛先の環境(ステージング環境や本番環境)にインポートされます。XMLファイルは、構成のアーカイブやバージョン管理、統合のレプリケートに使用できます。
デプロイメント・マネージャにより、インポートおよびエクスポートの対象を柔軟に選択することができます。また、インポートとエクスポートのどちらの手順でも、データ・オブジェクトの依存関係を簡単に確認できます。このような柔軟性により、複数のユーザーによって行われた統合作業のマージが可能になり、移行の整合性が保証されます。
Oracle Identity Managerは、単一のサーバー・インスタンスにも複数のサーバー・インスタンスにもデプロイできます。複数のサーバー・インスタンスは、柔軟性、パフォーマンス、制御の向上のために最適な構成オプションを提供し、地理的に分散したユーザーおよびリソースをサポートします。また、Java 2 Enterprise Edition(J2EE)アプリケーション・サーバー・モデルのOracle Identity Managerには、スケーラビリティ、フォルト・トレランス、冗長性、フェイルオーバーおよびシステム・ロード・バランシングも備わっています。デプロイが拡張するにつれて、単一サーバーから複数サーバーの実装への移行がシームレスに行われます。
コストを下げ、できるかぎり簡素化し、既存の投資を活用するために、Oracle Identity Managerはオープン・アーキテクチャ上に構築されています。そのため、企業のITインフラストラクチャにすでに実装されている既存のソフトウェアおよびミドルウェアにOracle Identity Managerを統合して活用できます。たとえば、既存の顧客ポータルとの統合が必要な実装の場合は、Oracle Identity Managerの高度なAPIにより、包括的なシステム機能セットへのプログラムによるアクセスが可能になります。そのため、IT担当者は、Oracle Identity Managerのプロビジョニング実装のどの部分でも企業固有のニーズに合せてカスタマイズできます。
Oracle Identity Managerを使用すると、ユーザーの組織階層やユーザー・グループを無制限に定義できます。継承、カスタマイズ可能なユーザーIDポリシー管理、パスワード・ポリシー管理および顧客の変化するビジネス・ニーズを反映するユーザー・アクセス・ポリシーがサポートされます。また、アプリケーション・パラメータおよび権限を管理し、リソース割当ての履歴を表示できます。さらに、ユーザー管理に関する包括的な権限設定ができる委任管理も可能です。
Oracle Identity Managerには、カスタマイズ可能なWebベースのユーザー・セルフサービス・ポータルがあります。このポータルは、ユーザー管理を包括的に支援します。
Oracle Identity Managerは、様々な変更が頻繁に生じる企業にとって不可欠な、変更管理のプロセスをシンプル化します。Oracle Identity Managerは抽象化機能をサポートしており、これにより、実行ロジックがその適用先インスタンスから切り離されます。たとえば、あるタスクを実行するためのロジックを定義した場合、抽象化レイヤーでは、ロジックと、そのタスクの実際の実行が連結されません。
抽象化レイヤーがあることにより、現時点で適用されているロジックや定義に影響を与えることなく、実行ロジックに変更を加え、改良することができます。これは、プロビジョニングのアプローチが反復型になることも意味するため、既存の要件に合ったプロビジョニング・システムを実装した後、ビジネス・ニーズの変化に合せてシステムを改良していくことが可能となります。ユーザー・ニーズやビジネス・ポリシーが変わってきたら、古い実行ロジックをプロビジョニング・インスタンスから切り離し、新しい実行ロジックに置き換えることができます。これにより、企業のプロセスとシステムが継続的に進化していくことを考慮した、最もコスト効率の高い変更管理メカニズムを実現しています。
アイデンティティ管理は、あらゆる監査およびコンプライアンス・ソリューションの重要な部分です。したがって、監査およびコンプライアンス機能は、コア・アイデンティティ管理アーキテクチャに統合する必要があります。アイデンティティ・プロビジョニング・プラットフォーム用のアドオン・ユーティリティや別の製品の使用はお薦めしません。Oracle Identity Managerは、アイデンティティ・プロビジョニング、アイデンティティ監査およびコンプライアンスのための完全統合プラットフォームです。統合アプリケーションとは、リソースが管理下に置かれると、その結合をプロビジョニングとコンプライアンスの両方に利用できるため、統合コストの重複を避けることができるということを意味します。
監査およびコンプライアンス機能は、レポート作成に制限する必要はありません。これらの機能を使用すると、製品を統合するために追加作業をすることなく、監査およびコンプライアンス処理の一環として修正措置を実行できるようになります。たとえば、Oracle Identity Managerのアテステーション機能の使用時に、レビューアの却下アクションからワークフローを直接トリガーし、通知を送信するか、ユーザーをデプロビジョンすることができます。統合プラットフォームでは、アイデンティティ・データおよびトランザクション・データに簡単にアクセスできるため、企業ではレポート作成の長いタイムラグなしに、監査を制御できるようになります。
Oracle Identity Managerには、主要な業界標準が取り入れられています。たとえば、Oracle Identity Managerコンポーネントは、J2EEアーキテクチャに完全に基づいているため、顧客は標準のアプリケーション・サーバー環境内からそれらを実行できます。完全なJ2EEサポートにより、パフォーマンスやスケーラビリティの利点を得ると同時に、既存の顧客の環境に合せて内部の専門知識を利用できます。
オラクル社では、現行の標準と新しい標準を基盤としてアイデンティティ管理製品を開発しています。たとえば、オラクル社はLiberty Allianceの管理委員会メンバーであり、Liberty Allianceの成果をソリューションに取り入れています。また、Organization for the Advancement of Structured Information Standards(OASIS)の主催で運営されているProvisioning Services Technical Committee(PSTC)に参加しています。
Oracle Identity Managerは、n層J2EEアプリケーション・アーキテクチャに基づいています。Oracle Identity Managerのアーキテクチャは、次の層で構成されています。
図4-1に、Oracle Identity Managerのアーキテクチャを示します。
プレゼンテーション層は、Oracle Identity Manager管理およびユーザー・コンソールとOracle Identity Manager Design Consoleの2つのクライアントで構成されています。
管理およびユーザー・コンソールは、Webベースのシン・クライアントで、任意のWebブラウザからアクセスできます。このコンソールは、ほとんどのプロビジョニング要件を満たすユーザー・セルフサービス機能および委任管理機能を提供します。
Design Consoleは、Form Designer、Workflow Designer、アダプタ・ファクトリなどのOracle Identity Managerの一連のシステム構成および開発機能を提供します。Design Consoleには、デスクトップJavaクライアントを使用してアクセスできます。
管理およびユーザー・コンソールとDesign Consoleはいずれも非常に動的であるため、動的プレゼンテーション・ロジック層が、これらのインタフェースに表示されるコンテンツを管理します。管理およびユーザー・コンソールの場合、プレゼンテーション層とプレゼンテーション・ロジック層は明確に区別されます。Design Consoleでは、このような区別はありません。
第2層は、Java Data Objectsにあるビジネス・ロジックを実装します。これらのオブジェクトは、サポートされているJ2EEアプリケーション・サーバー(JBoss Application Server、BEA WebLogic Server、IBM WebSphere Application ServerおよびOracle Application Server)によって管理されます。Java Data ObjectsはOracle Identity Managerアプリケーションのビジネス・ロジックを実装しますが、外部のメソッドに公開されることはありません。Oracle Identity Managerのビジネス機能にアクセスするには、J2EEインフラストラクチャのAPIレイヤー(参照および通信のメカニズムを提供)を使用できます。
ビジネス・ロジック層は、Enterprise JavaBeans(EJB)アプリケーションとして実装されます。Oracle Identity Managerは、主要なJ2EE準拠のアプリケーション・サーバー・プラットフォームで稼働し、これらのアプリケーション・サーバーによって提供されるJ2EEサービスを利用して高パフォーマンスでフォルト・トレラントな企業アプリケーションを提供します。ビジネス・ロジック層の構成要素は次のとおりです。
アプリケーション・サーバー
Oracle Identity Managerが稼働するアプリケーション・サーバーでは、Oracle Identity Managerを構成する論理コンポーネントに対してライフ・サイクル管理、セキュリティ、デプロイおよび実行時サービスが提供されます。これらには次のサービスが含まれます。
リソースのスケーラブルな管理
トランザクション管理
セキュリティ管理
クライアント・アクセス
テクノロジ・リソース
クライアント・インタフェースおよびビジネス・ロジックの実装
Oracle Identity Managerプラットフォームのコア機能は、高度なモジュール形式のオブジェクト指向の手法を使用してJavaで実装されます。これには、Oracle Identity Managerプラットフォームを構成する様々なエンジン(ワークフロー・エンジン、リクエスト・エンジン、ユーザー管理エンジン、ルール・エンジン、リコンシリエーション・エンジン、監査エンジン、アテステーション・エンジン、レポート作成エンジン)が含まれます。また、アダプタのメタデータ定義に基づいて統合コードを動的に生成するアダプタ・ファクトリに基づいた統合層も含まれます。アダプタとは、Oracle Identity ManagerがITリソースのApplication Program Interface(API)と接続し、そのリソースと通信できるようにするために作成および管理できるコードです。
プラットフォームの機能には、一連のEJBを使用してアクセスできます。これらのセッションBeanは、次の2種類に分類されます。
APIレイヤーは、Oracle Identity Managerの高レベルの機能へのアクセスを可能にします。このレイヤーは、Oracle Identity Manager管理およびユーザー・コンソールに実装されている機能の基礎です。また、カスタム・クライアントがOracle Identity Managerの機能にアクセスするために使用できるインタフェースでもあります。
J2EEには、Java Database Connectivity(JDBC)、Java Trasaction API(JTA)およびJava Transaction Service(JTS)に基づいたデータベースなど、トランザクション・リソースの操作および対話のためのテクノロジがいくつか含まれています。Oracle Identity Managerのアーキテクチャでは、次のJ2EEサービスを利用します。
データベース接続プーリング
Java Naming and Directory Interface(JNDI)との統合によるJNDIネームスペースでのデータソースの検索
XA準拠
システム管理者は、企業内のすべての標準J2EEアプリケーションを管理するのと同じ方法でデータソースを管理できます。Oracle Identity Managerでは、これらのデータソースを使用してデータベース層と通信できます。
バックエンド・システム統合層は、Oracle Identity ManagerデータベースとRemote Managerに分かれています。
データベース
データベース層は、Oracle Identity Managerリポジトリで構成されています。このリポジトリは、ANSI SQL 92準拠のリレーショナル・データベースでOracle Identity Managerメタデータを管理および格納します。データはすべてOracle Identity Managerリポジトリに格納されます。
Remote Manager
Remote Managerは、ターゲット・システムのコンピュータ上で稼働するOracle Identity Managerサーバー・コンポーネントです。このコンポーネントは、ネットワーク認識APIやセキュリティ機能のないアプリケーションを統合するために必要な、ネットワークおよびセキュリティ・レイヤーを提供します。Remote Managerは軽量のRemote Method Invocation(RMI)サーバーとして設計されています。通信プロトコルは、Hypertext Transfer Protocol/Secure(HTTP/S)をトンネリングするRMIです。
J2EE RMIフレームワークを使用すると、事実上透過的な、分散型のサービスとアプリケーションを作成できます。RMIベースのアプリケーションを構成するJavaオブジェクトは、それらが置かれている場所に関係なく、相互にメソッド・コールをやり取りします。そのため、各Javaオブジェクトは、同じ仮想コンピュータ上にあるJavaオブジェクトのメソッドをコールするのと同じように、別の仮想コンピュータ上にある別のJavaオブジェクトのメソッドをコールすることができます。
Oracle Identity Managerは、オープンでスケーラブルな企業規模のモジュール型アーキテクチャに基づいて構築されています。各モジュールは、システムの全体の機能において重要な役割を果します。図4-2に、Oracle Identity Managerのシステム・コンポーネントを示します。
Oracle Identity Managerのユーザー・インタフェースは、プロビジョニング環境を定義および管理します。Oracle Identity Managerには、次の2つのユーザー・インタフェースがあり、管理者とユーザーの両方の要件を満しています。
開発者およびシステム管理者のための強力なJavaベースのDesign Console
アイデンティティ管理者およびエンド・ユーザーのためのWebベースの管理コンソール
プロビジョニング・マネージャ
プロビジョニング・マネージャでは、プロビジョニング・トランザクションの収集および変更を行います。プロビジョニング・マネージャは、「誰が」、「何を」プロビジョンするかを管理します。ユーザー・プロファイル、アクセス・ポリシーおよびリソースは、ビジネス・プロセス・ワークフローやビジネス・ルールと同様に、プロビジョニング・マネージャを使用して定義します。
プロビジョニング・サーバー
プロビジョニング・サーバーは、Oracle Identity Managerのランタイム・エンジンです。プロビジョニング・サーバーは、Design Consoleで定義された内容と、プロビジョニング・マネージャ内で管理されている情報に従って、プロビジョニング・プロセスのトランザクションを実行します。
アダプタ・ファクトリ
アダプタ・ファクトリは、Oracle Identity Managerと管理システムおよびアプリケーションの間の統合を構築および管理します。アダプタ・ファクトリは、これらのシステムとの統合をハードコーディングする必要がないように設計されています。
アダプタ・ファクトリの詳細は、「統合ソリューション」を参照してください。
リコンシリエーション・エンジン
リコンシリエーション・エンジンは、Oracle Identity Managerのプロビジョニング環境と企業内のOracle Identity Managerの管理リソースの間の整合性を保証します。また、Oracle Identity Managerの外で作成された不正アカウントを検出します。さらに、プロビジョニング・システムの内外にあるビジネス・ルールを同期化して整合性を確保します。