我正在尝试使用在 RabbitMQ 中配置用户权限rabbitmqctl
。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
虚拟主机名称是否以某种方式结构化,或者斜线只是名称中的另一个字符?
感谢您的任何建议!