ブローカー管理セキュリティーを有効にすると、ブローカーは、特定のキューを調べて、ブローカーまたはそのリソースに対する特定のタスクを実行する権限がユーザーにあるかどうかを確認します。
ブローカーを作成すると、キュー SYSTEM.BROKER.AUTH が作成されます。 このキューのユーザー・グループ mqbrkrs に、読み取り、書き込み、実行の権限が自動的に認可されます。 このキューは、この時点でセキュリティーを有効にしなくても作成されます。
SYSTEM.BROKER.AUTH キューはローカル・キューとして作成され、そのブローカーとブローカー・プロパティーに対するアクションを実行する権限をどのユーザーに与えるかを定義するために使用されます。
セキュリティーを有効にしたブローカーの実行グループを作成すると、その実行グループの権限キュー SYSTEM.BROKER.AUTH.EG が作成されます。 EG は実行グループの名前です。 このキューのユーザー・グループ mqbrkrs に、読み取り、書き込み、実行の権限が自動的に認可されます。 各実行グループの専用のキューは、キュー SYSTEM.BROKER.AUTH の別名として作成されます。
管理セキュリティーなしでブローカーを作成した場合でも、後から変更できます。 そのブローカーに 1 つ以上の実行グループが定義されていた場合にそのセキュリティー設定を変更すると、実行グループの必要な権限キューが定義されます。
キューを作成できるのは、WebSphere® MQ セキュリティー・グループ mqm のメンバーであるユーザー ID に限られます。 したがって、ブローカーの作成や変更を行うユーザー ID、および実行グループの作成時にブローカーの実行に使用されている ID は、そのセキュリティー・グループのメンバーでなければなりません。 ユーザー ID にその権限がない場合は、エラーとキュー名が記述されたメッセージがコマンドに戻されるか (mqsichangebroker コマンドの場合のみ)、システム・ログに書き込まれます。 キューは自分で作成するか、WebSphere MQ 管理者に作成を依頼する必要があります。
WebSphere MQ では、キュー名の長さが 48 文字に制限されています。 キュー名の文字は、En_US ASCII 文字セットの文字でなければならず、大文字、小文字、数字のほかに、特殊文字として、ピリオド (.)、スラッシュ (/)、下線 (_)、パーセント (%) を使用できます。 実行グループの名前に無効な文字が含まれていると、WebSphere MQ キュー名では、その文字が下線文字に置き換えられます。 例えば、test@environment という名前の実行グループを作成した場合は、SYSTEM.BROKER.AUTH.test_environment という名前の権限キューが作成されます。
セキュア環境で実行している場合は、実行グループの名前を 29 文字に制限してください。 そうすれば、接頭部 SYSTEM.BROKER.AUTH を含めて生成される権限キュー名が WebSphere MQ の 48 文字の制限を超えることはありません。
すべての実行グループ名が長さと文字の要件に準拠しているわけではない場合は、似たような名前の実行グループ同士が権限キューを共用する可能性があります。 その場合は、2 番目の実行グループが作成された時点で、キューが共用されるという趣旨の警告メッセージが、コマンドを発行したユーザーに戻されるか、システム・ログに書き込まれます。
実行グループを削除しても、関連する権限キューは保持されます。 ブローカーを削除するときに適切なパラメーターを指定した場合に、キューが削除されます。 実行グループを再作成した場合にキューを再利用できますが、キューに定義されている権限を調べて、それらがまだ有効であることを確認する必要があります。
実行グループの名前を変更する場合は、適切な名前の権限キューをまず作成する必要があります。 このキューに元の権限キューに関連した WebSphere MQ 許可を手動で再作成することも、実行グループの名前変更前に行う必要があります。このタスクは、ブローカーによって自動的に実行されるわけではありません。 権限キューが存在しなければ、ブローカーは名前変更要求を拒否して、セキュリティーが名前変更の影響を受けないようにします。 その許可を手動で再作成しない限り、名前変更後の実行グループに対するタスクを実行する権限を持ったユーザー ID は存在しません。
ブローカーを削除するときに、そのすべての権限キューも削除することを指定できます。これらは、デフォルトでは削除されません。 この時点でキュー・マネージャーを削除することを指定した場合は、すべてのキューが削除されます。