トラステッド接続は、要求側ユーザー ID を DB2® に受け渡し、
接続プールをフルに利用することもできるソリューションです。
DB2
のトラステッド・コンテキスト・オブジェクトを活用することで、
DB2
サーバー・サービスのアクセスを行った ID から、接続の確立に使用した ID
を分離するために、トラステッド接続が使用されます。
この接続の確立は、ユーザーによって行われますが、そのユーザーのクレデンシャルは、アプリケーションから DB2
サーバーにアクセスする際に、接続を開くための DB2 サーバーによって許可され、
要求側ユーザーの ID を表明するための
DB2 サーバーによって信頼されています。
始める前に
トラステッド接続機能を使用するには、Linux、UNIX、
および Windows の場合は DB2 Database バージョン 9.5 以降、z/OS® の場合は DB2 Database バージョン 9.1 以降で
データベース・サーバーを稼動させる必要があります。
アプリケーション・サーバーが iSeries
システムにインストールされている場合、サポートされているバージョンの
DB2
が、iSeries システム以外のプラットフォームにインストールされており、かつ
DB2
汎用ドライバーを使用するのであれば、トラステッド接続を使用できます。
サポート情報について詳しくは、アプリケーション・サーバーのサポート対象ソフトウェアのリストを参照してください。
接続を確立中にユーザー・クレデンシャルを DB2 サーバーに引き渡すためには、
既存の J2EE コネクター (J2C) データ別名が存在する必要があります。
つまり、コンテナー許可を使用する必要があります。
トラステッド接続を使用するようにアプリケーション・サーバーを構成する手順については、DB2 データベースに対するトラステッド・コンテキストの使用可能化を参照してください。
このタスクについて
トラステッド接続では、接続プールを利用して異なる ID で接続のクローズおよび再オープンを実行するパフォーマンスの不利益が減少されると同時に、
クライアント ID 伝搬がサポートされます。接続マッピングのために
「トラステッド接続の使用 (1 対 1 のマッピング)」を
選択する場合、5 つのカスタム・プロパティーが作成されます。これらのプロパティーを検討して、
意図した設定に対応するプロパティー・デフォルト値になるようにしてください。
手順
- 管理コンソールで、パネルをクリックします。
- 適切なエンタープライズ Bean を選択して、「マッピング・プロパティー」をクリックし、
トラステッド接続を構成したときにデフォルトで設定されるプロパティーを表示します。
- これらのプロパティーに割り当てられるデフォルト値が環境に適切であることを確認します。
表 1. セキュリティー・プロパティー. この表には、セキュリティー・プロパティー値がリストされています。プロパティー |
デフォルト値 |
通知 |
com.ibm.mapping.authDataAlias |
none |
このプロパティーに割り当てられる値は、メニュー・リストから選択した値です。 |
com.ibm.mapping.propagateSecAttrs |
false |
このプロパティーの値を FALSE に指定すると、
セキュリティー属性は伝搬されません。
この値を TRUE に変更して、IdentityPrincipal オブジェクトの不透明なトークンとして
RunAs サブジェクトを追加することができます。 |
com.ibm.mapping.targetRealmName |
null |
この値が指定されないかまたはヌルの場合、セキュリティー・ランタイム・プロセスは現行ユーザーのレルム名を使用します。このプロセスは、
エンタープライズ情報システム (EIS) が現行ユーザーのレルムを使用していることを想定しています。
このコンテキストでは、レルムはユーザー・リポジトリーの論理表現です。
アプリケーション・サーバーと DB2 サーバーとで異なるユーザー・リポジトリーを使用する場合、
このプロパティーの値は DB2
サーバーのレルム名に設定する必要があります。これにより、プリンシパルまたはクレデンシャル・マッピングをターゲット
EIS に設定することができます。 |
com.ibm.mapping.unauthenticatedUser |
UNAUTHENTICATED |
このプロパティーは EIS が使用するユーザー ID であり、非認証のユーザー ID を示します。これは以下で定義されています。
com.ibm.ISecurityUtilityImpl.SecConstants.java public final static String
UnauthenticatedString = "UNAUTHENTICATED" |
com.ibm.mapping.useCallerIdentityproperty |
false |
このプロパティーの FALSE の値は、Run As ID が IdentityPrincipal オブジェクトで表明されることを指定します。Run As ID ではなく
IdentityPrincipal オブジェクトで呼び出し元 ID を表明する場合は、このプロパティーの値を TRUE に変更してください。 |
- 「OK」をクリックしてすべての現行値を確認します。
- 「リソース参照」パネルで「OK」および「保存」をクリックして、変更をマスター構成に保存します。
タスクの結果
これらの手順の完了とアプリケーション・サーバーの再始動後、
トラステッド接続は、DB2 データベース・サーバーと接続するために選択されたマッピング・プロパティーで使用されます。