ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server セキュリティ プロバイダの開発
11g リリース 1 (10.3.1)
B55527-01
 

目次
目次

戻る
戻る
 
次へ
次へ

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

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

前提条件

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

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

開発プロセスの概要

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

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

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

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

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

    WebLogic セキュリティ プロバイダの説明は、『Oracle Fusion Middleware Oracle WebLogic Server Security の紹介』の「WebLogic セキュリティ プロバイダ」と、このマニュアルの「カスタム <Provider_Type> プロバイダを作成する必要があるか」という節にあります。という見出しの各節にあります。

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

    タイプには認証、ID アサーション、プリンシパル検証、認可、裁決、ロール マッピング、監査、資格マッピング、バージョン管理可能なアプリケーション、証明書パスがあります。これらについては、『Oracle Fusion Middleware Oracle WebLogic Server Security の紹介』の「セキュリティ プロバイダのタイプ」で説明します。カスタム セキュリティ プロバイダは、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 Administration Console に追加して、カスタム セキュリティ プロバイダの管理とコンフィグレーションをサポートできます。コンソール拡張を使用すると、存在しない Administration Console サポートを追加したり、管理目的の対話をカスタマイズしたりできます。

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

  • カスタム セキュリティ プロバイダ用の MBean タイプを生成するときに任意 SSPI MBean を実装しないことを決定したが、Administration Console でカスタム セキュリティ プロバイダをコンフィグレーションおよび管理する場合 (つまり、WebLogic Server コマンドライン インタフェースを代わりに使用しない場合)

    Oracle では、MBean タイプの生成 (「カスタム セキュリティ プロバイダをコンフィグレーションおよび管理する MBean タイプの生成」を参照) によってカスタム セキュリティ プロバイダをコンフィグレーションおよび管理することをお勧めします。しかし、ユーザが記述したコンソール拡張を介してカスタム セキュリティ プロバイダを完全にコンフィグレーションおよび管理することもできます。

  • カスタム認証プロバイダ以外のカスタム セキュリティ プロバイダ用に任意 SSPI MBean を実装する場合

    任意 SSPI MBean を実装してカスタム認証プロバイダを開発する場合は、Administration Console で MBean タイプの属性が自動的にサポートされることになります (任意 SSPI MBean から継承される)。カスタム認可プロバイダなどの他のタイプのカスタム セキュリティ プロバイダでは、このサポートは受けられません。

  • シンプルなデータ型としては表せないカスタム属性を、MBean 定義ファイル (MDF) に追加する場合 (MDF はカスタム セキュリティ プロバイダの MBean タイプの生成に使用される)

    カスタム セキュリティ プロバイダの [詳細] タブにカスタム属性が自動的に表示されるのは、それらがシンプルなデータ型 (文字列、MBean、ブール、整数値) として表される場合のみです。非定型のデータ型 (フィンガープリントのイメージなど) として表されるカスタム属性がある場合、Administration Console ではカスタマイズを行わない限りその属性を表示できません。

  • カスタム操作を MBean 定義ファイル (MDF) (カスタム セキュリティ プロバイダの MBean タイプを作成するために使用される) に追加する場合

    カスタム操作はさまざまなので、Administration Console ではそれらを自動的に表示または処理する方法が分かりません。カスタム操作の例としては、声紋用のマイクや、インポート/エクスポート ボタンなどがあります。Administration Console では、カスタマイズしない限りこれらの操作を表示および処理できません。

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

  • 企業ブランディング - たとえば、カスタム セキュリティ プロバイダのコンフィグレーションおよび管理に使用するページにロゴを表示する場合など

  • 連結 - たとえば、カスタム セキュリティ プロバイダのコンフィグレーションおよび管理に使用するすべてのフィールドを、個別のタブや場所ではなく 1 ページに表示する場合など

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

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


注意 :

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

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

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

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

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

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

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