ナビゲーションをスキップ

WebLogic セキュリティ プロバイダの開発

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

WebLogic Server で使用するセキュリティ プロバイダの開発について

以下の節では、セキュリティ プロバイダの開発についての概要を示します。

 


対象読者

この『WebLogic セキュリティ プロバイダの開発』マニュアルは、WebLogic Server 用のセキュリティ プロバイダを独自に作成しようとお考えの独立系ソフトウェア ベンダ (ISV) を対象としています。ここでは、このマニュアルをお読みになる ISV の大半はセキュリティの概念をしっかりと理解している高機能アプリケーションの開発者であり、セキュリティの基礎概念については説明を要しないものと想定しています。また、このマニュアルでは、セキュリティ ベンダおよびアプリケーション開発者は BEA WebLogic Server と Java (JMX (Java Management eXtensions) を含む) に精通しているものと想定しています。

 


前提条件

このガイドを読む前に、『WebLogic Security について』の以下の節に目を通しておいてください。

WebLogic Server のセキュリティには、この他に理解しておく必要のある固有の用語や概念が多数あります。WebLogic Server のセキュリティ関連マニュアルに登場するこうした用語と概念については、『WebLogic Security について』の「用語」および「セキュリティの基礎概念」で定義されています。

 


開発プロセスの概要

この節では、新しいセキュリティ プロバイダを開発するプロセスの概要を説明します。各手順の詳細については、このマニュアルの中で後述します。

カスタム セキュリティ プロバイダの主な開発手順は以下のとおりです。

カスタム セキュリティ プロバイダの設計

設計プロセスには、次の手順があります。

  1. WebLogic セキュリティ プロバイダの説明を検討して、カスタム セキュリティ プロバイダを作成する必要があるかどうか判断します。
  2. WebLogic セキュリティ プロバイダの説明は、『WebLogic Security について』の「WebLogic セキュリティ プロバイダ」とこのマニュアルの「カスタム <Provider_Type> プロバイダを開発する必要があるか」という節にあります。

  3. 作成するカスタム セキュリティ プロバイダのタイプを決めます。
  4. 『WebLogic Security について』の「セキュリティ プロバイダのタイプ」で説明されているように、タイプは認証、ID アサーション、プリンシパル検証、認可、裁決、ロール マッピング、監査、資格マッピング、バージョン管理可能なアプリケーション、証明書パスのいずれかです。カスタム セキュリティ プロバイダは、WebLogic Server にあらかじめ用意されている WebLogic セキュリティ プロバイダの補強または代わりとして使用できます。

  5. カスタム セキュリティ プロバイダ用の実行時クラスを作成するために実装するセキュリティ サービス プロバイダ インタフェース (SSPI) を、作成するセキュリティ プロバイダのタイプに基づいて特定します。
  6. さまざまなセキュリティ プロバイダ タイプの SSPI の説明については、「セキュリティ サービス プロバイダ インタフェース (SSPI)」を参照してください。要約は、「SSPI クイック リファレンス」で参照できます。

  7. SSPI を 1 つまたは 2 つのどちらの実行時クラスで実装するかを決めます。
  8. それらのオプションの詳細については、「SSPI 階層を理解し、実行時クラスを 1 つ作成するのか 2 つ作成するのかを決定する」を参照してください。

  9. カスタム セキュリティ プロバイダを管理する MBean タイプを生成するために拡張する必要のある必須 SSPI MBean を特定します。ユーザ、グループ、セキュリティ ロール、およびセキュリティ ポリシーの処理など、カスタム セキュリティ プロバイダを管理する追加機能を提供するには、実装する任意 SSPI MBean を特定することも必要です。
  10. SSPI MBean の詳細については、「セキュリティ サービス プロバイダ インタフェース (SSPI) MBean」を参照してください。要約は、「SSPI MBean クイック リファレンス」で参照できます。

  11. カスタム セキュリティ プロバイダで必要なデータベースを初期化する方法を決めます。カスタム セキュリティ プロバイダに単純なデータベースを作成させるか、情報の格納された既存のデータベースを使用するようにカスタム セキュリティ プロバイダをコンフィグレーションすることができます。
  12. それら 2 つのデータベース初期化オプションの詳細については、「セキュリティ プロバイダ データベースの初期化」を参照してください。

  13. カスタム セキュリティ プロバイダが WebLogic リソースのセキュリティ ポリシーとの対話の一部として実行するのに必要なデータベースの「準備」を特定します。この準備には、デフォルト グループ、セキュリティ ロール、またはセキュリティ ポリシーの作成などがあります。
  14. 詳細については、「セキュリティ プロバイダと WebLogic リソース」を参照してください。

