本文へジャンプ

【ガイド - WAS V6.0/6.1/V7.0】推奨されるJ2C認証別名の設定方法 (WAS-09-044)

WASでリソースを使用して接続を行う際、アプリケーション内でのusername/passwordのハード・コーディングを避けるために、username/passwordをセットでエイリアスとして定義しておく「J2C認証別名」というものが用意されています。セキュリティー上の考慮点と設定方法を解説します

内容/目次

【概要】

WAS (WebSphere Application Server) でリソース(JDBCデータ・ソース、JMS接続ファクトリーなど)を使用して接続を行う際、アプリケーション内でのusername/passwordのハード・コーディングを避けるために、username/passwordをセットでエイリアスとして定義しておく「J2C認証別名」というものが用意されています。

J2C認証別名は、

    1. コンテナー管理認証別名としてWASのリソース(データ・ソース、JMS接続ファクトリーなど)に設定する方法
    2. コンテナー管理認証別名としてアプリケーションのリソース参照に設定する方法
    3. コンポーネント管理認証別名としてWASのリソース(データ・ソース、JMS接続ファクトリーなど)に設定する方法
の3通りの設定方法がありますが、セキュリティーの観点から、推奨される方法は2の「コンテナー管理認証別名としてアプリケーションのリソース参照に設定する方法」のみとなります。

本技術速報では、推奨されない理由と推奨される方法の設定方法をご案内いたします。

【対象製品】
対象OS :AIX、HP-UX、Linux、Solaris、Windows、z/OS、i5/OS
対象SW :WAS V6.0/V6.1/V7.0 すべてのエディション

【前提条件】
J2C認証別名を使用している環境

【内容】
アプリケーションからWASのリソースを使用してDBやMOM製品(WMQなど)への接続を行う際、J2C認証別名をWASのリソース定義、もしくはアプリケーションのリソース参照に対してマッピングを行うことで、アプリケーション内でuser/passwordのハードコーディングをするのではなく、認証情報を外出しにできるという利点があります。

J2C認証別名は、コンテナーによって認証が管理されるコンテナー管理認証別名と、コンポーネント(アプリケーション)によって認証が管理されるコンポーネント管理認証別名のいずれかにマッピングされます。
    ・コンポーネント管理認証別名
      アプリケーションのリソース参照のres-authがapplicationに設定されている場合、もしくはリソース参照を使用していないためres-authが設定されていなく、アプリケーション内でコネクション生成時にuser/passwordを設定してない場合に使用されるデフォルト値となります。

    ・コンテナー管理認証別名
      リソース参照のres-authがcontainerの場合に使用される値となります。

J2C認証別名をコンポーネント管理認証別名とマッピングする方法は、以下の通りです。
    ・コンポーネント管理認証別名としてWASのリソース(データ・ソース、JMS 接続ファクトリーなど)に設定する方法

J2C認証別名をコンテナー管理認証別名とマッピングする方法は、以下の2通りあります。
    ・コンテナー管理認証別名としてWASのリソース(データ・ソース、JMS 接続ファクトリーなど)に設定する方法
    ・コンテナー管理認証別名としてアプリケーションのリソース参照に設定する方法

これらのうち、WASのリソースに設定するコンテナー管理認証別名は、WAS V6.0より、非推奨となっています。
また、InfoCenterには明記されていませんが、コンポーネント管理認証別名の使用も推奨されません。
つまり、認証別名をWASのリソースに対して設定する方法は、すべて推奨されないということになります。
これは、J2C認証別名をWASのリソースへ設定してしまうことによって、本来そのリソースを使用すべきではないアプリケーションからリソースが使用されてしまう可能性があり、セキュリティーの観点から好ましくないためです。

J2C認証別名をアプリケーションのリソース参照にマッピングすれば、そのリソース参照を使用するモジュール内でしか使用されないことになります。

現在、WASのリソースに対してJ2C認証別名を設定されている場合でも、WASの動作に影響を及ぼすことはありませんが、新規に設定をされる場合は、アプリケーションのリソース参照に対して設定することをお勧めします。

リソース参照へのコンテナー管理認証別名の設定方法は、RAD (Rational Application Developer) などのアセンブリー・ツールを使用してあらかじめアプリケーションに設定する方法と、アプリケーションのデプロイ中、もしくはデプロイ後に、WASの管理コンソールから設定する方法があります。

【設定方法】
以下アセンブリー・ツールによる設定方法とWAS 管理コンソールを使用した設定方法を示します。
尚、下記ガイドは、対象モジュール内でリソース参照が作成されており、res-auth=Containerとなっていることが前提となります。

<アセンブリー・ツール(RAD V7.5)での設定方法>
    アセンブリー・ツール(RAD V7.5)での設定方法.pdf

    <管理コンソール(WAS V7.0)での設定方法>
      管理コンソール(WAS V7.0)での設定方法.pdf

      【注意点】
      今後、WASのリソースに対するコンポーネント管理認証別名やコンテナー管理認証別名が削除されるわけではありませんので、双方ともご使用いただけますし、そのような設定をされている場合でも、WASの動作に影響を及ぼすことはありません。

      WASのリソースへのJ2C認証別名をご使用いただく場合は、上記でご案内させていただきました通り、セキュリティー上好まれない事を理解したうえでご使用ください。


      以上

      添付資料

      文書情報

      有効期限: 2017年9月10日
      資料番号: WAS-09-044

      WebSphere software

      Webカタログ

      製品の機能や稼働OS、参考料金をご紹介