ibm-mq - WAS MQ 7.0.x 阻止 mqm 用户将消息放入队列

标签 ibm-mq mq

我是 WAS MQ 的新手。我有一个名为 QM1 的 qmgr 和一个名为 Q1 的本地队列。有一个 SVRCONN channel ,MCA 设置为 mqm。

我想阻止通过此 channel 传入消息以将消息 PUT 到 Q1。 我正在使用 setmqaut,但它没有按我想要的方式工作。

最佳答案

您无法阻止通过该 channel 进行特定 API 调用的原因是 MCAUSER('mqm') 设置可确保通过该 channel 进行的任何连接始终 与完整的管理权限连接。无法使用 setmqaut 或任何其他 native WMQ 功能来阻止管理员访问队列。无论任何 setmqaut 设置如何,QMgr 始终允许管理员访问。

对于推荐什么有点不清楚,因为没有“WAS MQ”这样的东西。有WebSphere Application Server (WAS) 和WebSphere MQ (WMQ)。 WAS 曾经与 WMQ 捆绑在一起,但两者并不是一个产品。

假设您指的是 WebSphere MQ,而不是与 WMQ 通信的 WebSphere App Server,我强烈建议迁移到现代版本。 WMQ v7.0 已宣布终止生命周期,并且缺少 v7.1 及更高版本的身份验证功能。从 v8.0 开始,WMQ 甚至可以验证用户 ID 和密码。

为了在 WMQ 中进行身份验证和应用精细授权,您需要在 channel 的 MCAUSER 中使用除“mqm”之外的一些值。标准建议是设置 RCVRRQSTRCLUSRCVR 类型的所有 channel 的 MCAUSER SVRCONN*NOBODY,然后根据有用的信息(例如证书的可分辨名称)安排对您的 channel 进行身份验证。其他不太有用的验证连接的方法(因为这些很难被称为“身份验证”)包括查看入站连接的 IP 地址或在 SVRCONN 上声明的身份。

在 v7.0 中,这些需要退出和 BlockIP2是全局 WMQ 安装基础所使用的标准。在 v7.1 和 v7.5 中,您只需使用标准 MQSC 脚本配置 CHLAUTH 规则即可实现相同的效果。

有几个 session 演示讨论了如何做到这一点,网址为 t-rob.netLinks页。我强烈建议迁移到 WMQ v7.5,特别是从 you can do so for free 开始作为开发人员,无论运行 QMgr 的公司已购买的许可状态如何。不过,生产中的 QMgr 在维护期间也可以免费升级到 v7.5。如果你等到 6 月,你就可以获得 v8.0,尽管据我所知,免费开发者版本的可用性尚未宣布。

关于ibm-mq - WAS MQ 7.0.x 阻止 mqm 用户将消息放入队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23380643/

相关文章:

java - Websphere Liberty Profile 8.5.5-wmqJmsClient(MQ JMS)配置在启动时失败

docker - docker进程能否通过ipc访问主机上的程序

java - XML 和 MQ 最佳解决方案

c - mq_timedsend() 返回错误 14 "bad address"

ibm-mq - 通过 UFT 12.02 进行 MQ 6.0 测试

java - 带有消息监听器的事务处理 session ,未使用消息

java - 为什么在上下文查找中找不到我的队列?

java - 启动 MQ Listener 时出现 MQJCA1025 错误

jms - 同一个 Websphere MQ JMS 队列上的两个消费者,都接收到相同的消息

ibm-mq - 使用 WebSphere MQ 实现 2 路 SSL 认证