Я пытаюсь настроить права пользователя в 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 некорректно структурированными, или это косая черта только другого символа в имени?
Спасибо за любые предложения!