提供对 IBM WebSphere MQ 的匿名访问

2023-11-29

我是新来的IBM WebSphere MQ。我正在运行它docker容器。用户 'sampleuser' and '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 的回答和参考提供对 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 通道的连接。在这种情况下,您已将用户sampleuser in the MCAUSER的频道。自从sampleuser是 mqm 组的成员,默认情况下不允许。

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

请参阅 T.Rob 的回答,了解有关如何在不禁用安全性的情况下完成这项工作的更多详细信息”无法连接到 WebSphere MQ 7.1 中的队列管理器".

我还有另一篇文章,其中包含一些类似的信息”C# MQ Connect 出现错误 2035,但 Java MQ Connect 运行良好"


更新#1

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

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

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

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

ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
REFRESH SECURITY TYPE(CONNAUTH)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

提供对 IBM WebSphere MQ 的匿名访问 的相关文章

  • 设置关闭和断开 IBM MQ.NET 客户端的超时

    是否可以为以下代码设置超时时间 private MQQueueManager queueManager private MQQueue queue queue Close queueManager Disconnect 原因是有时连接在尝试
  • PublishJMS 处理器无法将消息写入 IBM Websphere MQ

    我在通过 PublishJMS 处理器将消息发布到 IBM Websphere MQ 队列时遇到问题 配置PublishJMS处理器和JMS控制器服务 我已经验证MQ连接没有问题 我相信我需要在 PublishJMS 或控制器服务中设置一些
  • WebsphereMQ 与 .Net Core 2.2

    我正在尝试使用 Net Core 2 2 连接到 WebsphereMQ 队列 我真的很困惑如何做到这一点 在展示我正在尝试 和失败 的内容之前 我想先澄清一下 Which lib should I use and how to get i
  • MQ8 + JDk8 的授权错误

    当使用 JMS 示例代码时 放置在应用程序中 使用 MQ8 JDk8 时出现低于授权错误 MQException received while attempting reconnect Reason Code 2035 Exception
  • Amqmdnet - 打开/关闭每条消息的队列是否高效?

    我们有一些代码将消息发送到队列 它使用 amqmdnet dll 版本 8 0 0 6 队列管理器 Queuemanager 在应用程序启动时实例化一次并在整个应用程序中使用 发送消息时 会创建一个队列对象 然后将其关闭 我们应该为每条消息
  • 如何连接到部署到 OpenShift 的 IBM MQ?

    我有一个带有 IBM MQ 的容器 Docker 镜像ibmcom mq 9 2 2 0 r1 暴露两个端口 9443 管理 1414 应用程序 OpenShift 中所有必需的设置均已完成 Pod 服务 路由 有两条路线 每个港口一条 h
  • 如何在 Linux 中进行队列管理器备份和恢复

    您好 我有名为 QM 1 的队列管理器 在这里 我已经备份了 QM 1 如下所示 之后 我在其他系统中创建了同名的队列管理器 QM 1 我需要恢复保存 qmgr 属性 请提供如何恢复队列管理器属性 saveqmgr m QM 1 f 一些选
  • 在 Maven 存储库中托管 IBM MQ 的约定是什么?

    我们在应用程序中使用 IBM MQ 8 0 0 4 因此我们计划将 jar 托管在我们的 Maven 存储库管理器中 在本例中为 Nexus OSS 2 IBM MQ 的 GAV 具体约定是什么 所需的罐子是 commonservices
  • 如何存储 Websphere MQ 消息以实现持久性?

    Websphere MQ 消息存储在数据库还是文件系统中 我可以将其配置为使用 MySQL 吗 WebSphere MQ 持久性始终是分布式平台的本地文件系统 在大型机上 可以在具有耦合设施的 Sysplex 中使用 DB2 数据库 但对于
  • 如何使用 Java API 设置消息选择器?

    我正在尝试编写一个简单的测试用例 以根据消息属性从队列中提取消息 命中 7 5 0 3 QMgr 并使用 7 5 0 3 客户端 jar 我在网上看到的所有内容都表明我需要在打开队列时指定消息选择器 我对此很满意 但我只看到两种打开它的方法
  • MQ 安全性 - 在一个队列上获得 2035

    我有一个应用程序试图将消息放入远程队列管理器上的队列 LOG TRANSACTION IN 该消息最终失败并返回 2035 并被放入本地队列管理器的 DLQ 中 在本地队列管理器 QMLOCAL 上 应用程序将消息直接放在 SCTQ 上 因
  • C# - SSL 与 Websphere MQ 版本 7.0.1

    使用 C 连接到启用 SSL 的队列管理器时 需要设置哪些值才能使队列正常工作 我目前收到此错误 原因代码 2393 MQRC SSL INITIALIZATION ERROR 在我的代码中 我设置 MQEnvironment SSLKey
  • 将字符串从 EBCDIC 转换为 Unicode / UTF8

    我可以从以下位置发送消息Java to Websphere MQ on AS400 如果我从以下位置发送消息WinXP 如果我使用任何可访问的 没有区别Locale 包括完整的语言本地化 英语也没有问题Locale 对于正确编码来说重要的只
  • 通过 .net 客户端通过 SSL 连接到 IBM MQ

    我正在尝试通过 NET 客户端连接到 MQ 服务器队列 我需要使用证书进行安全通信 这是我的代码 MQEnvironment SSLKeyRepository SYSTEM MQEnvironment ConnectionName conn
  • IBM WebSphere MQ 2042 错误

    我有以下代码 int openOptions MQC MQOO INQUIRE MQC MQOO FAIL IF QUIESCING MQC MQOO INPUT SHARED 执行时 我收到错误 com ibm mq MQExceptio
  • MQ (Websphere 7) 将消息持久保存到文件系统

    我如何设置 MQ 以便收到的每条消息都立即写入文件系统 我有 红皮书 但至少需要有人至少指出书中的章节或标题来弄清楚 我们是一家 NET 商店 我已经通过 API 编写了 C 来读取队列 目前我们使用 BizTalk MQ 适配器 我们的最
  • WebSphere MQ FTE 中的退出和调用有什么区别?

    最近有人问我这个问题 所以我想我应该在这里发布问题和答案 FTE 退出和 FTE 呼叫有什么区别 它们的用途是什么以及何时使用它们 背景WebSphere MQ File Transfer Edition WMQ FTE 是一个基于 Web
  • IBM MQ - 如何使用多个连接名称连接到队列管理器(一个是故障转移)

    我对 IBM MQ 还很陌生 我的是一个多实例队列管理器 一种情况就像故障转移 即使其中之一已关闭 我如何才能连接到它们 我不确定我的术语是否正确 我现在尝试使用下面的示例进行连接 https raw githubusercontent c
  • 使用 JMS + CCDT 文件连接到 IBM MQ 时出现负载平衡问题

    我们正在尝试使用 CCDT 文件和 JMS 配置连接到 IBMMQ 我们能够连接到它 但这里有一个问题 由于我们使用 spring 使用 CCDT 文件设置连接工厂 因此它在应用程序启动时初始化一次 但不幸的是它一次只选择一个队列管理器 即
  • IBM Websphere MQ - 用于 Tomcat 部署的 EJB 和 MDB 迁移

    我已经为此苦苦挣扎了很长一段时间 我有一个 IBM Websphere MQ 它使用 EJB 和 MDB 以下是配置ejb mdb的地方

随机推荐