WebSphere MQ パブリッシュ/サブスクライブでは、パブリッシュおよびサブスクライブの権限検査すべてはストリーム・キューに対して行われます。
- パブリッシュ元のアプリケーションには、メッセージをストリーム・キューに入れるための権限が必要です。
- さらに WebSphere MQ パブリッシュ/サブスクライブ・ブローカーは、ストリーム・キュー上をブラウズする
サブスクライブ元のアプリケーションの権限も検査します。
- サブスクライブ元のアプリケーションには、パブリケーションを受け取るために指定したキューにメッセージを書き込む権限が必要です。
同様の検査は WebSphere Message Broker ブローカーによっても行われますが、その場合にはサブスクライブ、ブラウズ、
権限が検査されません。
その代わりに WebSphere Message Broker はワークベンチを使用して作成できるアクセス制御リスト (ACL) を使用して、個々のトピックに必要な権限を与えます。
WebSphere MQ パブリッシュ/サブスクライブ・ブローカーを
WebSphere Message Broker にマイグレーションする前、
または
WebSphere MQ パブリッシュ/サブスクライブ・アプリケーションが
WebSphere Message Broker で稼働するようにマイグレーションする前に、以下のセキュリティー上の注意事項を検討してください。
下の図は、必要なストリーム権限を示しています。
この例では、プリンシパル PublicGroup のトピック・ルートにあるデフォルトの ACL を、パブリッシュ、
サブスクライブ、および永続配信の権限すべてを
deny に設定して更新していると想定します。
この例を使用して、以下のグループが定義されていると想定します。
- PDefault: デフォルト・ストリームにパブリッシュする許可を持つユーザーのグループ
- SDefault: デフォルト・ストリームにサブスクライブする許可を持つユーザーのグループ
- PStreamX: StreamX にパブリッシュする許可を持つユーザーのグループ
- SStreamX: StreamX にサブスクライブする許可を持つユーザーのグループ
- PStreamY: StreamY にパブリッシュする許可を持つユーザーのグループ
- SStreamY: StreamY にサブスクライブする許可を持つユーザーのグループ
ACL を以下のとおりに設定して、権限を認可または拒否しなければなりません。
- PDefault にはルートに対するパブリッシュ権限を付与する必要があり、
SDefault にはルートに対するサブスクライブ権限を付与する必要があります。
- PDefault には $SYS/STREAM/ に対するパブリッシュ権限を拒否する必要があり、
SDefault には $SYS/STREAM/ に対するサブスクライブ権限を拒否する必要があります。
これらの設定値は、デフォルト・ストリーム上のパブリッシャーおよびサブスクライバーが
関連する設定値をオーバーライドする明示的な ACL のない他のストリームにパブリッシュまたは
サブスクライブできないようにします。
- PStreamX には $SYS/STREAM/StreamX/ に対するパブリッシュ権限が必要であり、
SStreamX には $SYS/STREAM/StreamX/ に対するサブスクライブ権限を付与する必要があります。
これらの設定値は親トピックでのあらゆる設定をオーバーライドして、
パブリッシュおよびサブスクライブの活動をこれらの特定のグループ内にあるユーザーに制限します。
- PStreamY には $SYS/STREAM/StreamY/ に対するパブリッシュ権限が必要であり、
SStreamY には $SYS/STREAM/StreamY/ に対するサブスクライブ権限を付与する必要があります。
これらの設定値は親トピックでのあらゆる設定をオーバーライドして、
パブリッシュおよびサブスクライブの活動をこれらの特定のグループ内にあるユーザーに制限します。
この状態に対して例外をセットアップしたい場合、
適切なポイントで ACL を紹介してそれを行うことができます。
例えば、パブリッシャーに StreamX にパブリッシュするための
デフォルト・ストリーム PDefault に対する権限を認可したい場合、
明示的な ACL をポイント (3) で作成する必要があります。
この設定は例示 (2) での権限の否認をオーバーライドします。
このシナリオでは、ユーザー PDefault はまだ StreamY に対してパブリッシュすることができません。