n1ro°
RU

Ошибки · Решение

MQTT 5 0x87 Not authorized: что означает и как исправить

Клиент не авторизован для запрошенного MQTT-действия или подключения.

Редакция N1RO · Проверено

Короткий ответ

MQTT 5 0x87 Not authorized. Клиент не авторизован для запрошенного MQTT-действия или подключения. Сверьте код с официальной поддержкой производителя и выполните только безопасные шаги.

Что означает ошибка

Клиент не авторизован для запрошенного MQTT-действия или подключения.

Возможные причины

  • учётная запись распознана, но ей запрещено подключение или выполняемая MQTT-операция.
  • ACL не разрешает доступ к требуемому topic, publish/subscribe или другому ресурсу.
  • политика брокера отклоняет действие по роли, tenant, сертификату или сетевому контексту клиента.

Что проверить

  • principal после аутентификации.
  • ACL для connect/publish/subscribe и конкретного topic.
  • audit log authorization decision.

Безопасные шаги

  1. выдайте только требуемое право нужному principal.
  2. исправьте topic/tenant, если запрос идёт не в ту область.
  3. не расширяйте ACL до wildcard ради обхода 0x87.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Для 0x87 передайте client ID, principal, operation и topic владельцу broker ACL.

Похожие ошибки

  • /errors/mqtt-reason-0x80-unspecified-error/
  • /errors/mqtt-reason-0x81-malformed-packet/
  • /errors/mqtt-reason-0x82-protocol-error/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.