MFT固有リソースのグループ権限の制限

関与する可能性があるさまざまなオブジェクトのすべてについて個々のユーザーに権限を付与する代わりに、 Managed File Transfer アクセス制御を管理する目的で 2 つのセキュリティー・グループ (FTEUSER と FTEAGENT) を構成します。 これらのグループを作成してデータを取り込むのは、 IBM® MQ 管理者の責任です。 管理者は、ここで説明される構成の提案を拡大または変更する選択ができます。

キュー・マネージャーに接続する権限

運用ユーザー、管理ユーザー、および IBM MQ エクスプローラーによって実行されるコマンドは、コマンド・キュー・マネージャーおよび調整キュー・マネージャーに接続できる必要があります。 エージェント・プロセス、およびエージェントの作成、変更、または削除のために実行されるコマンドは、エージェント・キュー・マネージャーに接続できなければなりません。
  • コマンド・キュー・マネージャーおよび調整キュー・マネージャーに接続する権限を FTEUSER グループに付与します。 以下に例を示します。
    [UNIX、Linux、Windows] UNIXLinux®、および Windows システムの場合:
    setmqaut -m command_queue_manager -t qmgr -g FTEUSER +connect
    setmqaut -m coordination_queue_manager -t qmgr -g FTEUSER +connect
    [IBM i] IBM iの場合:
    GRTMQMAUT OBJ('command_queue_manager') OBJTYPE(*MQM) USER(FTEUSER) AUT(*CONNECT)
    GRTMQMAUT OBJ('coordination_queue_manager') OBJTYPE(*MQM) USER(FTEUSER) AUT(*CONNECT)
    [z/OS] z/OS®の場合:
    RDEFINE MQCONN command_queue_manager.BATCH UACC(NONE)
    PERMIT command_queue_manager.BATCH CLASS(MQCONN) ID(FTEUSER) ACCESS(READ)
    RDEFINE MQCONN coordination_queue_manager.BATCH UACC(NONE)
    PERMIT coordination_queue_manager.BATCH CLASS(MQCONN) ID(FTEUSER) ACCESS(READ)
  • エージェント・キュー・マネージャーに接続および照会する権限を FTEAGENT グループに付与します。 以下に例を示します。
    [UNIX、Linux、Windows] UNIXLinux、および Windows システムの場合:
    setmqaut -m agent_queue_manager -t qmgr -g FTEAGENT +connect +inq +setid
    [IBM i] IBM iの場合:
    GRTMQMAUT OBJ('agent_queue_manager') OBJTYPE(*MQM) USER(FTEAGENT) AUT(*CONNECT)
    [z/OS] z/OSの場合:
    RDEFINE MQCONN agent_queue_manager.BATCH UACC(NONE)
    PERMIT agent_queue_manager.BATCH CLASS(MQCONN) ID(FTEAGENT) ACCESS(READ)

どのコマンドがどのキュー・マネージャーに直接接続するかについては、 どの MFT コマンドおよびプロセスがどのキュー・マネージャーに接続するか を参照してください。

エージェントに属する COMMAND キューにメッセージを PUT するための権限

