Формат разрешения пользователя RabbitMQ
Я пытаюсь настроить права пользователя в RabbitMQ с помощью rabbitmqctl
. Документация RabbitMQ http://www.rabbitmq.com/man/rabbitmqctl.1.man.html дает базовый пример настройки разрешений configure, write и read:
rabbitmqctl set_permissions -p /myvhost tonyg "^tonyg-.*" ".*" ".*"
но не дает более подробных примеров. Я просмотрел несколько сообщений по этой теме, но не нашел ответов на мои конкретные вопросы.
Первый вопрос: необходимо ли предоставлять разрешения как для обмена, так и для очередей, на которые пользователь может писать, или только на обмены? Точно так же для чтения достаточно ли указывать очереди? В документации просто говорится о предоставлении доступа к "ресурсам".
Второй вопрос: в приведенном выше примере используется каретка, чтобы отметить начало имени ресурса. Если я опустил это и просто использовал "tonyg -. *", Это позволило бы указать указанный текст в любом месте имени ресурса? Аналогично, если бы я хотел указать имя всего ресурса, я должен скопировать его с помощью ^ и $, как в "^ myqueue $"?
Третий вопрос: Скажем, я хочу указать несколько шаблонов для данного разрешения. Могу ли я просто разделить шаблоны запятыми, что-то вроде
rabbitmqctl set_permissions -p /myvhost tonyg "^tonyg-.*,^test-.*" ".*" ".*"
Является ли это правильным синтаксисом для этого? Если нет, то что?
Четвертый вопрос: Каков требуемый синтаксис имен vhost? Другие примеры на цитируемой странице руководства не используют ведущую косую черту, как в
rabbitmqctl add_vhost test
Являются ли имена vhost некорректно структурированными, или это косая черта только другого символа в имени?
Спасибо за любые предложения!
Ответы
Ответ 1
Я попал в ту же проблему, но после некоторых простых экспериментов я придумал следующее:
Сначала я добавил vhost с именем "/ASX", а затем добавил "гостя" к нему успешно, используя следующий формат:
rabbitmqctl set_permissions -p /ASX guest ".*" ".*" "."
Setting permissions for user "guest" in vhost "/ASX" ...
...done.
Мне также пришлось перезапустить сервер rabbitmq, чтобы изменения вступили в силу.
Ответ 2
Эта страница полностью описывает, что означает resource
:
http://pubs.vmware.com/vfabric5/index.jsp?topic=/com.vmware.vfabric.rabbitmq.2.4/admin-guide.html