DB2 データベース用の認証付きトラステッド・コンテキストの使用可能化

アプリケーションでトラステッド・コンテキストを使用可能にして、 アプリケーション・サーバーと DB2® データベース・サーバーとの対話方法を改善します。 アプリケーションを介して DB2 データベースに接続するクライアントの ID レコードを保持するには、 トラステッド接続を使用します。トラステッド接続では、ユーザーの ID を基にアクセスの許可が行われるので、よりセキュアな環境を提供することができます。DB2 では、 ユーザー ID を切り替えるときにパスワードが必要なトラステッド接続のオプションが提供されています。認証が必要なトラステッド接続を使用できるようにアプリケーション・サーバーを構成したり、 認証が必要なトラステッド・コンテキストを利用するための独自のコードをプラグインしたりできます。

始める前に

アプリケーション・サーバーでトラステッド接続を正しく構成するために、DB2 データベースのトラステッド・コンテキストの使用可能化に関するトピックを参照してください。

このタスクについて

トラステッド・コンテキストを作成するときに WITH AUTHENTICATION オプションが指定されている場合、 データベースでは、認証トークンにエンド・ユーザーの ID を指定する必要があります。データベースは、エンド・ユーザーを認証し、 要求の処理を許可する前に、 データベースにアクセスするためのユーザー許可を検証します。

[z/OS]エンド・ユーザーの ID は、RACF® ID である必要があります。

手順

  1. DB2 データ・ソースで useTrustedContextWithAuthentication カスタム・プロパティーを true に設定します。
    1. 「JDBC」 > 「データ・ソース」とクリックします。
    2. 構成するデータ・ソースの名前をクリックします。
    3. 追加プロパティー」見出しで、「カスタム・プロパティー」を クリックします。
    4. 「新規」をクリックします。
    5. 必要なフィールドに入力します。 以下の情報を使用してください。
      名前
      useTrustedContextWithAuthentication true
    useTrustedContextWithAuthentication カスタム・プロパティーが true に設定されていない場合、 アプリケーション・サーバーは、実行時に認証を行うことなく、DB2 トラステッド接続の再利用の実装を提供します。この場合、 トラステッド・コンテキスト・フィーチャーを使用するためにユーザーが何かを提供する必要はありません。
  2. DB2 データベースでのトラステッド・コンテキストの使用可能化に関するトピックでの説明に従って、TrustedConnectionMapping のログイン構成を使用します。
  3. カスタム DataStoreHelper クラスの開発に関するトピックの説明に従って、DataStoreHelper クラスを拡張し、getPasswordForUseWithTrustedContextWithAuthentication メソッドの実装を提供します。 実行時に、 アプリケーション・サーバーはこのメソッドを呼び出して、 認証を行うトラステッド・コンテキストを使用可能に設定してあるときに、 トラステッド・コンテキスト ID を切り替えるためにアプリケーション・サーバーが使用する必要のあるパスワードを戻します。このメソッドによって戻されるパスワードは、 アプリケーション・サーバーがトラステッド・コンテキスト ID を切り替えるときにデータベースに送信され、 パスワードはアプリケーション・サーバーで保存されません。
    アプリケーション・サーバーは以下が true である場合にのみ、このメソッドを呼び出します。
    • useTrustedContextWithAuthentication データ・ソースのカスタム・プロパティーを true に設定します。
    • TrustedConnectionMapping ログイン構成を使用します。
    以下に、getPasswordForUseWithTrustedContextWithAuthentication メソッドの例を示します。
    public String getPasswordForUseWithTrustedContextWithAuthentication(String identityname, String realm)
                      throws SQLException
       {
          return customersOwnUtility().getPassword(identityname)   // customers use their own
                                                                   // implementation to get the password
       }
    トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): トラステッド接続の ID を切り替えるパスワードを取得するために DataStoreHelper クラスの getPasswordForUseWithTrustedContextWithAuthentication メソッドを上書きすることなく、 データ・ソースの useTrustedContextWithAuthentication カスタム・プロパティーを使用可能にすることはできません。getPasswordForUseWithTrustedContextWithAuthentication メソッドの実装を提供しない場合、 アプリケーション・サーバーにより実行時に例外がスローされ、以下のメッセージが表示されます。

    TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR=DSRA7033E: You cannot enable the useTrustedContextWithAuthentication custom property for the data source without overwriting the getPasswordForUseWithTrustedContextWithAuthentication DataStoreHelper. TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.explanation=The useTrustedContextWithAuthentication custom property is enabled, but the implementation code for the DataStoreHelper method that will return the password that the application server will use to switch the identity is not provided. TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.useraction=Overwrite the getPasswordForUseWithTrustedContextWithAuthentication DataStoreHelper method and provide the implementation code that will return the password, or set the useTrustedContextWithAuthentication custom property for the data source to false.

    gotcha

トピックのタイプを示すアイコン タスク・トピック



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