エージェントのコマンド・キューは、 エージェントによるアクションの実行を要求する権限が与えられた、すべてのユーザーが使用できる必要があります。 この要件を満たすには、次のようにします。
  • FTEUSER グループに SYSTEM.FTE.COMMAND.agent_name キューへの PUT 権限のみを付与します。 以下に例を示します。
    [UNIX、Linux、Windows] UNIXLinux、および Windows システムの場合:
    setmqaut -m QM1 -n SYSTEM.FTE.COMMAND.agent_name -t queue -g FTEUSER +put
    [IBM i] IBM iの場合:
    GRTMQMAUT OBJ('SYSTEM.FTE.COMMAND.agent_name') OBJTYPE(*Q) USER(FTEUSER) AUT(*PUT) MQMNAME('QM1')
    [z/OS] z/OSの場合:
    RDEFINE MQQUEUE QM1.SYSTEM.FTE.COMMAND.agent_name UACC(NONE)
    PERMIT QM1.SYSTEM.FTE.COMMAND.agent_name CLASS(MQQUEUE) ID(FTEUSER) ACCESS(UPDATE)
  • FTEAGENT グループに、SYSTEM.FTE.COMMAND.agent_name キューへの PUT、GET、および setid アクセス権限を付与します。 以下に例を示します。
    [UNIX、Linux、Windows] UNIXLinux、および Windows システムの場合:
    setmqaut -m QM1 -n SYSTEM.FTE.COMMAND.agent_name -t queue -g FTEAGENT +browse +put +get +setid
    [IBM i] IBM iの場合:
    GRTMQMAUT OBJ('SYSTEM.FTE.COMMAND.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*PUT) MQMNAME('QM1')
    GRTMQMAUT OBJ('SYSTEM.FTE.COMMAND.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*GET) MQMNAME('QM1')
    GRTMQMAUT OBJ('SYSTEM.FTE.COMMAND.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*SETID) MQMNAME('QM1')
    [z/OS] z/OSの場合:
    RDEFINE MQQUEUE QM1.SYSTEM.FTE.COMMAND.agent_name UACC(NONE)
    PERMIT QM1.SYSTEM.FTE.COMMAND.agent_name CLASS(MQQUEUE) ID(FTEAGENT) ACCESS(UPDATE)
    RDEFINE MQADMIN QM1.CONTEXT.SYSTEM.FTE.COMMAND.agent_name UACC(NONE)
    PERMIT QM1.CONTEXT.SYSTEM.FTE.COMMAND.agent_name CLASS(MQADMIN) ID(FTEAGENT) ACCESS(UPDATE)
    

エージェントには、他のエージェントのコマンド・キューにメッセージを書き込むためのアクセス権限が必要です。 リモート・キュー・マネージャーに接続しているエージェントがあれば、チャネルからそのキューにメッセージを書き込むために追加の権限を付与しなければならない場合があります。

エージェントに属する DATA、STATE、EVENT、および REPLY キューにメッセージを PUT するための権限

これらのシステム・キューを使用できる必要があるのは Managed File Transfer エージェントのみであるため、グループ FTEAGENT に書き込み、取得、および照会のアクセス権限を付与します。 これらのシステム・キューの名前は以下のとおりです。
  • DATA- SYSTEM.FTE.DATA。agent_name
  • STATE- SYSTEM.FTE.STATE.agent_name
  • EVENT- SYSTEM.FTE.EVENT。agent_name
  • REPLY- SYSTEM.FTE.REPLY.agent_name
例えば、SYSTEM.FTE.DATA.agent_name キューに対して、次のようなコマンドを使用します。
[UNIX、Linux、Windows] UNIXLinux、および Windows システムの場合:
setmqaut -m QM1 -n SYSTEM.FTE.DATA.agent_name -t queue -g FTEAGENT +put +get +inq
[IBM i] IBM iの場合:
GRTMQMAUT OBJ('SYSTEM.FTE.DATA.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*PUT) MQMNAME('QM1')
GRTMQMAUT OBJ('SYSTEM.FTE.DATA.agent_name') OBJTYPE(*Q) USER(FTEAGENT) AUT(*GET) MQMNAME('QM1')
[z/OS] z/OSの場合:
RDEFINE MQQUEUE QM1.SYSTEM.FTE.DATA.agent_name UACC(NONE)
PERMIT QM1.SYSTEM.FTE.DATA.agent_name CLASS(MQQUEUE) ID(FTEAGENT) ACCESS(UPDATE)

エージェントには、他のエージェントのデータ・キューと応答キューにメッセージを書き込むためのアクセス権限が必要です。 リモート・キュー・マネージャーに接続しているエージェントがあれば、チャネルからそれらのキューにメッセージを書き込むために追加の権限を付与しなければならない場合があります。

エージェント・プロセスが実行される権限

エージェント・プロセスが実行される 権限は、エージェントがファイル・システムからの読み取りと書き込みができるファイルと、 エージェントがアクセスできるキューおよびトピックに影響します。 権限がどのように構成されるかは、システムに依存しています。 エージェント・プロセスが実行されるユーザー ID を FTEAGENT グループに追加します。 グループへのユーザー ID の追加について詳しくは、 セキュリティーのセットアップ を参照し、ご使用のオペレーティング・システムの情報にナビゲートしてください。

コマンドおよび IBM MQ Explorer が実行される権限

fteStartAgent コマンドなどの管理コマンド、および IBM MQ ExplorerManaged File Transfer プラグインは、 SYSTEM.FTE.COMMAND.agent_name キューに入れられ、そのキューからパブリッシュされた情報を取得します。 コマンドまたは IBM MQ Explorer の実行を許可されているユーザー ID を FTEUSER グループに追加します。 この発信元ユーザー ID は、転送ログに 記録されます。 グループへのユーザー ID の追加について詳しくは、 セキュリティーのセットアップ を参照し、ご使用のオペレーティング・システムの情報にナビゲートしてください。

SYSTEM.FTE キューおよび SYSTEM.FTE トピックに メッセージを PUT する権限

エージェント・プロセスのみが SYSTEM.FTE キューおよび SYSTEM.FTE トピックにメッセージを PUT できなければなりません。 SYSTEM.FTE キューに対する PUT、GET、および INQUIRE 権限を FTEAGENT グループに付与し、SYSTEM.FTE トピックに対するパブリッシュおよびサブスクライブ権限を FTEAGENT グループに付与します。 以下に例を示します。
[UNIX、Linux、Windows] UNIXLinux、および Windows システムの場合:
setmqaut -m QM1 -n SYSTEM.FTE -t queue -g FTEAGENT +put +get +inq
setmqaut -m QM1 -n SYSTEM.FTE -t topic -g FTEAGENT +pub +sub +resume
[IBM i] IBM iの場合:
GRTMQMAUT OBJ('SYSTEM.FTE') OBJTYPE(*Q) USER(FTEAGENT) AUT(*PUT) MQMNAME('QM1')
GRTMQMAUT OBJ('SYSTEM.FTE') OBJTYPE(*Q) USER(FTEAGENT) AUT(*GET) MQMNAME('QM1')
GRTMQMAUT OBJ('SYSTEM.FTE') OBJTYPE(*TOPIC) USER(FTEAGENT) AUT(*PUB) MQMNAME('QM1')
GRTMQMAUT OBJ('SYSTEM.FTE') OBJTYPE(*TOPIC) USER(FTEAGENT) AUT(*SUB) MQMNAME('QM1')
[z/OS] z/OSの場合:
RDEFINE MQQUEUE QM1.SYSTEM.FTE UACC(NONE)
PERMIT QM1.SYSTEM.FTE CLASS(MQQUEUE) ID(FTEAGENT) ACCESS(UPDATE)
RDEFINE MXTOPIC QM1.PUBLISH.SYSTEM.FTE UACC(NONE)
PERMIT QM1.PUBLISH.SYSTEM.FTE CLASS(MXTOPIC) ID(FTEAGENT) ACCESS(UPDATE)

リモート・キュー・マネージャーに接続しているエージェントがあれば、チャネルから SYSTEM.FTE キューにメッセージを書き込むために追加の権限を付与しなければならない場合もあります。

メッセージが SYSTEM.FTE トピックにパブリッシュされるには、SYSTEM.FTE トピックの権限レコード によって、メッセージのメッセージ記述子構造 (MQMD) に含まれるユーザー ID による パブリケーションを許可する必要があります。 これについては、 ログおよび状況メッセージをパブリッシュする権限で説明されています。

z/OS 上の SYSTEM.FTE トピックにパブリッシュする許可をユーザーに与えるには、SYSTEM.FTE トピックにパブリッシュするアクセス権限をチャネル・イニシエーターのユーザー ID に付与する必要があります。 RESLEVEL セキュリティー・プロファイルに基づいて、チャネル・イニシエーター接続に関して 2 つのユーザー ID が検査される場合、メッセージのメッセージ記述子構造 (MQMD) に含まれているユーザー ID にもアクセス権限を付与する必要があります。 詳しくは、 RESLEVEL セキュリティー・プロファイル を参照してください。

SYSTEM.FTE トピックでパブリケーションを受信する権限

ログ・メッセージ、進行メッセージ、および状況メッセージの 転送は、一般的な用途を目的としているため、FTEUSER グループに SYSTEM.FTE トピックのサブスクライブ権限を付与します。 以下に例を示します。
[UNIX、Linux、Windows] UNIXLinux、および Windows システムの場合:
setmqaut -m QM1 -n SYSTEM.FTE -t topic -g FTEUSER +sub
[IBM i] IBM iの場合:
GRTMQMAUT OBJ('SYSTEM.FTE') OBJTYPE(*TOPIC) USER(FTEUSER) AUT(*SUB) MQMNAME('QM1')
[z/OS] z/OSの場合:
RDEFINE MXTOPIC QM1.SUBSCRIBE.SYSTEM.FTE UACC(NONE)
PERMIT QM1.SUBSCRIBE.SYSTEM.FTE CLASS(MXTOPIC) ID(FTEUSER) ACCESS(ALTER)             

伝送キューを使用してリモート・キュー・マネージャーに接続する権限

複数キュー・マネージャーのトポロジーでは、エージェントは、リモート・キュー・マネージャーへの接続に使用する伝送キューに対して PUT 権限を必要とします。

ファイル転送のために一時応答キューを作成する権限

ファイル転送要求は、転送の完了を待機し、作成されて埋め込まれる一時応答キューに依存します。 FTEUSER グループに、一時モデル・キュー定義に対する DISPLAY、PUT、GET、および BROWSE 権限を付与します。 以下に例を示します。
[UNIX、Linux、Windows] UNIXLinux、および Windows システムの場合:
setmqaut -m QM1 -n SYSTEM.DEFAULT.MODEL.QUEUE -t queue -g FTEUSER +dsp +put +get +browse
[IBM i] IBM iの場合:
GRTMQMAUT OBJ('SYSTEM.DEFAULT.MODEL.QUEUE') OBJTYPE(*Q) USER(FTEUSER) AUT(*ADMDSP) MQMNAME('QM1')
GRTMQMAUT OBJ('SYSTEM.DEFAULT.MODEL.QUEUE') OBJTYPE(*Q) USER(FTEUSER) AUT(*PUT)    MQMNAME('QM1')
GRTMQMAUT OBJ('SYSTEM.DEFAULT.MODEL.QUEUE') OBJTYPE(*Q) USER(FTEUSER) AUT(*GET)    MQMNAME('QM1')
GRTMQMAUT OBJ('SYSTEM.DEFAULT.MODEL.QUEUE') OBJTYPE(*Q) USER(FTEUSER) AUT(*BROWSE) MQMNAME('QM1')
[z/OS] z/OSの場合:
RDEFINE MQQUEUE QM1.SYSTEM.DEFAULT.MODEL.QUEUE UACC(NONE)
PERMIT QM1.SYSTEM.DEFAULT.MODEL.QUEUE CLASS(MQQUEUE) ID(FTEUSER) ACCESS(UPDATE)
デフォルトでは、このキューは SYSTEM.DEFAULT.MODEL.QUEUEですが、command.propertiesファイル内のプロパティー「modelQueueName」および「dynamicQueuePrefix」の値を設定することにより、名前を構成できます。
z/OS では、一時キューにアクセスする権限を FTEUSER に付与することも必要です。 以下に例を示します。
RDEFINE MQQUEUE QM1.WMQFTE.** UACC(NONE)
PERMIT QM1.WMQFTE.** CLASS(MQQUEUE) ID(FTEUSER) ACCESS(UPDATE)
デフォルトでは、z/OS 上の各一時キューの名前の先頭に WMQFTE が付きます。
以下の表は、セキュリティー・スキームで説明した FTEUSER と FTEAGENT のアクセス制御構成を要約しています。
表 1. FTEUSER および FTEAGENT のアクセス制御構成の要約
オブジェクト オブジェクト・タイプ FTEUSER FTEAGENT
エージェント・ キュー・マネージャー キュー・マネージャー   CONNECT、INQ、 および SETID。 ユーザー権限のチェックを有効にするには、ALTUSERも必要である。
調整キュー・マネージャー キュー・マネージャー    
コマンド・キュー・マネージャー キュー・マネージャー CONNECT CONNECT
SYSTEM.FTE ローカル・キュー   GET および PUT
SYSTEM.FTE.COMMAND.agent_name ローカル・キュー PUT BROWSE、GET、PUT、および SETID
SYSTEM.FTE.DATA。agent_name ローカル・キュー   GET および PUT
SYSTEM.FTE.EVENT。agent_name ローカル・キュー   BROWSE、GET および PUT
SYSTEM.FTE.REPLY.agent_name ローカル・キュー   GET および PUT
SYSTEM.FTE.STATE.agent_name ローカル・キュー   BROWSE、GET、INQ、および PUT
SYSTEM.FTE ローカル・トピック SUBSCRIBE PUBLISH および SUBSCRIBE
SYSTEM.DEFAULT.MODEL.QUEUE

(または、一時応答キューを作成するために使用される、 Managed File Transfer で定義されたモデル・キュー。)

モデル・キュー BROWSE、DISPLAY、GET、および PUT BROWSE、DISPLAY、GET、および PUT
リモート・キュー・マネージャーと通信するための伝送キュー ローカル・キュー   PUT

IBM MQ Explorer を介して転送を管理する権限

このページで既に言及されている状況でユーザーに MFT 権限を付与することに加えて、 IBM MQ Explorerを介してすべての MFT 操作を管理および実行する MFT エージェント・ユーザーに追加の権限を付与する必要があります。 ファイル転送の作成、キャンセル、スケジュール、リソース・モニターの作成、削除、転送テンプレートの作成などのコマンドを発行するには、 IBM MQ Explorer ユーザーに以下の権限が必要です。
  • 調整キュー・マネージャー: connect、inquire、display
  • コマンド・キュー・マネージャー: connect、inquire、display
  • SYSTEM.FTE トピック: publish、subscribe
  • SYSTEM.MQEXPLORER.REPLY.MODEL: display、inquire、get、browse、put
  • SYSTEM.ADMIN.COMMAND.QUEUE: inquire、put、display
  • SYSTEM.DEFAULT.MODEL.QUEUE: get、put、inquire、display、browse
どのコマンドがどのキュー・マネージャーに直接接続するかについては、 どの MFT コマンドおよびプロセスがどのキュー・マネージャーに接続するか を参照してください。