WebSphere Application Server - Express, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

J2EE コネクター・セキュリティー

J2EE コネクター・アーキテクチャーは、 Java 2 Platform, Enterprise Edition (J2EE) を異機種のエンタープライズ情報システム (EIS) に接続するための標準のアーキテクチャーを定義します。 EIS には、例えば Enterprise Resource Planning (ERP)、 メインフレーム・トランザクション処理 (TP)、 およびデータベース・システムなどがあります。

コネクター・アーキテクチャーは、 EIS ベンダーが自身の EIS 用の標準のリソース・アダプター を提供できるようにします。 リソース・アダプターは、 Java アプリケーションが EIS への接続に使用するシステム・レベルのソフトウェア・ドライバーです。このリソース・アダプターは、アプリケーション・サーバーにプラグインし、 EIS、アプリケーション・サーバー、およびエンタープライズ・アプリケーション間の接続性を提供します。 EIS の情報へのアクセスには、通常、無許可アクセスを防ぐためアクセス制御が必要です。 J2EE アプリケーションは、EIS への認証を行い、EIS への接続を開く必要があります。

J2EE コネクター・セキュリティーのアーキテクチャーは、 J2EE ベースのアプリケーションのエンドツーエンド・セキュリティー・モデルを拡張して、EIS との統合を組み込むよう設計されています。 アプリケーション・サーバーと EIS は、 基礎となる EIS への接続を確立するリソース・プリンシパルを確実に正しく認証するためにコラボレーションします。 コネクター・アーキテクチャーは、他の認証メカニズムも定義できますが、共通してサポートされる認証メカニズムとして、以下のメカニズムを識別します。

アプリケーションは、デプロイメント記述子の resource-ref エレメントで、アプリケーション管理のサインオンを使用するか、またはコンテナーが管理するサインオンを使用するかを定義します。 各 resource-ref エレメントには、単一の接続ファクトリー参照バインディングが記述されます。 resource-ref エレメント内の res-auth エレメント (Application または Container のいずれかの値) は、 エンタープライズ Bean コードがサインオンを実行できるか、または WebSphere Application Server が プリンシパル・マッピング構成を使用して、リソース・マネージャーへサインオンできるかを表します。resource-ref エレメントは、通常、Application Server Toolkit (AST) または Rational Web Developer アセンブリー・ツールなどのアセンブリー・ツールを使用して、アプリケーションのアセンブル時間で定義されます。 resource-ref は、デプロイメント時間でも、定義あるいは再定義できます。

アプリケーション管理のサインオン

EIS システムにアクセスするには、 アプリケーションを Java Naming and Directory Interface (JNDI) ネーム・スペースからの接続ファクトリーに配置し、その接続ファクトリー・オブジェクトで getConnection メソッドを 呼び出します。getConnection メソッドでは、ユーザー ID およびパスワードの引数が必要です。 J2EE アプリケーションでは、getConnection メソッドにユーザー ID およびパスワードを受け渡すことができ、 その後、その情報をリソース・アダプターに受け渡します。 ただし、アプリケーション・コード内でユーザー ID およびパスワードを指定することで、セキュリティー上の影響があります。

ユーザー ID およびパスワードが Java ソース・コード内にコード化されると、それらは組織内の開発者およびテスターで使用可能になります。 また、Java クラスがデコンパイルされると、ユーザー ID およびパスワードはユーザーに読まれてしまいます。

ユーザー ID およびパスワードを変更する場合は、必ず最初にコードの変更が必要になります。 代わりの方法として、アプリケーション・コードは、パーシスタント・ストレージまたは外部サービスから、ユーザー ID およびパスワードのセットを取得できます。 この方法では、IT 管理者が、アプリケーション固有の手段を使用して、ユーザー ID およびパスワードを構成し、管理する必要があります。

WebSphere Application Server では、コンポーネント管理の認証別名をリソース上で指定することができます。 この認証データは、すべてのリソースへの参照に共通です。 「リソース」>「リソース・アダプター」>「J2C 接続ファクトリー」>「configuration_name」パネルで、「Use component-managed authentication alias」を選択します。

