Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティ・プロバイダの開発 11g リリース1(10.3.4) B61623-02 |
|
前 |
次 |
以下の節では、セキュリティ・プロバイダの開発についての概要を示します。
このガイドを読む前に、『Oracle WebLogic Serverのセキュリティの理解』の次の項に目を通しておいてください。
「セキュリティ・プロバイダ」
「WebLogic Securityフレームワーク」
WebLogic Serverのセキュリティには、この他に理解しておく必要のある固有の用語や概念が多数あります。WebLogic Serverのセキュリティ関連ドキュメントに登場するこうした用語と概念については、『Oracle WebLogic Serverのセキュリティの理解』のセキュリティの基礎概念に関する項で定義されています。
この節では、新しいセキュリティ・プロバイダを開発するプロセスの概要を説明します。各手順の詳細は、このガイドの中で後述します。
カスタム・セキュリティ・プロバイダの主な開発手順は以下のとおりです。
設計プロセスには、次の手順があります。
WebLogicセキュリティ・プロバイダの説明を検討して、カスタム・セキュリティ・プロバイダを作成する必要があるかどうか判断します。
WebLogicセキュリティ・プロバイダの説明は、『Oracle WebLogic Serverのセキュリティの理解』のWebLogicセキュリティ・プロバイダに関する項と、このガイドの「カスタム<Provider_Type>プロバイダを開発する必要があるか」という項にあります。
作成するカスタム・セキュリティ・プロバイダのタイプを決めます。
タイプには認証、IDアサーション、プリンシパル検証、認可、裁決、ロール・マッピング、監査、資格証明マッピング、バージョン管理可能なアプリケーション、証明書パスがあります。これらについては、『Oracle WebLogic Serverのセキュリティの理解』のセキュリティ・プロバイダのタイプに関する項で説明されています。カスタム・セキュリティ・プロバイダは、WebLogic Serverにあらかじめ用意されているWebLogicセキュリティ・プロバイダの補強またはかわりとして使用できます。
カスタム・セキュリティ・プロバイダ用の実行時クラスを作成するために実装するセキュリティ・サービス・プロバイダ・インタフェース(SSPI)を、作成するセキュリティ・プロバイダのタイプに基づいて特定します。
様々なタイプのセキュリティ・プロバイダのSSPIについては、「セキュリティ・サービス・プロバイダ・インタフェース(SSPI)」を参照してください。また、「SSPIクイック・リファレンス」でも要約を参照できます。
SSPIを1つの実行時クラスで実装するか、2つの実行時クラスで実装するかを決めます。
こうしたオプションについては、「SSPI階層を理解し、実行時クラスを1つ作成するのか2つ作成するのかの決定」を参照してください。
カスタム・セキュリティ・プロバイダを管理するMBeanタイプを生成するために拡張する必要のある必須SSPI MBeanを特定します。ユーザー、グループ、セキュリティ・ロール、およびセキュリティ・ポリシーの処理など、カスタム・セキュリティ・プロバイダを管理する追加機能を提供するには、実装する任意SSPI MBeanを特定することも必要です。
SSPI MBeanについては、「セキュリティ・サービス・プロバイダ・インタフェース(SSPI) MBean」を参照してください。また、「SSPI MBeanクイック・リファレンス」でも要約を参照できます。
カスタム・セキュリティ・プロバイダで必要なデータベースを初期化する方法を決めます。カスタム・セキュリティ・プロバイダで単純なデータベースを作成することも、情報の格納された既存のデータベースを使用するように構成することもできます。
この2つのデータベース初期化オプションについては、「セキュリティ・プロバイダ・データベースの初期化」を参照してください。
カスタム・セキュリティ・プロバイダがWebLogicリソースのセキュリティ・ポリシーとの対話の一部として実行する必要がある、データベースの「準備」について特定します。この準備には、デフォルト・グループ、セキュリティ・ロール、またはセキュリティ・ポリシーの作成などがあります。
詳細については、「セキュリティ・プロバイダとWebLogicリソース」を参照してください。
1つまたは2つの実行時クラスにおいて、各メソッドの実装を提供することによって特定されたSSPIを実装します。それらのメソッドには、カスタム・セキュリティ・プロバイダから提供されるセキュリティ・サービスの具体的なアルゴリズムが組み込まれていなければなりません。それらのメソッドには、サービスがどのように動作すべきであるかが記述されています。
このタスクの手順は、作成するセキュリティ・プロバイダのタイプによって異なります。この手順については、各セキュリティ・プロバイダの詳細に関する節の「適切なSSPIによる実行時クラスの作成」を参照してください。
MBeanタイプを生成するには、次の手順に従います。
必須SSPI MBeanを拡張し、任意SSPI MBeanを実装し、プロバイダの構成と管理に必要なカスタム属性および操作を追加するカスタム・セキュリティ・プロバイダのMBean定義ファイル(MDF)を作成します。
MDFの詳細は、「MBean定義ファイル(MDF)の基本的な要素について」を参照してください。このタスクの手順については、各セキュリティ・プロバイダの詳細に関する節の「MBean定義ファイル(MDF)の作成」を参照してください。
WebLogic MBeanMakerを通じてMDFを実行し、カスタム・セキュリティ・プロバイダのMBeanタイプの中間ファイル(MBeanインタフェース、MBean実装、およびMBean情報ファイルを含む)を生成します。
WebLogic MBeanMakerについて、およびWebLogic MBeanMakerがどのようにMDFを使用してJavaファイルを生成するかについては、「WebLogic MBeanMakerによって提供されるものについて」を参照してください。このタスクの手順については、各セキュリティ・プロバイダの詳細に関する節の「WebLogic MBeanMakerを使用してMBeanタイプの生成」を参照してください。
MBeanの実装ファイルを編集して、任意SSPI MBeanの実装から継承されるすべてのメソッドの内容のほか、MDFに追加されたカスタム属性および操作の結果として生成されるメソッド・スタブの内容も入力します。
修正された中間ファイル(MBeanタイプ用)と実行時クラスをWebLogic MBeanMakerを通じて実行し、MBean JARファイル(MJF)というJARファイルを生成します。
このタスクの手順については、各セキュリティ・プロバイダの詳細に関する節の「WebLogic MBeanMakerを使用してMBean JARファイル(MJF)の作成」を参照してください。
MBean JARファイル(MJF)をWebLogic Server環境にインストールします。
このタスクの手順については、各セキュリティ・プロバイダの詳細に関する節の「WebLogic Server環境にMBeanタイプのインストール」を参照してください。
コンソール拡張を使用すると、JavaServer Pages (JSP)をWebLogic Server管理コンソールに追加して、カスタム・セキュリティ・プロバイダの管理と構成をサポートできます。コンソール拡張を使用すると、存在しない管理コンソール・サポートを追加したり、管理目的の対話をカスタマイズしたりできます。
WebLogic Server管理コンソールでカスタム・セキュリティ・プロバイダ用の完全な構成および管理サポートを利用するには、以下の場合にコンソール拡張を記述する必要があります。
カスタム・セキュリティ・プロバイダ用のMBeanタイプを生成するときに任意SSPI MBeanを実装しないことを決定したが、管理コンソールでカスタム・セキュリティ・プロバイダを構成および管理する場合(つまり、WebLogic Serverコマンド・ライン・インタフェースをかわりに使用しない場合)
Oracleでは、MBeanタイプの生成(「カスタム・セキュリティ・プロバイダを構成および管理するMBeanタイプの生成」を参照)によってカスタム・セキュリティ・プロバイダを構成および管理することをお薦めします。しかし、ユーザーが記述したコンソール拡張を介してカスタム・セキュリティ・プロバイダを完全に構成および管理することもできます。
カスタム認証プロバイダ以外のカスタム・セキュリティ・プロバイダ用に任意SSPI MBeanを実装する場合
任意SSPI MBeanを実装してカスタム認証プロバイダを開発する場合は、管理コンソールでMBeanタイプの属性が自動的にサポートされることになります(任意SSPI MBeanから継承されます)。カスタム認可プロバイダなどの他のタイプのカスタム・セキュリティ・プロバイダでは、このサポートは受けられません。
シンプルなデータ型としては表せないカスタム属性を、MBean定義ファイル(MDF)に追加する場合(MDFはカスタム・セキュリティ・プロバイダのMBeanタイプの生成に使用されます)
カスタム・セキュリティ・プロバイダの「詳細」タブにカスタム属性が自動的に表示されるのは、それらがシンプルなデータ型(文字列、MBean、ブール、整数値)として表される場合のみです。非定型のデータ型(フィンガ・プリントのイメージなど)として表されるカスタム属性がある場合、管理コンソールではカスタマイズを行わない限りその属性を表示できません。
カスタム操作をMBean定義ファイル(MDF) (カスタム・セキュリティ・プロバイダのMBeanタイプを作成するために使用される)に追加する場合
カスタム操作は様々なので、管理コンソールではそれらを自動的に表示または処理する方法が分かりません。カスタム操作の例としては、声紋用のマイクや、インポート/エクスポート・ボタンなどがあります。管理コンソールでは、カスタマイズしない限りこれらの操作を表示および処理できません。
管理コンソールは、以下の場合にも拡張します。
企業ブランディング - たとえば、カスタム・セキュリティ・プロバイダの構成および管理に使用するページにロゴを表示する場合など
連結 - たとえば、カスタム・セキュリティ・プロバイダの構成および管理に使用するすべてのフィールドを、個別のタブや場所ではなく1ページに表示する場合など
コンソールの拡張の詳細は、『Oracle WebLogic Server管理コンソールの拡張』を参照してください。
注意: 構成プロセスは、カスタム・セキュリティ・プロバイダを開発した本人、または指定された管理者が遂行できます。 |
構成プロセスでは、WebLogic Server管理コンソールを使用してカスタム・セキュリティ・プロバイダに構成情報を提供します。カスタム・セキュリティ・プロバイダを管理するためのMBeanタイプを生成している場合、管理コンソールでカスタム・セキュリティ・プロバイダを「構成」することは、MBeanタイプの特定のインスタンスを作成することも意味します。
管理コンソールによるセキュリティ・プロバイダの構成の詳細は、『Oracle WebLogic Serverの保護』を参照してください。
特定のタイプのセキュリティ・プロバイダでは、それらに関連付けられているセキュリティ・データを管理する方法を管理者に提供する必要があります。たとえば認可プロバイダでは、セキュリティ・ポリシーを管理する方法を管理者に提供しなければなりません。同じように、ロール・マッピング・プロバイダではセキュリティ・ロールを、資格証明マッピング・プロバイダでは資格証明マップを管理する方法が管理者に必要になります。
WebLogic認可、ロール・マッピング、および資格証明マッピングの各プロバイダの場合、管理者用の管理メカニズムがWebLogic Server管理コンソールにすでに用意されています。ただし、これらのセキュリティ・プロバイダのカスタム版を開発する場合はこれらのメカニズムを継承しないで、セキュリティ・ポリシー、セキュリティ・ロール、および資格証明マップを管理するための独自の方法を提供する必要があります。これらのメカニズムにはカスタム・セキュリティ・プロバイダのデータベースから適切なセキュリティ・データを読み書きすることが必須となりますが、管理コンソールとは統合しても統合しなくてもかまいません。
詳細については、以下のいずれかの節を参照してください。
「セキュリティ・ポリシーを管理するためのメカニズムの提供」 (カスタム認可プロバイダの場合)
「セキュリティ・ロールを管理するためのメカニズムの提供」 (カスタム・ロール・マッピング・プロバイダの場合)
「資格証明マップを管理するためのメカニズムの提供」 (カスタム資格証明マッピング・プロバイダの場合)