gpt4 book ai didi

ibm-mq - 提供对 IBM WebSphere MQ 的匿名访问

转载 作者:行者123 更新时间:2023-12-04 13:30:38 53 4
gpt4 key购买 nike

我是 IBM WebSphere MQ 的新手。我在 docker 容器中运行它。用户“sampleuser”和“root”是容器中“mqm”组的一部分。我能够以“root”用户和“sampleuser”身份从主机访问 MQ(我也在主机中创建了“sampleuser”)。

我想启用匿名身份验证,这样无论客户端用户 ID 是什么,他们都应该能够访问 MQ。我虽然 MCAUSER('sampleuser') 会为我做这件事。但它不起作用。我从 eclipse IBM 资源管理器中收到错误 AMQ4036(未授权)。请指教。

ALTER QMGR PSNPRES(SAFE)
ALTER QMGR PSMODE (ENABLED)
DEFINE CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('sampleuser') REPLACE

更新#1我更新了代码以允许特权用户。但仍然失败。

ALTER QMGR PSNPRES(SAFE)
ALTER QMGR PSMODE (ENABLED)

SET CHLAUTH(*) TYPE(BLOCKUSER) USERLIST('*NOACCESS')

DEFINE CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('sampleuser') REPLACE

这是我得到的日志。

EXPLANATION:
The user ID 'sampleuser' and its password were checked because the user ID is
privileged and the queue manager connection authority (CONNAUTH) configuration
refers to an authentication information (AUTHINFO) object named
'SYSTEM.DEFAULT.AUTHINFO.IDPWOS' with CHCKCLNT(REQDADM).

This message accompanies a previous error to clarify the reason for the user ID
and password check.
ACTION:
Refer to the previous error for more information.

Ensure that a password is specified by the client application and that the
password is correct for the user ID. The authentication configuration of the
queue manager connection determines the user ID repository. For example, the
local operating system user database or an LDAP server.

To avoid the authentication check, you can either use an unprivileged user ID
or amend the authentication configuration of the queue manager. You can amend
the CHCKCLNT attribute in the CHLAUTH record, but you should generally not
allow unauthenticated remote access.

更新 #2 基于 JohnMC 的回答和对 Provide anonymous access to IBM WebSphere MQ 的引用我终于成功了……:)

ALTER QMGR PSNPRES(SAFE)
ALTER QMGR PSMODE (ENABLED)
ALTER QMGR CHLAUTH(DISABLED)
SET CHLAUTH(*) TYPE(BLOCKUSER) USERLIST('*NOACCESS')
DEFINE CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('sampleuser') REPLACE
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
REFRESH SECURITY TYPE(CONNAUTH)

最佳答案

我假设您使用的是受支持的 MQ 版本(7.1 或更高版本)。

对于 MQ 7.1 及更高版本,默认情况下新的队列管理器将附带一些 CHLAUTH 规则,其中之一禁止具有 MQ 管理权限的用户连接到 SVRCONN channel 。在这种情况下,您已将用户 sampleuser 放置在 channel 的 MCAUSER 中。由于 sampleuser 是 mqm 组的成员,默认情况下它是不允许的。

根据您提供的设置,如果允许连接,您将允许任何可以通过网络连接到您的 MQ 监听器端口的用户管理队列管理器、定义队列、删除队列、添加权限等。

查看 T.Rob 的这个答案,了解更多关于如何在不禁用安全性“Unable to connect to queue manager in WebSphere MQ 7.1”的情况下进行这项工作的详细信息。

我还有另一篇文章有​​一些类似的信息“C# MQ Connect get Error 2035 but Java MQ Connect works well


更新 #1

日志显示您收到连接身份验证错误。对于 MQ 8.0 及更高版本,队列管理器默认配置为要求为 MQ 管理用户指定有效密码,因为 sampleuser 是 mqm 组的一部分,因此属于此类。

您可以将 MQ Explorer 配置为在连接到队列管理器时发送用户名和密码。

  1. 右键单击队列管理器名称
  2. 选择连接详细信息
  3. 选择属性...
  4. 选择用户名
  5. 选中“启用用户识别”旁边的复选框
  6. 填写 Userid 字段
  7. 如果您将其保留为“提示输入密码”,则在您尝试连接到队列管理器时,每次打开 MQ Explorer 时它都会询问您输入密码。您可以选择“使用保存的密码”,然后提供密码。

我不建议您这样做,但是如果您想禁用安全性并允许任何人以 MQ 管理员身份连接到您的队列管理器而无需提供有效密码,您可以使用以下命令禁用它。

ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
REFRESH SECURITY TYPE(CONNAUTH)

关于ibm-mq - 提供对 IBM WebSphere MQ 的匿名访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42373211/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com