res-auth=Application の場合、 認証データは次のエレメントから、次の順番で取得されます。
  1. getConnection メソッドに渡されるユーザー ID およびパスワード
  2. 接続ファクトリーまたはデータ・ソース内のコンポーネント管理認証エイリアス
  3. データ・ソース内のカスタム・プロパティーのユーザー名およびパスワード

ユーザー名およびパスワードのプロパティーは、リソース・アダプター・アーカイブ (RAR) ファイル内に初期定義が可能です。

これらのプロパティーは、管理コンソールで定義 することもできますし、wsadmin スクリプトを使用して、カスタム・プロパティーの下に定義することもできます。

コンテナー管理のサインオン

ターゲット・エンタープライズ情報システム (EIS) のユーザー ID およびパスワードは、アプリケーション・サーバーにより提供できます。 WebSphere Application Server には、コンテナー管理のサインオン機能があります。 Application Server は、ターゲット EIS に応じた適切な認証データを検索でき、 クライアントが接続を確立できます。アプリケーション・コードがコンテナー管理のサインオンを使用するように構成される場合、アプリケーション・コードで getConnection コール内にユーザー ID およびパスワードを準備する必要がありません。また、認証データが、すべてのリソースへの参照に共通である必要もありません。 WebSphere Application Server は、Java Authentication and Authorization Service (JAAS) の プラグ可能認証メカニズムを使用して、 事前に構成された JAAS ログイン構成と LoginModule を使用して、 実行中のスレッドのクライアント・セキュリティー ID とクレデンシャルを、 事前に構成されたユーザー ID とパスワードにマップします。

WebSphere Application Server には、指定されたターゲット EIS に対し、実行中のスレッドのすべてのクライアント ID を事前に構成された ユーザー ID およびパスワードにマップする、デフォルトの多対 1 のクレデンシャル・マッピング LoginModule モジュールが付属します。デフォルトのマッピング・モジュールは、構成された Java 2 Connector (J2C) 認証データ・エントリーにより指定された PasswordCredential を戻す、 特別な目的の JAAS LoginModule モジュールです。 デフォルト・マッピングの LoginModule モジュールは、テーブル検索を行いますが、 実際の認証は行いません。ユーザー ID およびパスワードは、J2C 認証データ・リスト内に、別名と共に保管されています。

J2C 認証データ・リストは、「Java Authentication and Authorization Service」>「J2C 認証データ」の下の「セキュア管理、アプリケーション、およびインフラストラクチャー」パネルにあります。デフォルトのプリンシパルおよび信任状マッピング機能は、DefaultPrincipalMapping アプリケーションの JAAS ログイン構成により定義されています。

管理コンソールを使用して変更された J2C 認証データは、 その変更がリポジトリーに保管され、TestConnection が実行されると、 有効になります。また、wsadmin スクリプトを使用して変更された J2C 認証データは、 所定の WebSphere Application Server サーバー・プロセスに対して、 アプリケーションが開始または再開されると、有効になります。 J2C 認証データの変更は、SecurityAdmin MBean メソッド updateAuthDataCfg を呼び出すことによって、有効になります。HashMap パラメーターをヌルに設定し、Securityadmin MBean が、リポジトリー内の最新の値を使用して、 J2C 認証データをリフレッシュできるようにします。

DefaultPrincipalMapping ログイン構成は 変更しないでください。この頻繁に使用されるデフォルト・マッピング構成に対するパフォーマンスの強化が WebSphere Application Server に追加されたためです。WebSphere Application Server では、 DefaultPrincipalMapping 構成の変更、デフォルトの LoginModule モジュールの変更、 または構成におけるカスタム LoginModule モジュールのスタッキングがサポートされていません。

ほとんどのシステムでは、多対 1 マッピングのデフォルトの方法で十分です。 ただし、WebSphere Application Server は、カスタムのプリンシパルおよびクレデンシャルのマッピング構成をサポートしています。 固有の名前で新規の JAAS ログイン構成を作成することにより、カスタムのマッピング・モジュールをアプリケーション・ログイン JAAS 構成に追加できます。 例えば、カスタム・マッピング・モジュールにより、1 対 1 マッピングまたは Kerberos 機能を提供できます。

