【问题标题】:RabbitMQ access refused when publishing message - how to give user permission for specific queue?发布消息时 RabbitMQ 访问被拒绝 - 如何授予特定队列的用户权限?
【发布时间】:2018-04-19 15:30:46
【问题描述】:

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

当我通过以下方式在命令行上发送测试消息时:

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


    【解决方案1】:

    我遇到了类似的问题,并通过 RabbitMQ Admin UI (Admin->Users->Some User->Set Permission) 添加权限来解决它: 您可以通过 CLI 将管理 UI 作为插件启用:

    rabbitmq-plugins enable rabbitmq_management
    

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

    【讨论】:

      【解决方案2】:

      RabbitMQ 团队会监控 the rabbitmq-users mailing list,但有时只会在 StackOverflow 上回答问题。


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

      在"How Permissions Work" 部分的末尾,您将被定向到rabbitmqctl man page

      在该页面中,您将找到set_permissions 命令的文档。这就是你需要使用的。

      如果您想打开拉取请求以改进文档以更轻松地找到此解决方案,我们欢迎here!谢谢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-19
        • 2016-10-26
        • 2019-07-10
        • 2016-03-16
        • 1970-01-01
        • 1970-01-01
        • 2011-10-17
        • 2012-11-05
        相关资源
        最近更新 更多