Artemis 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 queue create --auto-create-address --durable --user opadmin --password xxxxxxxx --anycast --preserve-on-no-consumer --url tcp: / /10.91.xxx.xxx:61716 Исключение в потоке «main» ActiveMQSecurityException [errorType = SECURITY_EXCEPTION message = AMQ119213: Пользователь: opadmin не имеет разрешения = 'CONSUME' для очереди activemq.management.383ccac9-0084-4c44-8f23-7f5c44f7 адрес 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 queue 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-consumer --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] $


person Jagan Vittal    schedule 02.07.2018    source источник
comment
Что соответствует вставленным вами разрешениям?   -  person Justin Bertram    schedule 02.07.2018
comment
Привет, Джастин, это совпадение по умолчанию = #   -  person Jagan Vittal    schedule 03.07.2018


Ответы (1)


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

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

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

person Justin Bertram    schedule 05.07.2018
comment
Привет @Justin! Большое спасибо. Я дал все права администратора новому пользователю и смог создать адрес. Я использую версию 7.1. Можете ли вы помочь ниже. 1) Можно ли создать пользователя только для чтения для консоли управления. 2) В удаленном адресе указано, что адрес не существует, но отображается в статистике и консоли. - person Jagan Vittal; 07.07.2018
comment
Я рекомендую вам создавать новые вопросы для дополнительных проблем. Комментарии не предназначены для использования с этой целью. - person Justin Bertram; 08.07.2018