1 WebLogic Serverで使用するセキュリティ・プロバイダの開発について
前提条件
このガイドを読む前に、『Oracle WebLogic Serverのセキュリティの理解』の次の項に目を通しておいてください。
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リソース」を参照してください。
SSPIの実装によるカスタム・セキュリティ・プロバイダ用のランタイム・クラスの作成
1つまたは2つのランタイム・クラスにおいて、各メソッドの実装を提供することによって特定されたSSPIを実装します。それらのメソッドには、カスタム・セキュリティ・プロバイダから提供されるセキュリティ・サービスの具体的なアルゴリズムが組み込まれていなければなりません。それらのメソッドには、サービスがどのように動作すべきであるかが記述されています。
このタスクの手順は、作成するセキュリティ・プロバイダのタイプによって異なります。この手順については、各セキュリティ・プロバイダの詳細に関する節の「適切なSSPIによるランタイム・クラスの作成」を参照してください。
カスタム・セキュリティ・プロバイダの構成
ノート:
構成プロセスは、カスタム・セキュリティ・プロバイダを開発した本人、または指定された管理者が遂行できます。
構成プロセスでは、WebLogicリモート・コンソールを使用してカスタム・セキュリティ・プロバイダに構成情報を提供します。カスタム・セキュリティ・プロバイダを管理するためのMBeanタイプを生成している場合、WebLogicリモート・コンソールでカスタム・セキュリティ・プロバイダを構成することは、MBeanタイプの特定のインスタンスを作成することも意味します。
『Oracle WebLogic Serverのセキュリティの管理』を参照してください。
セキュリティ・ポリシー、セキュリティ・ロール、および資格証明マップを管理するメカニズムの提供
特定のタイプのセキュリティ・プロバイダでは、それらに関連付けられているセキュリティ・データを管理する方法を管理者に提供する必要があります。たとえば認可プロバイダでは、セキュリティ・ポリシーを管理する方法を管理者に提供しなければなりません。同じように、ロール・マッピング・プロバイダではセキュリティ・ロールを、資格証明マッピング・プロバイダでは資格証明マップを管理する方法が管理者に必要になります。
WebLogic認可、ロール・マッピング、および資格証明マッピングの各プロバイダの場合、管理者用の管理メカニズムがWebLogicリモート・コンソールにすでに用意されています。ただし、これらのセキュリティ・プロバイダのカスタム版を開発する場合はこれらのメカニズムを継承しないで、セキュリティ・ポリシー、セキュリティ・ロール、および資格証明マップを管理するための独自の方法を提供する必要があります。これらのメカニズムにはカスタム・セキュリティ・プロバイダのデータベースから適切なセキュリティ・データを読み書きすることが必須となりますが、WebLogicリモート・コンソールとは統合しても統合しなくてもかまいません。
詳細については、以下のいずれかの節を参照してください。
-
「セキュリティ・ポリシーを管理するためのメカニズムの提供」 (カスタム認可プロバイダの場合)
-
「セキュリティ・ロールを管理するためのメカニズムの提供」 (カスタム・ロール・マッピング・プロバイダの場合)
-
「資格証明マップを管理するためのメカニズムの提供」 (カスタム資格証明マッピング・プロバイダの場合)