Получение «не авторизован» при создании MQ Sub через командную строку - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь создать сабвуфер IBM MQ через командную строку при установке linux и получаю:

AMQ8135: Not authorized.

Мои журналы показывают:

AMQ8009: Entity '' has insufficient authority to access topic string 'WW/XX/YY'.
EXPLANATION: The specified entity is not authorized to access the required topic.
The following permissions were requested: altusr/ctrl

Похоже командная строка не получает значение сущности от того места, где она пыталась найти, не уверена, где это находится!

Но запутанная часть в том, что создание других объектов mq (очередей / тем) работает просто отлично в командной строке и даже подпрограммы create работают с MO71 и не работают на cmd.

Разрешения на файл выглядят хорошо, а переменная env также выглядела нормально для меня, если только!

cmd-  DEFINE SUB('ABC.1') TOPICSTR('xx/yy/zz') DEST('lq.abc') 

Кто-нибудь сталкивался с такой / исправил такую ​​проблему?

1 Ответ

2 голосов
/ 09 марта 2020

Чтобы успешно выполнить команду DEFINE SUB, для идентификатора пользователя, с которым вы ее запускаете, требуются следующие полномочия (вы можете проверить их, просмотрев все сообщение AMQ8009 в вашем AMQERR01.LOG, в частности, ОБЪЯСНЕНИЕ: раздел).

  • ctrl в ближайшем административном объекте topi c *
  • put в именованной очереди назначения

Также прочитайте

В качестве примера, давайте предположим: -

  • TOPIC(XYZ) определяется с TOPICSTR('xx/yy/zz')
  • QUEUE(LQ.ABC) существует
  • Идентификатор непривилегированного пользователя, выполняющего команду, является членом группы mqgemadm

Затем необходимо установить следующие две привилегии (сверх и выше все, что вы уже могли установить для этой группы, чтобы иметь возможность выдать ommands в общем): -

SET AUTHREC PROFILE(XYZ)    OBJTYPE(TOPIC) GROUP('mqgemadm') AUTHADD(ctrl)
SET AUTHREC PROFILE(LQ.ABC) OBJTYPE(QUEUE) GROUP('mqgemadm') AUTHADD(put)

Если вы считаете, что у вашего идентификатора пользователя уже есть эти разрешения, и причина его сбоя заключается в том, что идентификатор пользователя не входит в команду, вы можете попробовать добавить SUBUSER поле для команды.

DEFINE SUB('ABC.1') TOPICSTR('xx/yy/zz') DEST(LQ.ABC) SUBUSER('mqgemusr')

Если это работает, но без SUBUSER все еще не удается, предложите сообщить об ошибке в IBM через PMR / случай поддержки.

...