Проверка подлинности Microsoft Entra JWT и авторизация Azure RBAC для публикации или подписки на сообщения MQTT
Клиенты MQTT можно пройти проверку подлинности с помощью Microsoft Entra JWT, чтобы подключиться к пространству имен Сетки событий. Вы можете использовать управление доступом на основе ролей Azure (Azure RBAC) для включения клиентов MQTT с удостоверением Microsoft Entra для публикации или подписки на доступ к определенным темам.
Важно!
- Эта функция поддерживается только при использовании версии протокола MQTT версии 5
- Проверка подлинности JWT поддерживается только для управляемых удостоверений и субъектов-служб
Необходимые компоненты
- Вам потребуется пространство имен Сетки событий с включенным MQTT. Сведения о создании пространства имен Сетки событий
Проверка подлинности с помощью Microsoft Entra JWT
Пакет MQTT версии 5 CONNECT можно использовать для предоставления маркера Microsoft Entra JWT для проверки подлинности клиента и использовать пакет auTH MQTT версии 5 для обновления маркера.
В пакете CONNECT можно указать необходимые значения в следующих полях:
Поле | значение |
---|---|
Метод проверки подлинности | OAUTH2-JWT |
Данные проверки подлинности | Токен JWT |
В пакете AUTH можно указать необходимые значения в следующих полях:
Поле | значение |
---|---|
Метод проверки подлинности | OAUTH2-JWT |
Данные проверки подлинности | Токен JWT |
Код причины проверки подлинности | 25 |
Проверка подлинности в коде причины со значением 25 означает повторную проверку подлинности.
Примечание.
- Аудитория: утверждение "aud" должно иметь значение "https://eventgrid.azure.net/".
Авторизация для предоставления разрешений на доступ
Клиент, использующий проверку подлинности JWT на основе идентификатора Microsoft Entra, должен быть авторизован для обмена данными с пространством имен Сетки событий. Вы можете назначить следующие две встроенные роли для предоставления разрешений на публикацию или подписку клиентам с удостоверениями Microsoft Entra.
- Использование роли издателя EventGrid TopicSpaces для предоставления доступа издателя сообщений MQTT
- Использование роли подписчика EventGrid TopicSpaces для предоставления доступа подписчика к сообщению MQTT
Эти роли можно использовать для предоставления разрешений на подписку, группу ресурсов, пространство имен Сетки событий или пространство разделов сетки событий область.
Назначение роли издателя удостоверению Microsoft Entra в пространстве тем область
- В портал Azure перейдите к пространству имен Сетки событий
- Перейдите к пространству разделов, к которому требуется авторизовать доступ.
- Перейдите на страницу управления доступом (IAM) пространства тем
- Откройте вкладку Назначения ролей, чтобы просмотреть назначения ролей в этой области.
- Выберите +Добавить и добавить назначение ролей.
- На вкладке "Роль" выберите роль "Издатель Разделов сетки событий".
- На вкладке "Участники" для назначения доступа, выберите "Пользователь", "Группа" или "Субъект-служба", чтобы назначить выбранную роль одному или нескольким субъектам-службам (приложениям).
- Выберите + Выбрать участников.
- Найдите и выберите субъекты-службы.
- Выберите Далее
- Выберите "Рецензирование" и " Назначить " на вкладке "Проверка и назначение".
Примечание.
Вы можете выполнить аналогичные действия, чтобы назначить встроенную роль подписчика EventGrid TopicSpaces в область тем.
Следующие шаги
- См. статью "Публикация и подписка на сообщение MQTT с помощью сетки событий"
- Дополнительные сведения о работе управляемых удостоверений см. в статье о работе управляемых удостоверений для ресурсов Azure с виртуальными машинами Azure — Microsoft Entra
- Дополнительные сведения о том, как получить маркеры из идентификатора Microsoft Entra, см. в статье о получении маркеров Microsoft Entra
- Дополнительные сведения о клиентской библиотеке удостоверений Azure см. в статье об использовании клиентской библиотеки удостоверений Azure.
- Дополнительные сведения о реализации интерфейса для учетных данных, которые могут предоставить маркер, см. в разделе TokenCredential Interface
- Дополнительные сведения о проверке подлинности с помощью удостоверений Azure см. в примерах
- Если вы предпочитаете использовать пользовательские роли, можно просмотреть процесс для создания настраиваемой роли.