![]() |
Sun ONE Identity Server ポリシーエージェントガイド |
Sun ONE Identity Server ポリシーエージェントは、Sun ONE Identity Server サービスを使って認証と承認をアプリケーションサーバに適用します。そのため、ホストしている J2EE アプリケーションへのクライアントからのアクセスが安全に行われ、配備したアプリケーションの配備記述子に定義されている J2EE セキュリティポリシーを適用することができます。
この章では、アプリケーションサーバ向けの Sun ONE Identity Server ポリシーエージェントの概要と、インストールプログラムに進む前に理解しておく必要のあるいくつかの概念について説明します。
次のトピックがあります。
アプリケーションサーバ向けのポリシーエージェントの動作
アプリケーションサーバ向けの Sun ONE Identity Server ポリシーエージェントは、アプリケーションサーバの操作と、保護されているアプリケーションの動作に影響を与える次の 2 つの主要コンポーネントから構成されます。
- エージェントレルム: エージェントレルムコンポーネントは、アプリケーションサーバが Identity Server のユーザとロールの情報にアクセスする機能を提供します。これはエージェントの中心的機能であり、エージェントが機能するには、正しく設定する必要があります。
- エージェントフィルタ: エージェントフィルタコンポーネントは、ホストしているアプリケーションが Sun ONE Identity Server に基づく認証を適用する機能を提供します。また、ログオンしているユーザに関連するセキュリティ主体の作成にも利用されます。エージェントによって保護されるすべてのアプリケーションでは、エージェントフィルタコンポーネントを使用するように、配備記述子の設定を変更する必要があります。この設定がされていないとアプリケーションはエージェントによって保護されず、エージェントレルムコンポーネントがインストールされたアプリケーションサーバに配備された場合、正常に機能しなかったり、利用できなくなることがあります。
エージェントレルムコンポーネントとエージェントフィルタコンポーネントは Identity Server と併用され、保護されている J2EE アプリケーションにアクセスしようとするクライアントに認証と承認を適用します。
アプリケーションサーバ向けポリシーエージェントの使用
アプリケーションサーバ向けの Sun ONE Identity Server ポリシーエージェントをインストールして、ホストするさまざまな J2EE アプリケーション (各種セキュリティポリシーのセットの実装を必要とする場合もあります) を保護することができます。J2EE のセキュリティインフラストラクチャは、宣言およびプログラムによりセキュリティを提供します。これらのセキュリティは、プラットフォームに依存せず、すべての J2EE 互換アプリケーションサーバによりサポートされます。J2EE プラットフォームの宣言およびプログラムによるセキュリティの使用方法については、http://java.sun.com/j2ee にある J2EE のマニュアルを参照してください。
エージェントは、保護される J2EE アプリケーションと Sun ONE Identity Server 主体用にロールから主体へのマッピング機能を提供します。このため、実行時に J2EE ポリシーが評価される場合、この評価は Sun ONE Identity Server 側の情報に対して実行されます。この機能を利用することで、ホストする J2EE アプリケーションがエージェントによって保護されるように設定し、本来の意味でのセキュリティサービスと、シングルサインオンなどの重要機能を提供することができます。
例
商用アプリケーション
商用アプリケーションでは、クライアントにさまざまなサービスを提供するために、数多くの専用 Enterprise JavaBean が利用されています。たとえば、注文書の作成機能を提供する専用のコンポーネントなどがあげられます。同様に、注文書の承認機能を提供する専用のコンポーネントも考えられます。これらのコンポーネントはアプリケーションが機能するための基本的なビジネスサービスを提供しますが、これらのサービスを適切に利用するためにはセキュリティポリシーが必要です。
配備記述子を使うことで、アプリケーションのベンダまたは開発者は、抽象的なセキュリティロール名を使ってこのようなコンポーネントを保護することができます。たとえば、「Buyer」という名前のロールを使って、注文書の作成機能を提供するコンポーネントを保護できます。また、「Approver」という名前のロールを使って、注文書の承認機能を提供するコンポーネントを保護できます。これらのロールは、セキュリティポリシーの適用というアプリケーションベンダまたは開発者の意図を内包していますが、Identity Server に存在する実際のユーザやロールなど、本来の主体とこれらの抽象的なロール名がマッピングされていない限り機能することはありません。
エージェントは、抽象的なセキュリティロールと実際の主体を実行時に結びつける機能をコンテナに提供します。エージェントをインストールして設定すると、アプリケーションのセキュリティロールを実際の主体にマップできます。たとえば、「Buyer」というロールを「Staff」という Identity Server ロールにマッピングできます。このため、「Arvind」というユーザがアプリケーション側の保護されたリソースにアクセスを試みた場合に、エージェントは、マッピングされた「Staff」というロールに「Arvind」という実際のユーザが含まれている場合にだけこのアクセスを許可します。
イントラネットの従業員ポータル
イントラネットの従業員ポータルでは、給与情報やオンラインの利益管理などのサービスが提供されます。このようなサービスは、一般の従業員には読み取り専用で提供され、管理者には関連するデータを変更するための特別なアクセス権が付与されるかもしれません。たとえば、給与情報を読み取るサービスと、給与情報を変更するサービスの 2 つを提供する専用の Enterprise JavaBean コンポーネントの使用が考えられます。エージェントを使ってこのアプリケーションを保護することで、管理者には給与情報の変更に必要なアクセス権を付与し、一般の従業員には読み取り専用のアクセス権だけを許可することもできます。
コンテンツベースの Web アプリケーション
コンテンツベースの Web アプリケーションでは、ペイパービュー方式のサービスを提供できます。アプリケーションは、匿名ユーザによるアクセスも許可されるパブリックドメインと、このサービスの利用者だけがアクセスを許可されるプライベートドメインに分割されます。エージェントを使うことで、認証、承認されたユーザだけにアプリケーションのプライベートドメインへのアクセスを許可し、すべてのユーザにパブリックドメインへのアクセスを許可することができます。アプリケーションの機能を提供する特定のサーブレットと JSP は、関連するセキュリティロールと実際の Identity Server 主体をマッピングすることで、エージェントによって保護されます。
サポートされるサーバ
Sun ONE Identity Server のポリシーエージェントは、次のアプリケーションサーバをサポートしています。
- Solaris 8、Windows 2000 Server、HP-UX 11 の各オペレーティングシステムで稼働する WebLogic 6.1 SP2