发布消息时 RabbitMQ 访问被拒绝 - 如何授予用户特定队列的权限?

问题描述 投票:0回答:2

我在全新安装的 RabbitMQ 上设置了一个非常基本的队列“test_queue”,并创建了一个基本的非管理员用户“user”(我已为其授予与管理员帐户相同的虚拟主机访问权限)。

当我通过命令行发送测试消息时:

rabbitmqadmin publish exchange=amq.default routing_key=test_queue payload="hello, world" -u admin -p {admin password}

效果很好。但是当我尝试使用基本用户时:

rabbitmqadmin publish exchange=amq.default routing_key=test_queue payload="hello, world" -u user -p {user password}

我收到以下错误:

*** 访问被拒绝:/api/exchanges/%2F/amq.default/publish

我搜索了如何为特定用户添加发布到消息队列的权限,但无法通过噪音找到解决方案。

rabbitmq message-queue
2个回答
6
投票

我遇到了类似的问题,并通过通过 RabbitMQ 管理 UI 添加权限来解决它(管理员->用户->某些用户->设置权限): 您可以通过 CLI 将管理 UI 作为插件启用:

rabbitmq-plugins enable rabbitmq_management

要访问它,您还需要创建一些登录凭据。 更多详情:https://www.rabbitmq.com/management.html#getting-started


-2
投票

我用

site:rabbitmq.com permission
搜索了 Google,第一个点击的是这个文档:https://www.rabbitmq.com/access-control.html

“权限如何工作” 部分的末尾,您将被引导至

rabbitmqctl
手册页

在该页面中,您将找到

set_permissions
命令的文档。这就是你需要使用的。

如果您想提出拉取请求来改进文档,以便更轻松地找到此解决方案,我们将欢迎您在这里!谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.