爲了給予隊列管理器(隊列,通道等)的所有對象的讀取權限以監視透視圖,需要什麼命令/權限。我的監控客戶端使用java api。IBM MQ - 權限 - 讀取透視
將MQZAO_ALL_ADMIN
許可爲此目的。可以使用setmqaut
來設置此權限,但此命令具有諸如+ put,+ get等不是MQZAO_ALL_ADMIN的選項。目前,我爲每個隊列使用setmqaut
,版本8.0.0.4等。
爲了給予隊列管理器(隊列,通道等)的所有對象的讀取權限以監視透視圖,需要什麼命令/權限。我的監控客戶端使用java api。IBM MQ - 權限 - 讀取透視
將MQZAO_ALL_ADMIN
許可爲此目的。可以使用setmqaut
來設置此權限,但此命令具有諸如+ put,+ get等不是MQZAO_ALL_ADMIN的選項。目前,我爲每個隊列使用setmqaut
,版本8.0.0.4等。
僅供您閱讀,您不想使用MQZAO_ALL_ADMIN
,因爲這會給予管理權限。根據setmqaut
即+alladm
並在隊列上提供+chg +clr +dlt +dsp
。
一般爲只讀,你會爲您要監視的任何對象提供+connect +inq +dsp
對qmgr
對象,+dsp
。 +dsp
允許您查看對象的名稱以及某些情況下對象的詳細信息。對於某些對象(隊列,進程,名稱列表),還需要添加+inq
以查看對象的詳細信息。如果要使用動態隊列,或者使用正常的本地隊列,還需要將+put
提供給SYSTEM.ADMIN.COMMAND.QUEUE
和+get
以建立模型隊列。
如果您想爲多個隊列提供權限,也可以使用通配符。
下面的例子將提供只讀權限的所有對象的所有類型:
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
*請注意,我用-all
,讓你知道你要授予將是唯一的權限,權限始終前綴權限。如果您沒有-all
,並且上面的組已擁有其他權限(例如+put
),則該權限將保留在該隊列中,並且您將添加+dsp +inq
並最終以+put +dsp +inq
結束。
如果隊列管理器是在Windows中可以使用-p
和用戶名,而不是直接授予的權限給該用戶。在v8之前的Unix上,如果您使用-p,它實際上會授予用戶主要組的權限,如果您將SecurityPolicy=user
添加到qm.ini的Service:
節中,它將表現得像Windows始終擁有並僅授予權限給-p
指定的用戶。在大型組織中,這可能是首選,因爲您知道您僅向單個用戶提供了權限,如果您在組級別提供權限,則可能有人可以將第二位用戶添加到該組,並且第二位用戶現在擁有相同的權限。
注意的替代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)
好的寫法。 – Roger
@Roger謝謝。 – JoshMc