[z/OS]

コンテキスト・セキュリティーのためのプロファイル

IBM® MQ は、特定のメッセージに固有のコンテキスト情報へのアクセスを制御するためにプロファイルを使用します。 コンテキストは、メッセージ記述子 (MQMD) に組み込まれます。

コンテキスト・セキュリティーのためのプロファイルの使用

コンテキスト・セキュリティーが活動状態である場合、 以下を行う必要があります。
  • 大文字のプロファイルを使用する場合は、MQADMIN クラスでプロファイルを定義します。
  • 大/小文字混合のプロファイルを使用する場合は、MXADMIN クラスでプロファイルを定義します。
このプロファイルは、hlq.CONTEXT.queuename という形式になります。
hlq
qmgr-name (キュー・マネージャー名) または qsg-name (キュー共有グループ名) のいずれかです。
queuename
コンテキスト・プロファイルを定義するキューの完全な名前または汎用プロファイルのいずれかです。

キュー・マネージャー名の接頭部が付いていて、キュー名の指定が ** になっているプロファイルでは、そのキュー・マネージャーに属するすべてのキューでコンテキスト・セキュリティーが制御されます。 この動作を個々のキューでオーバーライドする場合は、そのキューでコンテキストに関するキュー・レベルのプロファイルを定義します。

キュー共有グループ名の接頭部が付いていて、キュー名の指定が ** になっているプロファイルでは、キュー共有グループに含まれている各キュー・マネージャーに属するすべてのキューでコンテキストが制御されます。 この動作を個々のキュー・マネージャーでオーバーライドする場合は、そのキュー・マネージャーでコンテキストに関するキュー・マネージャー・レベルのプロファイルを定義し、キュー・マネージャー名の接頭部が付いているプロファイルを指定します。 この動作をさらに個々のキューでオーバーライドする場合は、キュー名の接頭部が付いているプロファイルを指定します。

キュー・マネージャーがキュー共有グループのメンバーであり、キュー・マネージャー・レベルとキュー共有グループ・レベルの両方のセキュリティーを使用している場合、 IBM MQ は、キュー・マネージャー名の接頭部が付いているプロファイルを最初に検査します。 見つからない場合は、キュー共有グループ名の接頭部が付いているプロファイルを探します。

このプロファイルに対するアクセス権を対象のグループまたはユーザー ID に与える必要があります。 キューを開くときのコンテキスト・オプションの指定内容に応じて必要になるアクセス権のレベルを以下の表にまとめます。

表 1. コンテキスト・セキュリティーで必要なアクセス権のレベル
MQOPEN オプションまたは MQPUT1 オプション hlq.CONTEXT.queuename に必要な RACF® アクセス権のレベル
MQPMO_NO_CONTEXT コンテキスト・セキュリティー検査なし
MQPMO_DEFAULT_CONTEXT コンテキスト・セキュリティー検査なし
MQOO_SAVE_ALL_CONTEXT コンテキスト・セキュリティー検査なし
MQOO_PASS_IDENTITY_CONTEXT MQPMO_PASS_IDENTITY_CONTEXT READ
MQOO_PASS_ALL_CONTEXT MQPMO_PASS_ALL_CONTEXT READ
MQOO_SET_IDENTITY_CONTEXT MQPMO_SET_IDENTITY_CONTEXT UPDATE
MQOO_SET_ALL_CONTEXT MQPMO_SET_ALL_CONTEXT CONTROL
MQOO_OUTPUT または MQPUT1 (USAGE (XMITQ)) CONTROL
MQSUB オプション  
MQSO_SET_IDENTITY_CONTEXT ( 注 2 ) UPDATE
注:
  1. 分散キューイングで使用されるユーザー ID には、宛先キューにメッセージを書き込むために、hlq.CONTEXT.queuename に対する CONTROL アクセス権が必要になります。 使用されるユーザー ID については、 チャネル・イニシエーターが使用するユーザー ID を参照してください。
  2. MQSO_CREATE オプションまたは MQSO_ALTER オプションを指定した MQSUB 要求で MQSD 構造のいずれかの ID コンテキスト・フィールドを設定しようとする場合は、MQSO_SET_IDENTITY_CONTEXT オプションを指定する必要があります。 さらに、宛先キューのコンテキスト・プロファイルに対する適切な権限も必要になります。

システム・コマンド入力キューにコマンドを書き込む場合は、デフォルト・コンテキストのメッセージ書き込みオプションを使用してコマンドに正しいユーザー ID を関連付けます。

例えば、 IBM MQ提供のユーティリティー・プログラム CSQUTIL を使用して、メッセージをキューにオフロードして再ロードすることができます。 CSQUTIL ユーティリティーは、オフロードしたメッセージをキューに復元するときに、MQOO_SET_ALL_CONTEXT オプションを使用してメッセージを元の状態に戻します。 キューを開くときに指定するこのオプションで必要なキュー・セキュリティーのほかに、コンテキスト権限も必要になります。 例えば、キュー・マネージャー MQS1 でグループ BACKGRP にその権限が必要であれば、以下のようにしてその権限を定義します。

RDEFINE MQADMIN MQS1.CONTEXT.** UACC(NONE)
PERMIT MQS1.CONTEXT.** CLASS(MQADMIN) ID(BACKGRP) ACCESS(CONTROL)
指定するオプションや実行するセキュリティーのタイプによっては、キューを開くときに他のタイプのセキュリティー検査も実行される可能性があります。 これには、キュー・セキュリティー ( キュー・セキュリティーのプロファイル を参照) および代替ユーザー・セキュリティー ( 代替ユーザー・セキュリティーのプロファイル を参照) が含まれます。 オープン・オプションと、キュー・セキュリティー、コンテキスト・セキュリティー、および代替ユーザー・セキュリティーがすべてアクティブな場合に必要なセキュリティー検査を示す要約表については、 表 1を参照してください。

システム・キュー・コンテキスト・セキュリティー

システム・キューの多くは、 IBM MQの補助部分 (例えば、チャネル・イニシエーター・アドレス・スペース[V9.0.1 2016 年 11 月]、および IBM MQ Consoleadministrative REST API によって使用される IBM WebSphere® Application Server Liberty Profile for IBM MQ サーバー ( MQ Server の場合は WLP)) によってアクセスされます。

これらを実行するユーザー ID には、 [V9.0.1 2016 年 11 月]表 2に示すように、これらのキューに対する RACF アクセス権を付与する必要があります。

[V9.0.1 2016 年 11 月]
表 2. コンテキスト操作で必要な SYSTEM キューに対するアクセス権
SYSTEM キュー 分散キューイングのためのチャネル・イニシエーター WLP for MQ サーバー
SYSTEM.ADMIN.COMMAND.QUEUE - CONTROL
SYSTEM.BROKER.CONTROL.QUEUE CONTROL -
SYSTEM.BROKER.INTER.BROKER.COMMUNICATIONS CONTROL -
SYSTEM.CHANNEL.SYNCQ CONTROL -
SYSTEM.CLUSTER.COMMAND.QUEUE CONTROL -
SYSTEM.CLUSTER.TRANSMIT.QUEUE CONTROL -