WebSphere のメソッド・レベル宣言のセキュリティーを使用すると、共通イベント・インフラストラクチャー機能へのアクセスを制限できます。
共通イベント・インフラストラクチャーでは、6 つのセキュリティー役割が定義され、それぞれの役割は関連する機能のグループに関連付けされています。 これらのセキュリティー役割により、プログラミング・インターフェースおよびコマンドの両方へのアクセスが制御されます。 (共通イベント・インフラストラクチャーのデフォルト構成では、これらの役割を使用する必要はありません。 ただし、Network Deployment 環境では、WebSphere ESB は共通イベント・インフラストラクチャーのセキュリティー役割に割り当てられた同一のユーザーで認証する必要があります。 セキュリティー役割について詳しくは、WebSphere Application Server インフォメーション・センターの「セキュリティーの学習」および「役割ベースの許可」を参照してください。) ユーザーが既に WebSphere ESB の認証済みユーザーであり、グローバル・セキュリティーがオンにされている場合は、共通イベント・インフラストラクチャー・リソースにアクセスできます。
セキュリティー役割が特定のユーザーと役割のマッピングにより使用されている場合、認証ユーザーはセキュリティー役割に割り当てられたユーザーと同一である必要があります。 認証ユーザーおよび RunAs 役割について詳しくは、 「RunAs 役割へのユーザーの割り当て」を参照してください。
以下のテーブルには、セキュリティー役割、および各役割に関連したユーザーのタイプが説明されています。
セキュリティー役割 | ユーザー・タイプ |
---|---|
eventAdministrator | イベント・データベースに格納されたイベントを照会、更新、および削除する必要があるイベント・コンシューマー。
この役割では、以下のインターフェースにアクセスできます。
|
eventConsumer | イベント・データベースに格納されたイベントを照会する必要があるイベント・コンシューマー。
この役割では、以下のインターフェースにアクセスできます。
|
eventUpdater | イベント・データベースに格納されたイベントを更新する必要があるイベント・コンシューマー。
この役割では、以下のインターフェースにアクセスできます。
|
eventCreator | 同期 EJB 呼び出しを使用してエミッターにイベントをサブミットする必要があるイベント・ソース。
この役割では、以下のインターフェースにアクセスできます。
注: eventCreator 役割では、エミッターがイベントの送信に同期 EJB 呼び出しを使用するよう構成されている場合にのみ、イベントのサブミットにアクセスが制限されます。
エミッターがイベントの送信に非同期 JMS メッセージングを使用する場合は、JMS セキュリティーを使用して、イベントのサブミットに使用する宛先にアクセスを制限する必要があります。
|
catalogAdministrator | イベント・カタログでのイベント定義を作成、更新、削除、または取得する必要があるイベント・カタログ・アプリケーション。 この役割では、EventCatalog インターフェースのすべてのメソッド、および eventcatalog.jacl スクリプトのすべての関数にアクセスできます。 イベント・カタログを変更すると結果としてイベントが生成されるため、この役割では、イベント・サブミッションのインターフェースへのアクセスも提供されます。 |
catalogReader | イベント・カタログからイベント定義を取得する必要があるイベント・カタログ・アプリケーション。
この役割では、以下のインターフェースにアクセスできます。
|
共通イベント・インフラストラクチャーの機能を使用する上で最も関係のあるセキュリティー役割は、eventAdministrator および eventConsumer です。
イベント・サーバーのメッセージ駆動型 Bean は、 WebSphere ESB ユーザー ID を使用して実行されます。 非同期 JMS 送信を使用してイベント・サーバーにイベントをサブミットし、メソッド・ベースのセキュリティーを使用可能に設定している場合は、このユーザー ID を eventCreator 役割にマップする必要があります。
Java 2 セキュリティーを使用可能に設定している場合は、ポリシー・ファイルを変更して、以下のように特定の関数へのアクセスを使用可能に設定する必要があります。
permission java.io.FilePermission "${java.io.tmpdir}${/}guid.lock", "read, write, delete"; permission java.net.SocketPermission "*", "resolve";
permission java.util.PropertyPermission "*", "read"; permission java.io.FilePermission "${was.install.root}${/}java${/}jre${/}lib${/}jxpath.properties", "read";