WebSphere Message Broker の認証サービスは、 JMS クライアントと WebSphere Message Broker Real-timeInput ノード間でサポートされるオプション機能を提供します。
デフォルト構成では、認証サービスは使用不可です。
認証サービスを使用するよう製品を構成するには、以下のステップを完了します。
ユーザー・ネーム・サーバーは、 これらの認証プロトコルをサポートするのに必要な情報 (特にパスワード) をブローカーに配布します。
ユーザー・ネーム・サーバー が認証をサポートするように構成するために、mqsicreateusernameserver および mqsichangeusernameserver コマンドに 2 つのパラメーターが提供されています。
最初のパラメーターの AuthProtocolDataSource は、 認証プロトコルをサポートするのに必要な情報を含むオペレーティング・システム・ファイルの場所を説明します。
2 番目のパラメーターの、-j フラグは、AuthProtocolDataSource パラメーターによって指し示されるファイルにグループ情報、 グループ・メンバーシップ情報、およびパスワード情報が含まれるかどうかを示します。
mqsichangeusernameserver コマンドは、 このオプションを使用不可にする -d フラグもサポートしています。
WebSphere Message Broker 認証サービスをサポートするよう、ブローカーを構成してください。2 つの認証およびアクセス制御のパラメーターを指定し、ワークベンチを使用して適切な Real-timeInput ノード、 およびブローカー上でサポートされるプロトコルのセットを構成することが必要です。
以下のステップは、このことを行う方法を示しています。
password.dat および pwgroup.dat という 2 つのサンプル・ファイルが、 WebSphere Message Broker に付属しています。
pwgroup.dat は、-j フラグを設定するときに使用できるサンプル・ファイルです。
password.dat は、デフォルトのケースで使用できるサンプル・ファイルです。
# This is a password file. # Each line contains two required tokens delimited by # commas. The first is a user ID, the second is that user's # password. #USERNAME PASSWORD ======================== subscriber,subpw admin,adminpw publisher,pubpwこのファイルは、オペレーティング・システムからユーザー・ネーム・サーバーにより 引き出されるユーザーおよびグループ情報を補足します。 ファイルでは定義されるが、オペレーティング・システムでは定義されないユーザー名は、 ブローカー・ドメインが認識しないものとして処理されます。 オペレーティング・システムでは定義されるが、 パスワード・ファイルでは定義されないユーザー名は、 システムへのアクセスを拒否されます。
pwgroup.dat には、ユーザーおよびパスワード情報に加え、 グループ情報が入っています。 各ユーザー項目には、ユーザーを含むグループを指定する、グループ名のリストが含まれます。
#This is a password file. #Each line contains two or more required tokens delimited by #commas.The first is a user ID and the second is that user's #password. All subsequent tokens #specify the set of groups that the user belongs to. #USERNAME PASSWORD GROUPS subscriber,subpw,group1,group2,group3 admin,adminpw,group2 publisher,pubpw,group2,group4上述のとおり、このファイルは、ブローカー・ドメインにユーザー、グループ、 およびパスワード情報のソースのみを提供するために使用できます。
この情報がオペレーティング・システムから引き出される場合にブローカー・ネットワークに対して 更新済みのユーザーおよびパスワード情報をデプロイするには、ユーザー・ネーム・サーバーおよび ブローカーを停止し、ファイルを更新してから、ユーザー・ネーム・サーバーおよびブローカーを 再始動します。
パスワードがオペレーティング・システムから引き出される場合、更新は自動的にブローカーに 配布されます。ユーザーまたはパスワードを変更するには、 通常のオペレーティング・システム管理ツールを使用してください。
CSD4 より前の Java Message Service Version 5.3 用の WebSphere MQ クラスを使用するクライアント・アプリケーションの場合、 クライアント・アプリケーションは必ず、PM の認証プロトコル・レベルを持ちます。 クライアント・アプリケーションおよびブローカーは、セッション用のプロトコルの選択に基づいて交渉します。 ブローカーが両方のプロトコルをサポートする (つまり、ブローカーのワークベンチ定義で PM または MP を設定した) 場合、 ワークベンチで最初に指定されているプロトコルが選択されます。
CSD10 (APAR IC47044) または CSD11 以降の Java Message Service Version 5.3 用の WebSphere MQ クラスを使用するクライアント・アプリケーションの場合、 このクライアント・アプリケーションでは、2 つのレベルの認証をサポートします。
TopicConnectionFactory は、 MQJMS_DIRECTAUTH_BASIC 認証モードか MQJMS_DIRECTAUTH_CERTIFICATE 認証モードのいずれかをサポートするように構成することができます。 MQJMS_DIRECTAUTH_BASIC 認証モードは PM のレベルに相当し、MQJMS_DIRECTAUTH_CERTIFICATE 認証モードは SR のレベルに相当します。
factory.createTopicConnection("user1", "user1pw");
証明書が指定されなかったり、指定が間違っていたりすると、 アプリケーションは MQJMS エラー・テキストを含む JMS ラップ例外を受け取ります。