また、WebSphere Application Server 管理コンソールを使用して、リソース・マネージャー接続ファクトリー参照を構成済みのリソース・ファクトリーの 1 つにバインドできます。 アプリケーションのデプロイメント記述子の res-auth エレメントの値が Container の場合は、マッピング構成を指定する必要があります。マッピング構成を指定するには、「アプリケーション」>「エンタープライズ・アプリケーション」>「application_name」パネルの「参照」の下の「リソース参照」リンクを使用してください。追加の指示については、「リソース参照のリソースへのマッピング」を参照してください。

J2C マッピング・モジュールおよびマッピング・プロパティー

マッピング・モジュールは、プリンシパルおよびクレデンシャルのマッピング機能を提供する特殊な JAAS ログイン・モジュールです。 カスタム・マッピング・モジュールの定義と構成は、管理コンソールを使用して行います。

また、各 JAAS ログイン構成のログイン・オプションを使用することにより、コンテキスト・データを定義し、マッピング・モジュールに受け渡すことができます。 WebSphere Application Server では、各接続ファクトリー参照バインディングのマッピング・プロパティーを使用して、 コンテキスト・データを定義することもできます。

各 JAAS ログイン構成で定義されているログイン・オプションは、同一の JAAS ログイン構成およびマッピング・モジュールを使用するリソース全体で共用されます。 各接続ファクトリー参照バインディング用に定義されたマッピング・プロパティーは、そのリソース参照により排他的に使用されます。

外部マッピング・サービスが使用される使用法シナリオを想定します。

例えば、 Tivoli Access Manager Global Sign-On (GSO) サービスを使用できます。Tivoli Access Manager GSO を使用し、両方のバックエンド・サーバーに対し認証データを検索します。

2 つの EIS サービス、DB2 および MQ があります。 ただし、DB2 用の認証データは、MQ 用のデータと異なります。 マッピング JAAS ログイン構成のログイン・オプションを使用し、 Tivoli Access Manager GSO サービスへの接続の確立に必要なパラメーターを指定します。 接続ファクトリー参照バインディングのマッピング・プロパティーを使用し、 ユーザー ID およびパスワードを必要とする EIS サーバーを指定します。

マッピング・モジュールの開発についての詳細は、 J2C プリンシパル・マッピング・モジュール の項目を参照してください。

注:
  • WebSphere Application Server バージョンでは、各エンタープライズ・アプリケーションの下に、 コンテナー管理のサインオンが構成されます。このアクションは、各接続ファクトリーに対してコンテナー管理のサインオンを構成する WebSphere Application Server バージョン 5 と異なります。
  • リソース」>「リソース・アダプター」>「J2C 接続ファクトリー」>「configuration_name」パネルでの構成方法は推奨されませんが、WebSphere Application Server バージョン 6.1でもまだ動作します。 このレベルで構成する利点は、その構成にアプリケーションの有効範囲があり、 他のアプリケーションに可視ではないことです。 ただし、このレベルで定義されたマッピング構成は、他のアプリケーションに可視になります。
  • 接続ファクトリーでのマッピング構成は、リソース・マネージャー接続ファクトリー参照に移動されました。 WebSphere Application Server バージョン 5 JAAS コールバック・タイプを使用して開発された マッピング・ログイン・モジュールは、リソース・マネージャー接続ファクトリー参照により使用できます。 ただし、マッピング・ログイン・モジュールは、カスタム・マッピング・プロパティーの機能を利用できません。
  • 接続ファクトリー参照バインディングは、マッピング・プロパティーをサポートし、 新規の WSMappingPropertiesCallback コールバックの方法により、それらのプロパティーをマッピング・ログイン・モジュールに受け渡します。 さらに、WSMappingPropertiesCallback コールバックおよび新規の WSManagedConnectionFactoryCallback コールバックは、com.ibm.wsspi パッケージに定義されています。 新規コールバック・タイプを持つ、新規マッピング・ログイン・モジュールを使用します。



関連概念
プログラマチック・ログイン
関連資料
J2C プリンシパル・マッピング・モジュール
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 6:25:35 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/csec_j2csecurity.html