【问题标题】:RabbitMQ user permission formatRabbitMQ 用户权限格式
【发布时间】:2013-04-29 22:34:47
【问题描述】:

我正在尝试使用rabbitmqctl 在 RabbitMQ 中配置用户权限。 RabbitMQ 文档http://www.rabbitmq.com/man/rabbitmqctl.1.man.html 给出了设置配置、写入和读取权限的基本示例:

rabbitmqctl set_permissions -p /myvhost tonyg "^tonyg-.*" ".*" ".*"

但没有给出更详细的例子。我查看了有关此主题的几篇帖子,但没有找到我的具体问题的答案。

第一个问题:是否需要同时授予用户可以写入的交换和队列的权限,还是只授予交换?同样对于阅读,指定队列是否足够?该文档仅讨论授予对“资源”的访问权限。

第二个问题:上面的示例使用插入符号来标记资源名称的开头。如果我省略它,而只使用“tonyg-.*”,那是否允许指定的文本出现在资源名称中的任何位置?同样,如果我想指定整个资源名称,是否必须用 ^ 和 $ 括起来,如“^myqueue$”?

第三个问题:假设我想为给定权限指定多个模式。我可以用逗号分隔模式吗,比如

rabbitmqctl set_permissions -p /myvhost tonyg "^tonyg-.*,^test-.*" ".*" ".*"

这是正确的语法吗?如果不是,是什么?

第四个问题:虚拟主机名的语法要求是什么?引用的手册页上的其他示例不使用前导斜杠,如

rabbitmqctl add_vhost test

虚拟主机名称是否以某种方式结构化,或者斜线只是名称中的另一个字符?

感谢您的任何建议!

【问题讨论】:

  • 你有没有发现什么有趣的东西?我想要类似的东西。基本上,“备忘单”将有助于查看例如如何授予创建具有特定名称或类似名称的队列的权限
  • @John 对此有什么帮助吗?我认为很多人都希望只授予队列读取权限,而从现有文档中很难知道它。

标签: rabbitmq amqp


【解决方案1】:

我遇到了同样的问题,但经过一些简单的实验后,我想出了以下问题:

我先添加了一个名为“/ASX”的虚拟主机,然后使用以下格式成功添加了“guest”用户:

rabbitmqctl set_permissions -p /ASX guest ".*" ".*" "."
Setting permissions for user "guest" in vhost "/ASX" ...
...done.

我还必须重新启动 rabbitmq-server 才能使更改生效。

【讨论】:

    猜你喜欢
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 2015-08-04
    相关资源
    最近更新 更多