Артемида AMQ119213: Пользователь: '' не имеет разрешения = 'ПОТРЕБИТЬ' - PullRequest
0 голосов
/ 02 июля 2018

Мне нужно создать пользователя, который просто используется для создания очередей из инструмента 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-7f5c44f7b0dc on адрес 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-consumer --url tcp: //10.91.xxx.xxx: 61716 - многословный Выполнение 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,0-hf8, Instance :: / Opt / RedHat / AMQ-конфигурации / cn_soi / broker2b ^ C [amq-broker @ x01sipscnaq1a bin] $

1 Ответ

0 голосов
/ 05 июля 2018

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

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

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

...