DB2 とのトラステッド接続

トラステッド接続を使用すると、アプリケーション・サーバーは、DB2® トラステッド・コンテキスト・オブジェクトを使用して、接続を開くためのクレデンシャルが DB2 サーバーによって信頼されているユーザーとの接続を確立することができます。 トラステッド・コンテキストを確立することによって、このユーザーは、再認証を行うことなく、DB2 サーバーでの他のユーザー ID の 表明に関して信頼されます。 また、単一ユーザーにすべての特権を割り当てる必要がなくなり、DB2 データベースのセキュリティーも強化されます。トラステッド接続を実装すると、クライアントの ID が伝搬し、接続プールの利点を生かして、接続を閉じて別の ID で再開する際のパフォーマンス負荷を削減することができます。

制約事項: トラステッド接続機能を使用するには、Linux、UNIX、および Windows の場合は、DB2 Database バージョン 9.5 以降、z/OS® の場合は、DB2 Database バージョン 9.1 以降を使用する必要があります。 サポートされているバージョンの DB2 が iSeries システム以外のプラットフォームにインストールされ、DB2 ユニバーサル・ドライバーが使用されている限り、iSeries システムにバージョン 7.0 がインストールされている場合はトラステッド接続を使用できます。 サポート情報について詳しくは、アプリケーション・サーバーのサポート対象ソフトウェアのリストを参照してください。

新規接続を確立するのにかかる膨大なコストを削減するために、接続マネージャーは接続プールを保持します。接続プール内では、元々接続を開くときに使用されたクレデンシャルによって各接続が追跡されます。アプリケーションで接続が必要になると、接続マネージャーはクレデンシャル・オブジェクトを使用して、接続プール内の空き接続にマッチングします。使用可能な空き接続がない場合は、接続の最大数に達していなければ、接続プール・マネージャーがそのクレデンシャル・オブジェクトを使用して新規接続を開きます。 この接続マッピングは、アプリケーション・サーバーが使用するデフォルトの接続マッピングです。通常は RunAs ID と異なるサブジェクト内のクレデンシャル・オブジェクトを使用して接続が開かれるため、この接続マッピングは多対 1 のクレデンシャル・マッピングと呼ばれます。このシンプルなマッピングでは単純接続プールがサポートされていますが、呼び出し元 ID はデータベース・サーバーに伝搬されません。

Java™ Authentication and Authorization Service (JAAS) ログイン・モジュールをプラグインすると、呼び出し元 ID をデータベース・サーバーに伝搬できます。この方式を使用して、アプリケーション・サーバー・ユーザーのクレデンシャルを、データベース・サーバーのセキュリティー・レルムに適したユーザー・クレデンシャルにマッピングします。 この方法では呼び出し元 ID が維持されますが、接続プールは使用されません。

デフォルト・マッピングまたは JAAS マッピングの代わりに、トラステッド接続を使用してデータ・ソースに接続します。トラステッド接続はクライアント ID の伝搬をサポートしており、また接続プールを使用することによって、接続を閉じて別の ID で再開する場合のパフォーマンス負荷も削減されます。 トラステッド接続は、DB2 トラステッド・コンテキスト・オブジェクトを使用します。

DB2 トラステッド・コンテキストは、データベース管理者が定義するオブジェクトで、システム許可 ID と信頼属性のセットが含まれています。信頼属性は、接続が信頼できるとみなされるために必要な、接続の特性を特定します。データベース接続とトラステッド・コンテキストの関係は、 DB2 サーバーへの接続が作成されるときに確立されます。トラステッド・コンテキスト が定義され、DB2 データベース・サーバーへの初期トラステッド接続が作成されると、アプリケーション・サーバーは、 完全な再認証を行わずに別のユーザーからデータベース接続を使用できるようになります。これは、ユーザー ID に認証トークンが必要なためです。 データベースはユーザーを認証して、そのユーザーに代わってデータベース要求が処理されることを許可する前に、データベースにアクセスするためのユーザー許可を検証します。
[z/OS]制約事項: z/OS サーバーの場合、ユーザー ID はリソース・アクセス管理機能 (RACF®) ID でなければなりません。

トラステッド接続を使用すると、DB2 トラステッド・コンテキストの独自のセキュア実装の追加をサポートするために必要なプラグイン・ポイントが得られます。トラステッド接続は、接続の確立に使用された ID を、バックエンド・サーバー・サービスにアクセスする ID から分離します。接続を開くためのクレデンシャルが DB2 サーバーによって 信頼されているユーザーが接続を確立します。このユーザーは、他のユーザーの ID の表明についても信頼されます。 また、この表明によって単一ユーザーにすべての権限を割り当てる必要がなくなり、データベース・セキュリティーの強化にも役立ちます。

アプリケーションがデータベースへの接続を要求すると、接続マネージャーはアイドル状態のトラステッド接続を検索して、バックエンド・サーバーにユーザー ID を表明します。バックエンド・サーバーで実行される操作はすべて、表明されたユーザー ID から行われます。バックエンド・サーバーが、アプリケーション・サーバーのユーザー・リポジトリーとは異なるユーザー・リポジトリーを使用している場合にも、ID マッピングの使用が必要になる場合もあります。

TrustedConnectionMapping という新しいマッピング構成によってトラステッド接続が実装されます。TrustedConnectionMapping 構成は、RunAs サブジェクトを、以下の要素を含むリソース・サブジェクトにマッピングします。
  • このリソース・サブジェクトが表すリソース・プリンシパル・オブジェクト
  • 秘密クレデンシャル・セット内の PasswordCredential オブジェクト
  • プリンシパル・セット内の IdentityPrincipal オブジェクト
プリンシパル・オブジェクトは、RunAs ID を表します。PasswordCredential オブジェクトには、リソース・アダプターがトラステッド接続の確立に使用するユーザー ID とパスワードが含まれています。IdentityPrincipal オブジェクトにはデフォルトで RunAs ID が含まれますが、呼び出し元 ID を使用するように変更できます。また、IdentityPrincipal オブジェクトには、最初に要求を送信したユーザーを表すオリジナル・ユーザー ID、ユーザー ID が定義されているレジストリー・セットを示すオプションのレルム名、オプションのセキュリティー・トークン (ユーザーのシリアライズされたセキュリティー・コンテキスト) も含まれています。

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_trustedconnections
ファイル名:csec_trustedconnections.html