プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティ・プロバイダの開発 12c
12c (12.2.1.3.0)
E90323-01
目次へ移動
目次

前
次

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

この章では、セキュリティ・プロバイダの開発の詳細を理解するための準備を行います。

この章の内容は次のとおりです。

前提条件

このガイドを読む前に、『Oracle WebLogic Serverのセキュリティの理解』の次の項に目を通しておいてください。

  • セキュリティ・プロバイダ

  • WebLogicセキュリティ・フレームワーク

WebLogic Serverのセキュリティには、この他に理解しておく必要のある固有の用語や概念が多数あります。WebLogic Serverのセキュリティ関連ドキュメントに登場するこうした用語と概念については、『Oracle WebLogic Serverのセキュリティの理解』のセキュリティの基礎概念に関する項で定義されています。

開発プロセスの概要

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

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

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

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

  1. WebLogicセキュリティ・プロバイダの説明を検討して、カスタム・セキュリティ・プロバイダを作成する必要があるかどうか判断します。

    WebLogicセキュリティ・プロバイダの説明は、『Oracle WebLogic Serverのセキュリティの理解』のWebLogicセキュリティ・プロバイダに関する項と、このガイドの「カスタム<Provider_Typeプロバイダを開発する必要があるか」という項にあります。

  2. 作成するカスタム・セキュリティ・プロバイダのタイプを決めます。

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

  3. カスタム・セキュリティ・プロバイダ用のランタイム・クラスを作成するために実装するセキュリティ・サービス・プロバイダ・インタフェース(SSPI)を、作成するセキュリティ・プロバイダのタイプに基づいて特定します。

    様々なタイプのセキュリティ・プロバイダのSSPIについては、「セキュリティ・サービス・プロバイダ・インタフェース(SSPI)」を参照してください。また、「SSPIクイック・リファレンス」でも要約を参照できます。

  4. SSPIを1つのランタイム・クラスで実装するか、2つのランタイム・クラスで実装するかを決めます。

    こうしたオプションについては、「SSPI階層を理解し、ランタイム・クラスを1つ作成するか2つ作成するかを決定する」を参照してください。

  5. カスタム・セキュリティ・プロバイダを管理するMBeanタイプを生成するために拡張する必要のある必須SSPI MBeanを特定します。ユーザー、グループ、セキュリティ・ロール、およびセキュリティ・ポリシーの処理など、カスタム・セキュリティ・プロバイダを管理する追加機能を提供するには、実装するオプショナルSSPI MBeanを特定することも必要です。

    SSPI MBeanについては、「セキュリティ・サービス・プロバイダ・インタフェース(SSPI) MBean」を参照してください。また、「SSPI MBeanクイック・リファレンス」でも要約を参照できます。

  6. カスタム・セキュリティ・プロバイダで必要なデータベースを初期化する方法を決めます。カスタム・セキュリティ・プロバイダで単純なデータベースを作成することも、情報の格納された既存のデータベースを使用するように構成することもできます。

    この2つのデータベース初期化オプションについては、「セキュリティ・プロバイダ・データベースの初期化」を参照してください。

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

    「セキュリティ・プロバイダとWebLogicリソース」を参照してください。

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

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

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

カスタム・セキュリティ・プロバイダを構成および管理するMBeanタイプの生成

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

  1. 必須SSPI MBeanを拡張し、オプショナルSSPI MBeanを実装し、プロバイダの構成と管理に必要なカスタム属性および操作を追加するカスタム・セキュリティ・プロバイダのMBean定義ファイル(MDF)を作成します。

    MDFの詳細は、「MBean定義ファイル(MDF)の基本的な要素について」を参照してください。このタスクの手順については、各セキュリティ・プロバイダの詳細に関する節の「MBean定義ファイル(MDF)の作成」を参照してください。

  2. WebLogic MBeanMakerを通じてMDFを実行し、カスタム・セキュリティ・プロバイダのMBeanタイプの中間ファイル(MBeanインタフェース、MBean実装、およびMBean情報ファイルを含む)を生成します。

    WebLogic MBeanMakerについて、およびWebLogic MBeanMakerがどのようにMDFを使用してJavaファイルを生成するかについては、「WebLogic MBeanMakerによって提供されるものについて」を参照してください。このタスクの手順については、各セキュリティ・プロバイダの詳細に関する節の「WebLogic MBeanMakerを使用してMBeanタイプを生成する」を参照してください。

  3. MBeanの実装ファイルを編集して、オプショナルSSPI MBeanの実装から継承されるすべてのメソッドの内容のほか、MDFに追加されたカスタム属性および操作の結果として生成されるメソッド・スタブの内容も入力します。
  4. 修正された中間ファイル(MBeanタイプ用)とランタイム・クラスをWebLogic MBeanMakerを通じて実行し、MBean JARファイル(MJF)というJARファイルを生成します。

    このタスクの手順については、各セキュリティ・プロバイダの詳細に関する節の「WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成」を参照してください。

  5. 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ページに表示する場合など

カスタム・セキュリティ・プロバイダの構成

注意:

構成プロセスは、カスタム・セキュリティ・プロバイダを開発した本人、または指定された管理者が遂行できます。

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

『Oracle WebLogic Serverのセキュリティの管理』を参照してください。

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

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

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

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