2017-05-03 38 views
2

パースペクティブを監視するためにキューマネージャ(キュー、チャネルなど)のすべてのオブジェクトに読み取り権限を与えるために、どのコマンド/許可が必要です。私の監視クライアントはJava APIを使用しています。IBM MQ - 権限 - 読み取りパースペクティブ

MQZAO_ALL_ADMIN許可はこの目的のために行います。 setmqautを使用してこのアクセス権を設定できますが、このコマンドにはMQZAO_ALL_ADMINではなく+ put、+ getなどのオプションがあります。現在、バージョン8.0.0.4ではキューごとにsetmqautを使用しています。

答えて

2

MQZAO_ALL_ADMINは管理権限を与えるため、読み取り専用の場合は使用しません。 setmqautは、+alladmであり、キューには+chg +clr +dlt +dspがあります。

一般に、読み取り専用の場合は、qmgrオブジェクトに対しては+connect +inq +dsp、監視するオブジェクトには+dspを指定します。 +dspを使用すると、オブジェクトの名前、場合によってはオブジェクトの詳細を表示できます。オブジェクト(キュー、プロセス、名前リスト)によっては、オブジェクトの詳細を表示するために+inqを追加する必要があります。また、SYSTEM.ADMIN.COMMAND.QUEUE+get+putを提供する必要があります。動的キューを使用する場合はモデルキューに、通常のローカルキューにはモデルキューに割り当てる必要があります。

複数のキューにアクセス許可を与えたい場合は、ワイルドカードも使用できます。

次の例では、すべてのタイプのすべてのオブジェクトに対する読み取り権限だけを提供する:

setmqaut -m <QMGR>        -t qmgr  -g group -all +connect +inq +dsp 
setmqaut -m <QMGR> -n SYSTEM.ADMIN.COMMAND.QUEUE -t queue -g group -all +inq +put +dsp 
setmqaut -m <QMGR> -n SYSTEM.DEFAULT.MODEL.QUEUE -t queue -g group -all +inq +get +dsp 
setmqaut -m <QMGR> -n '**'      -t namelist -g group -all +dsp +inq 
setmqaut -m <QMGR> -n '**'      -t process -g group -all +dsp +inq 
setmqaut -m <QMGR> -n '**'      -t queue -g group -all +dsp +inq 
setmqaut -m <QMGR> -n '**'      -t channel -g group -all +dsp 
setmqaut -m <QMGR> -n '**'      -t clntconn -g group -all +dsp 
setmqaut -m <QMGR> -n '**'      -t listener -g group -all +dsp 
setmqaut -m <QMGR> -n '**'      -t service -g group -all +dsp 
setmqaut -m <QMGR> -n '**'      -t topic -g group -all +dsp 

*あなたが付与された権限は、権限だけになりますI -allと常に接頭権限を知っているようにことに注意してください。もしあなたが-allを持っておらず、上記のグループに既に他の許可がありました。例えば、+putのキューには許可が残っていて、+dsp +inqを追加して+put +dsp +inqになります。


キューマネージャを使用すると、そのユーザーに直接権限を付与する代わりに-pとユーザー名を使用できるWindows上にある場合。 v8より前のUnixでは、-pを使用した場合、v8以降ではユーザープライマリグループにアクセス権が付与されますが、SecurityPolicy=userをqm.iniのService:スタンザに追加すると、Windowsの場合と同様に、 -pで指定されたユーザーに送信します。大規模な組織では、単一のユーザーのみにアクセス許可を与えていることがわかっているので、これを優先することができます。グループレベルで提供すると、そのグループに2人目のユーザーを追加するだけで、同じ許可。


setmqautコマンドの代わりに、MQのV7.1以降では、あなたがSET AUTHREC MQSCコマンドを使用して権限を付与することができます。以下のコマンドは、上記のsetmqautコマンドが提供するのと同じアクセス許可を提供します。

SET AUTHREC PROFILE('self')      GROUP('group') OBJTYPE(QMGR)  AUTHRMV(ALL) AUTHADD(CONNECT,DSP,INQ) 
SET AUTHREC PROFILE('SYSTEM.ADMIN.COMMAND.QUEUE') GROUP('group') OBJTYPE(QUEUE) AUTHRMV(ALL) AUTHADD(DSP,INQ,PUT) 
SET AUTHREC PROFILE('SYSTEM.DEFAULT.MODEL.QUEUE') GROUP('group') OBJTYPE(QUEUE) AUTHRMV(ALL) AUTHADD(DSP,INQ,GET) 
SET AUTHREC PROFILE('**')       GROUP('group') OBJTYPE(NAMELIST) AUTHRMV(ALL) AUTHADD(DSP,INQ) 
SET AUTHREC PROFILE('**')       GROUP('group') OBJTYPE(PROCESS) AUTHRMV(ALL) AUTHADD(DSP,INQ) 
SET AUTHREC PROFILE('**')       GROUP('group') OBJTYPE(QUEUE) AUTHRMV(ALL) AUTHADD(DSP,INQ) 
SET AUTHREC PROFILE('**')       GROUP('group') OBJTYPE(CHANNEL) AUTHRMV(ALL) AUTHADD(DSP) 
SET AUTHREC PROFILE('**')       GROUP('group') OBJTYPE(CLNTCONN) AUTHRMV(ALL) AUTHADD(DSP) 
SET AUTHREC PROFILE('**')       GROUP('group') OBJTYPE(LISTENER) AUTHRMV(ALL) AUTHADD(DSP) 
SET AUTHREC PROFILE('**')       GROUP('group') OBJTYPE(SERVICE) AUTHRMV(ALL) AUTHADD(DSP) 
SET AUTHREC PROFILE('**')       GROUP('group') OBJTYPE(TOPIC) AUTHRMV(ALL) AUTHADD(DSP) 
+0

偉大な賞書。 – Roger

+0

@Rogerありがとう。 – JoshMc

関連する問題