2017-05-03 2 views
2

큐브 관리자 (대기열, 채널 등)의 모든 객체에 대한 읽기 권한을 제공하여 퍼스펙티브 모니터링을 위해 어떤 명령/권한이 필요합니다. 내 모니터링 클라이언트 자바 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 

* 참고 그래서 당신은 당신이 유일한 권한됩니다 부여 된 권한을 알고있는 -all와 나는 항상 접두사 권한 . -all이없고 위의 그룹에 이미 다른 사용 권한 (예 : +put)이있는 경우 큐에 +dsp +inq을 추가하고 +put +dsp +inq으로 끝납니다. 큐 관리자가 윈도우에있는 경우


당신은 -p을 사용할 수 있으며 사용자 이름 대신 해당 사용자에게 직접 권한을 부여 할 수 있습니다. v8 이전의 유닉스에서 -p를 사용했다면 실제로 v8에서 사용자 기본 그룹에 권한을 부여하고 나중에 SecurityPolicy=user을 qm.ini의 Service: 스탠자에 추가하면 Windows가 항상 소유하고 권한을 부여하는 것처럼 동작합니다 -p으로 지정된 사용자에게 보내십시오. 대규모 조직에서는 단일 사용자에게만 권한을 제공 했으므로 선호 할 수 있습니다. 그룹 수준에서 제공하면 다른 사람이 그 그룹에 추가 된 두 번째 사용자를 얻을 수 있고 두 번째 사용자는 이제 동일한 허가. 는 MQ V7.1에서 setmqaut 명령에 대한 대안, 그리고 나중에 당신이 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

@ 로저 감사합니다. – JoshMc