SSPI の実装によるカスタム セキュリティ プロバイダ用の実行時クラスの作成

1 つまたは 2 つの実行時クラスにおいて、各メソッドの実装を提供することによって特定された SSPI を実装します。それらのメソッドには、カスタム セキュリティ プロバイダから提供されるセキュリティ サービスの具体的なアルゴリズムが組み込まれていなければなりません。それらのメソッドには、サービスがどのように動作すべきであるかが記述されています。

このタスクの手順は、作成するセキュリティ プロバイダのタイプによって異なります。この手順については、各セキュリティ プロバイダの詳細に関する節の「適切な SSPI による実行時クラスの作成」を参照してください。

カスタム セキュリティ プロバイダをコンフィグレーションおよび管理する MBean タイプの生成

MBean タイプを生成するには、次の手順に従います。

  1. 必須 SSPI MBean を拡張し、任意 SSPI MBean を実装し、プロバイダのコンフィグレーションと管理に必要なカスタム属性および操作を追加するカスタム セキュリティ プロバイダの MBean 定義ファイル (MDF) を作成します。
  2. MDF の詳細については、「MBean 定義ファイル (MDF) の基本的な要素について」を参照してください。このタスクの手順については、各セキュリティ プロバイダの詳細に関する節の「MBean 定義ファイル (MDF) を作成する」を参照してください。

  3. WebLogic MBeanMaker を通じて MDF を実行し、カスタム セキュリティ プロバイダの MBean タイプの中間ファイル (MBean インタフェース、MBean 実装、および MBean 情報ファイルを含む) を生成します。
  4. WebLogic MBeanMaker について、および WebLogic MBeanMaker がどのように MDF を使用して Java ファイルを生成するかについては、「WebLogic MBeanMaker によって提供されるものについて」を参照してください。このタスクの手順については、各セキュリティ プロバイダの詳細に関する節の「WebLogic MBeanMaker を使用して MBean タイプを生成する」を参照してください。

  5. MBean の実装ファイルを編集して、任意 SSPI MBean の実装から継承されるすべてのメソッドの内容のほか、MDF に追加されたカスタム属性および操作の結果として生成されるメソッド スタブの内容も入力します。
  6. 修正された中間ファイル (MBean タイプ用) と実行時クラスを WebLogic MBeanMaker を通じて実行し、MBean JAR ファイル (MJF) という JAR ファイルを生成します。
  7. このタスクの手順については、各セキュリティ プロバイダの詳細に関する節の「WebLogic MBeanMaker を使用して MBean JAR ファイル (MJF) を作成する」を参照してください。

  8. MBean JAR ファイル (MJF) を WebLogic Server 環境にインストールします。
  9. このタスクの手順については、各セキュリティ プロバイダの詳細に関する節の「WebLogic Server 環境に MBean タイプをインストールする」を参照してください。

コンソール拡張機能の記述

コンソール拡張を使用すると、JavaServer Pages (JSP) を WebLogic Server Administration Console に追加して、カスタム セキュリティ プロバイダの管理とコンフィグレーションをサポートできます。コンソール拡張を使用すると、存在しない Administration Console サポートを追加したり、管理目的の対話をカスタマイズしたりできます。

WebLogic Server Administration Console でカスタム セキュリティ プロバイダ用の完全なコンフィグレーションおよび管理サポートを利用するには、以下の場合にコンソール拡張を記述する必要があります。

Administration Console は、以下の場合にも拡張します。

コンソールの拡張の詳細については、『Administration Console の拡張』を参照してください。

カスタム セキュリティ プロバイダのコンフィグレーション

注意 : コンフィグレーション プロセスは、カスタム セキュリティ プロバイダを開発した本人、または指定された管理者が遂行できます。

コンフィグレーション プロセスでは、WebLogic Server Administration Console を使用してカスタム セキュリティ プロバイダにコンフィグレーション情報を提供します。カスタム セキュリティ プロバイダを管理するための MBean タイプを生成している場合、Administration Console でカスタム セキュリティ プロバイダを「コンフィグレーション」することは、MBean タイプの特定のインスタンスを作成することも意味します。

Administration Console によるセキュリティ プロバイダのコンフィグレーションの詳細については、『WebLogic Server のセキュリティ』を参照してください。

セキュリティ ポリシー、セキュリティ ロール、および資格マップを管理するメカニズムの提供

特定のタイプのセキュリティ プロバイダでは、それらに関連付けられているセキュリティ データを管理する方法を管理者に提供する必要があります。たとえば認可プロバイダでは、セキュリティ ポリシーを管理する方法を管理者に提供しなければなりません。同じように、ロール マッピング プロバイダではセキュリティ ロールを、資格マッピング プロバイダでは資格マップを管理する方法が管理者に必要になります。

