z/OS® では、実行グループを実行する代替ユーザー ID を指定できます。ここで使用されたユーザー ID は、メイン・ブローカー・ユーザー ID に割り当てられている権限ではなく、そのユーザー ID に割り当てられている権限に従ってリソースにアクセスできるようになります。
実行グループを実行する代替ユーザー ID を指定できるということは、1 つ以上のメッセージ・フローをメイン・ブローカー ID とは異なるユーザー ID で実行できるということです。メッセージ・フローを使用して外部リソースにアクセスするときには、実行グループを実行しているユーザー ID に割り当てられている権限に従ってアクセス権限が付与されます。異なる実行グループの異なるユーザー ID を使用すると、メイン・ブローカー・ユーザー ID のレベルではなく、その実行グループのレベルでリソースへのアクセスを制御できます。実行グループのユーザー ID は、メイン・ブローカー・ユーザー ID と同じ 1 次グループに属している必要があります。これにより、共有リソースを読み取ったり、更新したりすることができます。
z/OS では、ブローカーに割り当てられているユーザー ID は、開始済みタスク JCL に割り当てられている開始済みタスク (STC) ユーザー ID です。デフォルトでは、z/OS 上の各ブローカーに単一の開始済みタスク JCL があり、これを使用して、メイン・ブローカー・アドレス・スペースおよび関連付けられているすべての実行グループ・アドレス・スペースを開始します。ただし、1 つ以上の実行グループに対して異なる開始済みタスク JCL を指定できるため、異なるユーザー ID を使用できます。その結果、異なる開始済みタスク JCL を使用して実行グループを開始でき、異なるユーザー ID を使用して実行グループを実行でき、異なるアクセス権限でリソースにアクセスできます。例えば、実行グループは、デフォルトで実行グループのタスク ID (メイン・ブローカー ID ではない) を使用して WebSphere® MQ からメッセージにアクセスできます。また、実行グループは、実行グループのユーザー ID に割り当てられている権限に従ってファイルにアクセスできます。
メイン・ブローカー・プロファイル BIPBPROF で必要な環境変数を指定できます。環境変数
MQSI_STARTEDTASK_FIXED_executionGroupName、
MQSI_STARTEDTASK_MULTI_executionGroupName、または
MQSI_STARTEDTASK_DEFAULT を使用すると、1 つ以上の実行グループに対して異なる開始済みタスクおよびユーザー ID を指定できます (
executionGroupName は実行グループの名前)。
これらの環境変数は、ブローカーに関連付けられている開始済みタスクおよびユーザー ID をオーバーライドし、特定の実行グループに関連付けられている開始済みタスクおよびユーザー ID に置き換えます。
- 1 つ以上の実行グループの名前を指定するには MQSI_STARTEDTASK_FIXED_executionGroupName=STC 環境変数を使用します (executionGroupName は実行グループ名の最後の 8 文字、STC は実行グループ開始済みタスク JCL の名前)。
例えば executionGroupName に 1DEFAULT を指定すると、TEST1DEFAULT という実行グループがオーバーライドされます。
複数の実行グループが同じ 8 文字で終わっている場合は、すべてがオーバーライドされます。例えば TEST11DEFAULT はオーバーライドされますが、TEST12DEFAULT はオーバーライドされません。
- 複数の実行グループのユーザー ID をオーバーライドするには、環境変数 MQSI_STARTEDTASK_MULTI_executionGroupName=STC を使用します。この executionGroupName はワイルドカードとして機能し、STC はそれぞれの実行グループの開始に使われる開始済みタスク JCL の名前です。
例えば、executionGroupName に MQ05 を指定すると、最後の 8 文字が MQ05 で始まる実行グループのユーザー ID をオーバーライドできます。
- 環境変数 MQSI_STARTEDTASK_DEFAULT=STC を使用すると、すべての実行グループの開始済みタスク JCL (STC) がオーバーライドされます (ただし環境変数 MQSI_STARTEDTASK_FIXED_executionGroupName および MQSI_STARTEDTASK_MULTI_executionGroupName によってオーバーライドされない場合)。
実行グループのユーザー ID を定義する方法については、z/OS で実行グループを実行する代替ユーザー ID を指定を参照してください。