アクセス制御リスト (ACL) を構成して、ランタイム・リソースへのアクセスを制御します。
ランタイム・リソース (例えば、ブローカーや実行グループ) を作成してトランスポート接続を保護したとき、 アクセス制御リスト (ACL) を構成して、どのオブジェクトにどのユーザー ID がアクセス可能かを制御する必要があります。 ACL を構成するまで有効なデフォルトのアクセスは、構成マネージャーのサービス ID のみに対するフル・コントロール・アクセスです。
ACL を構成するには、次のようにします。
次に示す図は、 アクセス制御リスト項目の階層の例です。
以下の例では、 この階層が実際にどのように働くかを示します。
例 1
UserA にはアクセス制御項目がありません。したがって、UserA は階層内のオブジェクトを操作することも、 そこで定義されたオブジェクトのいずれかを参照することもできません。
例 2
UserB には、実行グループ Eg1A に対する「デプロイ」権限を与える ACL 項目があります。この項目によって UserB には、 PubSubTopology と Broker1 に対する暗黙の「表示」権限が与えられます。 UserB は、Eg1A にデプロイできるためには、PubSubTopology と Broker1 を (例えば Message Brokers Toolkit で) 表示できなければなりません。
UserB には PubSubTopology または Broker1 の ACL 項目がないので、UserB は階層内の他のブローカーや実行グループへのアクセス権を継承しません。 実際問題としてこれは、UserB はブローカー Broker1 で別の実行グループが定義されていることは分かっても、 詳細 (実行グループの名前を含む) は何も表示できないということを意味しています。 同様に、UserB はトポロジー内に別のブローカーが存在することは分かっても、詳細は何も表示できません。UserB には、RootTopic または Subscriptions (サブスクリプション表) へのアクセス権がありません。
mqsicreateaclentry testcm -u UserB -a -x D -b Broker1 -e Eg1Aこの後に mqsilistaclentry コマンドを発行すると、次の情報が表示されます。
BIP1778I: userb -USER - D - Broker1/Eg1A - ExecutionGroup
例 3
CMP 表示
RootTopic 表示
Subs 表示
Topology 表示
Broker1 フル
Eg1A フル
Eg1B フル
Broker2 表示
Eg2A 表示
Eg2B 表示
mqsicreateaclentry testcm -u UserC -a -x V -p mqsicreateaclentry testcm -u UserC -a -x F -b Broker1この後に mqsilistaclentry コマンドを発行すると、次の情報が表示されます。
BIP1778I: userc - USER - V - ConfigManagerProxy - ConfigManagerProxy BIP1778I: userc - USER - F - Broker1 - Broker
例 4
CMP フル
RootTopic フル
Subs フル
Topology フル
Broker1 表示
Eg1A 表示
Eg1B 表示
Broker2 フル
Eg2A フル
Eg2B フル
mqsicreateaclentry testcm -u UserD -a -x F -p mqsicreateaclentry testcm -u UserD -a -x V -b Broker1この後に mqsilistaclentry コマンドを発行すると、次の情報が表示されます。
BIP1778I: userd - USER - F - ConfigManagerProxy - ConfigManagerProxy BIP1778I: userd - USER - V - Broker1 - Brokerその後、次のコマンドを発行することによって、UserD の ACL 項目を削除できます。
mqsideleteaclentry testcm -u UserD -a -b Broker1