WebLogic セキュリティ プロバイダの開発
概要とロードマップ
以下の節では、このマニュアルの内容と構成について説明します。
マニュアルの内容
このマニュアルでは、セキュリティ ベンダやアプリケーション開発者向けに、BEA WebLogic Server で使用するセキュリティ プロバイダの新規開発に必要な情報を提供します。
対象読者
このマニュアルは、WebLogic Server 用に独自のセキュリティ プロバイダを記述する独立系ソフトウェア ベンダ (ISV) 向けです。ここでは、このマニュアルをお読みになる ISV の大半はセキュリティの概念をしっかりと理解している高機能アプリケーションの開発者であり、セキュリティの基礎概念については説明を要しないものと想定しています。また、このマニュアルでは、セキュリティ ベンダおよびアプリケーション開発者は BEA WebLogic Server と Java (JMX (Java Management eXtensions) を含む) に精通しているものと想定しています。
このマニュアルの手引き
このマニュアルでは、セキュリティ ベンダやアプリケーション開発者向けに、BEA WebLogic Server で使用するセキュリティ プロバイダの新規開発に必要な情報を提供します。
このマニュアルの構成は次のとおりです。
「WebLogic Server で使用するセキュリティ プロバイダの開発について」では、WebLogic Server で使用するセキュリティ プロバイダの開発について概説します。このマニュアルの前提条件を明記し、開発プロセスの概要を説明します。
「設計上の考慮事項」では、セキュリティ プロバイダの一般的なアーキテクチャと、SSPI の実装および MBean タイプの生成に関する重要な基本情報について説明します。また、任意で利用できる管理ユーティリティの使い方や、セキュリティ プロバイダの WebLogic リソースとの対話方法に関する情報もあります。この章の終わりでは、カスタム セキュリティ プロバイダが必要な情報を保持するデータベースと連携して動作する方法がいくつか提示されます。
「認証プロバイダ」では、認証プロセス (簡単なログイン用) と、カスタム認証プロバイダに関連付けられるセキュリティ サービス プロバイダ インタフェース (security service provider interface : SSPI) の各タイプを実装する手順について説明します。また、JAAS LoginModule についての説明もあります。
「ID アサーション プロバイダ」では、認証プロセス (トークンを使用する境界認証用) と、カスタム ID アサーション プロバイダに関連付けられるセキュリティ サービス プロバイダ インタフェース (SSPI) の各タイプを実装する手順について説明します。
「プリンシパル検証プロバイダ」では、プリンシパル検証プロバイダでサブジェクトに格納されているプリンシパルの信頼性を署名して検証することにより、認証プロバイダの処理を簡略化する方法について説明します。また、カスタム プリンシパル検証プロバイダを開発する手順についても示します。
「認可プロバイダ」では、認可プロセスと、カスタム認可プロバイダに関連付けられるセキュリティ サービス プロバイダ インタフェース (SSPI) の各タイプを実装する手順について説明します。
「裁決プロバイダ」では、裁決プロセスと、カスタム裁決プロバイダに関連付けられるセキュリティ サービス プロバイダ インタフェース (SSPI) の各タイプを実装する手順について説明します。
「ロール マッピング プロバイダ」では、ロール マッピング プロセスと、カスタム ロール マッピング プロバイダに関連付けられるセキュリティ サービス プロバイダ インタフェース (SSPI) の各タイプを実装する手順について説明します。
「監査プロバイダ」では、監査プロセスと、カスタム監査プロバイダに関連付けられるセキュリティ サービス プロバイダ インタフェース (SSPI) の各タイプを実装する手順について説明します。また、他のタイプのセキュリティ プロバイダから監査を行う方法についての説明もあります。
「資格マッピング プロバイダ」では、資格マッピング プロセスと、カスタム資格マッピング プロバイダに関連付けられるセキュリティ サービス プロバイダ インタフェース (SSPI) の各タイプを実装する手順について説明します。
「カスタム セキュリティ プロバイダからのイベントの監査」では、開発するカスタム セキュリティ プロバイダに監査機能を追加する方法について説明します。
「サーブレット認証フィルタ」では、サーブレット認証フィルタ プロセスと、サーブレット認証フィルタに関連付けられるセキュリティ サービス プロバイダ インタフェース (SSPI) の各タイプを実装する手順について説明します。
「バージョン管理可能なアプリケーションのプロバイダ」では、バージョン管理可能なアプリケーションの概念と、カスタムのバージョン管理可能なアプリケーションのプロバイダに関連付けられるセキュリティ サービス プロバイダ インタフェース (SSPI) の各タイプを実装する手順について説明します。
「証明書パス プロバイダ」では、証明書の検索と検証のプロセスと、カスタム証明書パス プロバイダに関連付けられるセキュリティ サービス プロバイダ インタフェース (SSPI) の各タイプを実装する手順について説明します。
「MBean 定義ファイル (MDF) 要素の構文」では、有効な MDF で使用できるすべての要素と属性について説明します。MDF とは MBean タイプの生成に使用する XML ファイルで、これを使用してカスタム セキュリティ プロバイダを管理できます。
関連ドキュメント
BEA の Web サイトでは、WebLogic Server に関するすべてのドキュメントを提供しています。セキュリティ プロバイダに関わるセキュリティ ベンダおよびアプリケーション開発者にとって重要と思われる WebLogic Server マニュアルを以下に示します。
以下の情報も利用できます。
このリリースでの新機能と変更点
このリリースでは、WebLogic Security サービスに以下の機能が追加されています。
バルク アクセス バージョンの認可、裁決、およびロール マッピング プロバイダ
WebLogic Server バージョン 9.2 には、以下に示すバルク アクセス バージョンの認可プロバイダ、裁決プロバイダ、およびロール マッピング プロバイダの SSPI インタフェースが含まれています。
BulkAuthorizationProvider
BulkAccessDecision
BulkAdjudicationProvider
BulkAdjudicator
BulkRoleProvider
BulkRoleMapper
バルク アクセス SSPI インタフェースを使用すると、認可、裁決、およびロール マッピング プロバイダにおいて、1 回の呼び出しで複数の判定リクエストを取得できます。これまでのように、たとえば「for
」ループで複数の呼び出しを実行する必要はありません。バルク SSPI バリアントの目的は、プロバイダ実装において内部的なパフォーマンスの最適化を利用できるようにすることです。たとえば、渡された Resource
オブジェクトの多くが同じポリシーで保護されていることを検出することで、それらの判定結果が同じになると推測することが可能になります。
詳細については、「バルク認可プロバイダ」および「バルク ロール マッピング プロバイダ」を参照してください。
ポリシー コンシューマおよびロール コンシューマの SSPI
WebLogic Server には、JMX (MBean) デフォルト ポリシーおよび WebService アノテーションのポリシー コンシューマと、WebService アノテーションのロール コンシューマが実装されています。このリリースの WebLogic Server に含まれている SSPI を使用すると、認可プロバイダおよびロール マッピング プロバイダでポリシーおよびロールのコレクションを取得できます。
PolicyConsumer
および RoleConsumer
SSPI は省略可能です。ポリシーまたはロールのコレクションを消費するためには、この SSPI を実装する認可プロバイダおよびロール マッピング プロバイダのみが呼び出されます。
SSPI では、初期のポリシー コレクションおよびロール コレクションの配信と、更新後のポリシー コレクションおよびロール コレクションの配信の両方がサポートされます。
認可プロバイダをカスタマイズしてポリシー コレクションの配信をサポートするには、以下の 3 つのインタフェースを実装する必要があります。
weblogic.security.providers.spi.PolicyConsumerFactory
weblogic.security.providers.spi.PolicyConsumer
weblogic.security.providers.spi.PolicyCollectionHandler
カスタム ロール マッピング プロバイダでロール コレクションの配信をサポートするには、以下の 3 つのインタフェースを実装する必要があります。
weblogic.security.providers.spi.RoleConsumerFactory
weblogic.security.providers.spi.RoleConsumer
weblogic.security.providers.spi.RoleCollectionHandler
詳細については、「ポリシー コンシューマ SSPI」および「ロール コンシューマ SSPI」を参照してください。
PolicyStoreMBean
WebLogic Server バージョン 9.2 には、新しい PolicyStoreMBean MBean (weblogic.management.security.authorization.PolicyStoreMBean
) のサポートが追加されています。この MBean は、管理者が生成した XACML ポリシーおよびポリシー セットの標準的な管理操作 (追加、削除、取得、リスト表示、変更、読み込み) に使用します。認可プロバイダ MBean やロール マッピング プロバイダ MBean には、必要に応じてこの MBean インタフェースを実装できます。
セキュリティ管理者は、PolicyStoreMBean のメソッドを使用して、サーバ内のポリシーを XACML ドキュメントとして管理できます。たとえば、デフォルトの XACML プロバイダを使用するドメインを作成および管理したり、作成済みの XACML ドキュメントを管理したりできます。これらの XACML ポリシーは、WebLogic Server では WLST を使用して管理できます。
WebLogic Server にはこの MBean の実装が含まれており、付属の XACML プロバイダで使用できます。また、この MBean の独自の実装を記述して、カスタムの認可プロバイダやロール マッピング プロバイダで使用することも可能です。
詳細については、「PolicyStoreMBean」を参照してください。