Артемида AMQ119213: Пользователь: '' не имеет разрешения ='ПОТРЕБИТЬ'

Мне нужно создать пользователя, который просто используется для создания очередей из инструмента CI/CD.

<permission type="createDurableQueue" roles="amq, opadmin"/>
        <permission type="deleteDurableQueue" roles="amq"/>
        <permission type="createAddress" roles="amq, opadmin"/>
        <permission type="deleteAddress" roles="amq, opadmin"/>
        <permission type="consume" roles="amq, developer"/>

я получаю ошибку ниже

[amq-broker@x01sipscnaq1a bin]$ ./artemis Очередь create --auto-create-address --durable --user opadmin --password xxxxxxxx --anycast --preserve-on-no-Customers --url tcp://10.91.xxx.xxx:61716 Исключение в потоке "main" ActiveMQSecurityException[errorType=SECURITY_EXCEPTION message=AMQ119213: пользователь: opadmin не имеет разрешения ='CONSUME' для очереди activemq.management.383ccac9-0084-4c44-8f23-7f0cc7 по7 адрес activemq.management.383ccac9-0084-4c44-8f23-7f5c44f7b0dc.activemq.management.383ccac9-0084-4c44-8f23-7f5c44f7b0dc]

Так изменилось на

<permission type="createDurableQueue" roles="amq, opadmin"/>
        <permission type="deleteDurableQueue" roles="amq"/>
        <permission type="createAddress" roles="amq, opadmin"/>
        <permission type="deleteAddress" roles="amq, opadmin"/>
        <permission type="consume" roles="amq, developer, opadmin"/>

Идет без ошибок, но зависает (ждал более 30 минут)

[amq-broker@x01sipscnaq1a bin]$ ./artemis Очередь create --silent --auto-create-address --durable --user opadmin --password xxxxxx --anycast --name TestTorture --preserve-on-no- потребители --url tcp://10.91.xxx.xxx:61716 --verbose Выполнение org.apache.activemq.artemis.cli.commands.queue.CreateQueue queue create --silent --auto-create-address --durable --user opadmin --password xxxxxx --anycast --name TestTorture --preserve-on-no-users --url tcp://10.91.xxx.xxx:61716 --verbose Home::/opt/redhat/amq-broker-7.1.0-hf8, экземпляр::/opt/redhat/amq-config/cn_soi/broker2b ^C[amq-broker@x01sipscnaq1a bin]$

1 ответ

Решение

Любой пользователь, выполняющий операции удаленного управления с помощью основных сообщений (например, Artemis CLI), нуждается в следующих разрешениях на activemq.management.#:

  • createNonDurableQueue (создать очередь "подписки" по адресу управления для получения ответа от управления)
  • consume (чтобы получить ответ руководства)
  • send (отправить сообщение управления)
  • manage (выполнить операцию управления)

Вы скучаете по send а также manage операции. Хотя клиент может не получать исключений по этому поводу, поскольку он отправляет недолговечные сообщения (которые запускаются и забываются), журнал в брокере должен содержать соответствующие ошибки.

Другие вопросы по тегам