WebLogic 認可、ロール マッピング、および資格マッピングの各プロバイダの場合、管理者用の管理メカニズムが WebLogic Server Administration Console にすでに用意されています。ただし、これらのセキュリティ プロバイダのカスタム版を開発する場合はこれらのメカニズムを継承しないで、セキュリティ ポリシー、セキュリティ ロール、および資格マップを管理するための独自の方法を提供する必要があります。これらのメカニズムにはカスタム セキュリティ プロバイダのデータベースから適切なセキュリティ データを読み書きすることが必須となりますが、Administration Console とは統合しても統合しなくてもかまいません。

詳細については、以下のいずれかの節を参照してください。

 


このリリースでの新機能と変更点

このリリースでは、WebLogic Security サービスに以下の機能が追加されています。

証明書の検索と検証のサポート

WebLogic Security サービスは、着信双方向 SSL、発信 SSL、アプリケーション コード、および WebLogic Web サービスについて、X509 証明書チェーンを検索および検証するフレームワークを提供します。証明書の検索と検証 (CLV) フレームワークは、証明書チェーンを検索および検証する新しいセキュリティ プラグイン フレームワークです。CLV フレームワークは、JDK 証明書パス機能を拡張および完了し、カスタム証明書パス プロバイダを作成できるようにします。

サーブレット認証フィルタ

サーブレット認証フィルタは、ID アサーションおよび認証機能のための前処理および後処理を実行する新しいタイプのプロバイダです。サーブレット認証フィルタを使用すると、再利用可能なユニットで反復タスクをカプセル化し、サーブレットまたは JSP ページからの応答を変換できます。

バージョン管理可能なアプリケーション

バージョン管理可能なアプリケーションのプロバイダ SSPI を使用すると、バージョンが作成および削除されたときに、アプリケーションのバージョン管理をサポートするすべてのセキュリティ プロバイダに通知できます。また、バージョンが 1 つしかないアプリケーションが削除された場合にも、アプリケーションのバージョン管理をサポートするすべてのセキュリティ プロバイダに通知できます。

チャレンジ ID アサーション

チャレンジ ID アサーション インタフェースは、複数のチャレンジ、応答メッセージ、および状態を必要とするチャレンジ応答スキーマをサポートします。チャレンジ ID アサーション プロバイダ インタフェースを使用すると、ID アサーション プロバイダは、Microsoft の Windows NT チャレンジ/応答 (NTLM) や SPNEGO (Simple and Protected GSS-API Negotiation) などのチャレンジ/応答認証メカニズムを採用した認証プロトコルをサポートできます。

weblogic.security.services.Authentication クラスが拡張され、サーブレット認証フィルタからの複数のチャレンジ/応答 ID アサーションが可能になりました。新しいメソッドおよびインタフェースでは、ChallengeIdentityAsserterV2 インタフェースと ProviderChallengeContext インタフェースに対してラッパーを利用できるので、サーブレット認証フィルタから呼び出すことができます。

監査機能の向上

このリリースでは、監査プロバイダは AuditorMBean および mixin インタフェース ContextHandlerMBean を実装できます。ContextHandlerMBean は、ContextHandler がサポートする一連の属性を提供します。このインタフェースを使用すると、コンテキスト ハンドラ エントリを標準的な方法でサポートする監査プロバイダを管理できます。監査プロバイダ MBean は、ContextHandlerMBean の MBean を必要に応じて実装できます。監査プロバイダは、この MBean を使用して、サポートされているアクティブな ContextHandler エントリを判別します。

ApplicationInfo インタフェース

ApplicationInfo インタフェースは、アプリケーションのデプロイメントに関するデータをセキュリティ プロバイダに渡します。このデータを使用すると、アプリケーションをユニークに識別できます。セキュリティ フレームワークは、ユーザの利便を図るために ApplicationInfo インタフェースを実装します。このインタフェースのメソッドを実装する必要はありません。DeployableAuthorizationProviderV2 インタフェースと DeployableRoleProviderV2 インタフェースは ApplicationInfo を使用します。

新しい V2 プロバイダ

WebLogic Server のこのリリースでは、以下の新しいプロバイダが追加されました。

新しいプロバイダ インタフェース

コンテキスト ハンドラの追加サポート

コンテキスト ハンドラは、リソース コンテナからの付加的なコンテキストおよびコンテナ固有の情報を含んでおり、その情報をアクセス決定またはロール マッピング決定を行うセキュリティ プロバイダに提供します。コンテキスト ハンドラは、以下のメソッドについて使用できるようになりました。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次