WebSphere Message Broker はアクセス制御リスト (ACL) を使用して、構成マネージャー および Message Brokers Toolkit 内のオブジェクトを操作できるユーザーおよびグループを制御します。ユーザーまたはグループに付与できる 4 つの異なるアクセス・レベルがあります。すなわち、フル、表示、デプロイ、および編集です。すべてのオブジェクト・タイプに対して必ずしもすべてのアクセス・レベルが有効だとは限りません。下記の表は、それぞれのオブジェクト・タイプに設定できる許可を記述し、ユーザーまたはグループが実行できるアクションを要約します。
ブローカー管理者が作成しなければならないアクセス制御項目の数を削減するために、ACL 許可は階層に従って機能します。ツリーのルートは ConfigManangerProxy オブジェクトで、これには RootTopic、Subscriptions、および PubSubTopology という 3 つの子があります。PubSubTopology オブジェクトは子としてゼロ個以上のブローカーを持ち、それぞれのブローカーは子としてゼロ個以上の実行グループを持ちます。あるオブジェクトに ACL 項目を追加すると、その許可はそのオブジェクト自体に付与されるとともに、別の ACL 項目によって指定変更されないかぎり、階層内でそのオブジェクトの下に位置するすべてのオブジェクトにも付与されます。次に示す図は、階層の例です。
以下のシナリオでは、この階層式の機能が実際にどのように働くかを示します。
シナリオ 1
UserA にはアクセス制御項目がありません。したがって、UserA は階層内のオブジェクトを操作することも、階層内で定義されたオブジェクトのいずれかを参照することもできません。
シナリオ 2
CMP なし
RootTopic なし
Subs なし
Topology 表示
Broker1 表示
Eg1A デプロイ
Eg1B なし
Broker2 なし
Eg2A なし
Eg2B なし
アクセス制御項目が実行グループに対して付与されているので、親のブローカーおよびトポロジーに対しても暗黙の「表示」許可が与えられます。さもないと、実行グループはツール内で表示されなくなってしまいます。しかし、このユーザーにはブローカーまたはトポロジーに対する実際の ACL 項目はないので、他のブローカーまたは実行グループに対する継承されたアクセスはありません。実際問題としてこれは、UserB はそのブローカーで別の実行グループが定義されていることは分かっても、詳細 (名前を含む) は何も表示できないということを意味しています。
同様に、UserB はトポロジー内に別のブローカーが存在することは分かっても、詳細は何も表示できません。UserB は RootTopic またはサブスクリプション表に対するアクセスを持ちません。
シナリオ 3
CMP 表示
RootTopic 表示
Subs 表示
Topology 表示
Broker1 フル
Eg1A フル
Eg1B フル
Broker2 表示
Eg2A 表示
Eg2B 表示
シナリオ 4
CMP フル
RootTopic フル
Subs フル
Topology フル
Broker1 表示
Eg1A 表示
Eg1B 表示
Broker2 フル
Eg2A フル
Eg2B フル
この例の場合、Broker1 に対する「表示」項目がなければ、ユーザーはフル・コントロールを持つことになります。「表示」項目のこのような使用法は有用です。これにより、通常は特定のオブジェクトに対してフル・コントロールを持っているユーザーから、一時的にアクセス権を削減し、偶発的な削除またはデプロイを防ぐことができるからです。ユーザーがオブジェクトのフル・コントロールを必要とする場合には、「表示」項目を除去するとフル・コントロールが復元するので、必要とする操作を実行できます。その後で「表示」項目を復元できます。
オブジェクトのアクセス制御項目を変更するためには、ユーザーはそのオブジェクト、または階層の親に対してフル・コントロールを有していなければなりません。これはつまり、ACL 自体を変更する許可は上記と同様に作動するものの、例外として、ツリーのより下の部分に対してより下位の許可を付与しても ACL へのアクセスは除去できないということです。これは必要な事柄です。というのは、さもないと、ユーザーが自分自身に対して「表示」項目を付与した後でそれを除去できなくなってしまうからです。
ACL 項目の操作は、Java 構成マネージャー・プロキシー API または mqsicreateaclentry、mqsideleteaclentry、および mqsilistaclentry コマンドを使用して行えます。
オブジェクト | 許可 | 権利 |
---|---|---|
トポロジー | フル・コントロール |
|
表示 |
|
|
ブローカー | フル・コントロール |
|
デプロイ |
|
|
表示 |
|
|
実行グループ | フル・コントロール |
|
デプロイ |
|
|
表示 |
|
|
root トピック | フル・コントロール |
|
デプロイ |
|
|
編集 |
|
|
表示 |
|
|
サブスクリプション | フル・コントロール |
|
表示 |
|