Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Клиентов MQTT можно аутентифицировать с помощью Microsoft Entra JWT для подключения к пространству имен Event Grid. Вы можете использовать управление доступом на основе ролей Azure (Azure RBAC) для обеспечения клиентов MQTT, использующих удостоверение Microsoft Entra, возможностью публикации или подписки на определенные пространства тем.
Внимание
- Эта функция поддерживается только при использовании версии протокола MQTT версии 5
Предварительные условия
- Вам потребуется пространство имен Event Grid с включенным MQTT. Узнайте о создании пространства имен Event Grid
Проверка подлинности с помощью Microsoft Entra JWT
Вы можете использовать пакет MQTT версии 5 CONNECT для аутентификации вашего клиента с помощью Microsoft Entra JWT, а для обновления токена можно использовать пакет MQTT версии 5 AUTH.
В пакете 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
Эти роли можно использовать для предоставления разрешений на уровне подписки, группы ресурсов, пространства имен Event Grid или темы Event Grid.
Назначение роли издателя идентификатору Microsoft Entra в контексте пространства тем
- В портале Azure перейдите к пространству имен Event Grid
- Перейдите к пространству тем, к которому требуется авторизовать доступ.
- Перейдите на страницу управления доступом (IAM) пространства тем
- Откройте вкладку Назначения ролей, чтобы просмотреть назначения ролей в этой области.
- Выберите +Добавить и добавьте назначение ролей.
- На вкладке "Роль" выберите роль "Издатель TopicSpaces в Event Grid".
- На вкладке "Участники" для назначения доступа, выберите "Пользователь", "Группа" или "Субъект-служба", чтобы назначить выбранную роль одному или нескольким субъектам-службам (приложениям).
- Выберите + Выберите участников.
- Найдите и выберите субъекты-службы.
- Выберите Далее
- Выберите Обзор + Назначить на вкладке Обзор + Назначить.
Примечание.
Вы можете выполнить аналогичные действия, чтобы назначить встроенную роль подписчика Сетки событий TopicSpaces в области пространства тем.
Следующие шаги
- См. статью "Публикация и подписка на сообщение MQTT с помощью сетки событий"
- Дополнительные сведения о том, как работают управляемые удостоверения, можно ознакомиться в статье Как управляемые удостоверения для ресурсов Azure работают с виртуальными машинами Azure — Microsoft Entra
- Дополнительные сведения о том, как получить маркеры из идентификатора Microsoft Entra, см. в статье о получении маркеров Microsoft Entra
- Дополнительные сведения о клиентской библиотеке удостоверений Azure см. в статье об использовании клиентской библиотеки удостоверений Azure.
- Чтобы узнать больше об интерфейсе для учетных данных, который может предоставлять токен, обратитесь к TokenCredential Interface
- Дополнительные сведения о проверке подлинности с помощью удостоверений Azure см. в примерах
- Если вы предпочитаете использовать пользовательские роли, можно просмотреть процесс для создания настраиваемой роли.