リスナー・ポートを使用するメッセージ駆動型 Bean のセキュリティーの構成

Java™ EE コネクター・アーキテクチャー (JCA) 以外のメッセージング・プロバイダーでは、接続ファクトリー、宛先、およびメッセージ駆動型 Bean の間の関連は、リスナー・ポートによって提供されます。 この場合、コンテナー管理の別名を設定することによって、メッセージ駆動型 Bean のリソース・セキュリティーおよびセキュリティー権限を構成できます。MDB リスナーのセキュリティー情報は、MDB リスナーの JMS 接続が作成されたときに確立されます。

始める前に

リスナー・ポートにより、このポートに関連付けられている、デプロイされたメッセージ駆動型 Bean は、関連宛先からメッセージを検索できるようになります。 リスナー・ポートについて詳しくは、メッセージ駆動型 Bean - リスナー・ポート・コンポーネントを参照してください。

注: WebSphere Application Server バージョン 7 以降では、リスナー・ポートは安定化されています。詳しくは、安定化されたフィーチャーに関する項目を参照してください。リスナー・ポートを使用する WebSphere MQ メッセージ駆動型 Bean のデプロイメント構成を、アクティベーション・スペックを使用する構成に移行する準備を行う必要があります。[AIX Solaris HP-UX Linux Windows][IBM i]非 ASF モードのアクティベーション・スペックの構成方法について詳しくは 『非 ASF モードのアクティベーション・スペックの構成』を参照してください。 ただし、アプリケーションを WebSphere Application Server バージョン 7 より前のアプリケーション・サーバーで実行する必要がないと確認するまでは、このマイグレーションを開始しないでください。例えば、1 つのアプリケーション・サーバー・クラスターにバージョン 6.1 のメンバーとそれより新しいバージョンのメンバーがある場合は、クラスター内のすべてのアプリケーション・サーバーをその新しいバージョンにマイグレーションするまでは、そのクラスター上のアプリケーションを、アクティベーション・スペックを使用するようにマイグレーションしないでください。

このタスクについて

MDB のセキュリティーはほとんどの点で、他のエンタープライズ Bean のセキュリティーと同一です。 例えば、JDBC リソースおよび JCA リソース (CICS® や IMS™ など) へのアクセスは、エンティティー Bean またはセッション Bean の場合と同じ方法で処理されます。また、他の JMS リソースへのアクセスも他のエンタープライズ Bean と同じ方法で処理されます。

リスナー・ポートにデプロイされた MDB を保護するには、サーバーが JMS プロバイダーおよび宛先に接続できるように認証および許可を構成して、MDB の onMessage() メソッドで、処理するためにメッセージを宛先から取得できるようにします。

一部の MDB では、onMessage() メソッドは、初期 JMS 接続の確立後に、追加の JMS リソースにアクセスしようとします。その場合、セキュリティーは、エンティティーまたはセッション EJB による JMS 呼び出しと同様に処理されます。

リスナー・ポートにデプロイされた MDB のセキュリティー情報は、初期 JMS 接続の作成時に必要になります。MDB がリスナー・ポートにデプロイされている場合は、MDB のセキュリティー情報は、リスナー・ポートが使用している接続ファクトリーに指定された値によって決定されます。リスナー・ポートが JMS 接続を作成するために使用するユーザー ID は、以下のように、キュー接続ファクトリーに指定された認証別名のタイプによって決定されます。
  1. コンテナー管理の別名が接続ファクトリーに定義されている場合は、コンテナー管理の別名に関連付けられたユーザー ID が createQueueConnection(userid,password) などの接続作成呼び出しで使用されます。
  2. コンポーネント管理の別名がこの接続ファクトリーに定義されている場合は、コンポーネント管理の別名に関連付けられたユーザー ID が、接続作成呼び出しで使用されます。
  3. どちらの別名も指定されておらず、接続ファクトリーがバインディング・モード (つまり TransportType = "BINDINGS") で定義されている場合は、サーバー ID が使用されます。 [z/OS]サーバー ID は、サーバント内のサーバント ID およびコントローラー内のコントローラー ID へとさらに細かく変換されます。 そのため、listening-in コントローラーの場合は、コントローラー ID が関連し、サーバント ID も関連します。listening-in コントローラーについての関連情報は、[z/OS]z/OS でのメッセージ・リスナー・サービスを参照してください。
注: ここで参照されている認証別名は、管理者によって定義された接続ファクトリーに関連付けられた認証別名です。 MDB リスナーまたはリスナー・ポートに関連付けられたアプリケーション・リソース参照がないため、このレベルでは認証別名を設定してはなりません。

コンテナー管理の別名を設定するには、(そのオプションを選択した場合は)、管理コンソールを使用して以下のステップを実行します。

手順

  1. リスナー・ポート設定を表示するには、 「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」 > application_server > 「[通信] メッセージング」 > 「メッセージ・リスナー・サービス」 > 「[追加プロパティー] リスナー・ポート」 > 「listener_port」とクリックします。
  2. JMS 接続ファクトリーの名前を取得するには、「接続ファクトリー JNDI 名」プロパティーを参照してください。
  3. JMS 接続ファクトリー・プロパティーを表示します。例えば、キュー接続ファクトリーのプロパティーを表示するには、「リソース」 > 「JMS」->「キュー接続ファクトリー」->「queue_connection_factory をクリックします。
  4. 「コンテナー管理認証別名」プロパティーを設定します。
  5. OK」をクリックします。

次のタスク

他の EJB の起動

リスナー・ポートに到着するメッセージには、関連付けられたクライアント・クレデンシャルがありません。 このメッセージは匿名です。メッセージ駆動型 Bean からセキュアなエンタープライズ Bean を呼び出すには、メッセージ駆動型 Bean を RunAs ID デプロイメント記述子で構成する必要があります。 セキュリティーは、メッセージ駆動型 Bean の RunAs ID が EJB コンポーネントとして指定するロールによって決まります。

EJB セキュリティーについて詳しくは、エンタープライズ Bean アプリケーションの保護を参照してください。 アプリケーションのセキュリティー構成について詳しくは、アセンブリーおよびデプロイメント中のアプリケーションの保護を参照してください。


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



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