当前位置: 首页 > 面试题库 >

IBM MQ-权限-阅读透视图

曹浩波
2023-03-14
问题内容

为了授予队列管理器的 所有对象 (队列,通道等)的读取权限以监视视角,需要什么命令/权限。我的监视html" target="_blank">客户端使用Java api。

威尔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以查看对象的详细信息。如果要使用动态队列,还需要提供+putSYSTEM.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,它将实际上将权限授予用户主组;在v8中,之后,如果您将其添加SecurityPolicy=userService:qm.ini节,它将表现得像Windows一直拥有的并且仅向用指定的用户-p。在大型组织中,这是首选方法,因为您知道您仅向单个用户提供权限,如果您在组级别提供权限,则可能有人可以将第二个用户添加到该组,而第二个用户现在拥有相同的权限。

请注意setmqaut,在MQ v7.1和更高版本中,该命令的替代方法可以使用SET AUTHRECMQSC命令授予权限。以下命令将提供与上述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)


 类似资料:
  • 我试图在Java中使用GZIPInputStream来解压缩来自我的。NET应用程序(它以GZIP格式压缩)的图像数据。图像数据以Base64字符串传输,因为它是作为XML文本同步的。我假设流会读取到传入. read()参数的缓冲区中,直到缓冲区饱和。它没有像我预期的那样工作,也就是说,. read()每次读取操作只能读取800字节左右。这对于小图像不是问题,但对于大图像,如800 KB,解压缩需

  • 我有一个可变帧速率的视频,我发现moviepy不支持这一点。我知道ffmpeg有以下功能:

  • 我想从我的android应用程序中读取来自Google Sheets的表格。我想通过Google Sheets API来做到这一点。我将工作表声明为公共,创建了API密钥并尝试发送服务调用: 我有401密码。答复: 请求缺少必需的身份验证凭据。需要OAuth 2访问令牌、登录cookie或其他有效的身份验证凭据。看见https://developers.google.com/identity/si

  • 本文向大家介绍基于PostgreSQL 权限解读,包括了基于PostgreSQL 权限解读的使用技巧和注意事项,需要的朋友参考一下 1 public权限解读 用户默认情况下具有public权限,public默认具有创建和使用schema的权限,因此意味着可以在schema中创建对象(包括表)、列出schema中的对象,并在其权限允许时访问它们。 所以创建数据库或schema完成后做的第一件事是 1

  • 本文向大家介绍asp.net core mvc权限控制:在视图中控制操作权限,包括了asp.net core mvc权限控制:在视图中控制操作权限的使用技巧和注意事项,需要的朋友参考一下 在asp.net core mvc中提供了权限验证框架,前面的文章中已经介绍了如何进行权限控制配置,权限配置好后,权限验证逻辑自动就会执行,但是在某些情况下,我们可能需要在代码里或者视图中通过手工方式判断权限,我

  • 问题内容: 我想在我的项目中使用MS Access。我尝试与此代码集成。 通过使用此方法,我尝试从中获取所有表名。但我得到一个错误: java.sql.SQLException:无法读取[Microsoft] [ODBC Microsoft Access驱动程序]记录;对“ MSysObjects”没有读取权限。 请帮助我解决此错误。 问题答案: 要以读取权限连接MS Access,请按照以下步骤