Аутентификация передачи событий к обработчикам событий (Azure Event Grid)

Эта статья содержит сведения о проверке подлинности для доставки событий в обработчики событий.

Обзор

Служба "Сетка событий Azure" использует разные способы проверки подлинности для доставки событий обработчикам событий. `

Метод аутентификации Поддерживаемые обработчики событий Описание
Ключ доступа
  • Event Hubs
  • Service Bus
  • Очереди хранения
  • Подключения Relay Hybrid
  • Функции Azure
  • Blob-объекты хранилища (Deadletter)
Учетные данные субъекта-службы сетки событий получают ключи доступа. При регистрации поставщика ресурсов Event Grid в вашей подписке Azure, вы предоставляете Event Grid необходимые разрешения.
Управляемая системная идентичность
&
Управление доступом на основе ролей
  • Event Hubs
  • Service Bus
  • Очереди системы хранения
  • Объекты данных хранилища (мертвое письмо)
Включите управляемое удостоверение системы для топика и добавьте его в нужную роль на целевом объекте. Дополнительные сведения см. в разделе Использование назначенных системой удостоверений для доставки событий.
Проверка подлинности маркера носителя с помощью защищенного веб-перехватчика Microsoft Entra Вебхук Дополнительные сведения см. в разделе "Доставка событий аутентификации на конечные точки веб-перехватчика".
Использование секрета клиента в качестве параметра запроса Вебхук Дополнительные сведения см. в разделе " Использование секрета клиента в качестве параметра запроса ".

Примечание.

Если ваша функция Azure защищена приложением Microsoft Entra, необходимо использовать универсальный веб-перехватчик, применяя триггер HTTP. Укажите конечную точку функции Azure в качестве URL-адреса веб-перехватчика при добавлении подписки.

Использование системных удостоверений для доставки событий

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

Выполните следующие действия:

  1. Создайте тему или домен с назначенной системой идентичностью или активируйте идентичность в существующей теме или домене. Для получения дополнительной информации см. раздел «Включение управляемой идентификации для системной темы» или «Включение управляемой идентификации для пользовательской темы или домена».
  2. Добавьте удостоверение к соответствующей роли (например, "Отправитель данных Service Bus") на целевом объекте (например, в очереди Service Bus). Дополнительные сведения см. в разделе Предоставление удостоверению доступа к Event Grid.
  3. При создании подписок на события включите использование удостоверяющей информации для доставки событий к пункту назначения. Дополнительные сведения см. в статье Создание подписки на событие, использующей удостоверение.

Подробные пошаговые инструкции см. в статье Доставка событий с помощью управляемого удостоверения.

Проверка подлинности для доставки событий в конечные точки веб-перехватчика

В следующих разделах описывается, как аутентифицировать доставку событий в конечные точки вебхуков. Используйте механизм валидации рукопожатия независимо от используемого метода. См. раздел Доставка событий веб-перехватчика для получения подробной информации.

Использование идентификатора Microsoft Entra

Вы можете защитить конечную точку веб-перехватчика, которая получает события из сетки событий с помощью идентификатора Microsoft Entra. Создайте приложение Microsoft Entra, создайте роль и субъект-службу в приложении, которое авторизует сетку событий и настройте подписку на события для использования приложения Microsoft Entra. Узнайте, как настроить идентификатор Microsoft Entra с помощью сетки событий.

Использование секрета клиента в качестве параметра запроса

Защитить конечную точку веб-хука можно также путем добавления параметров запроса к URL-адресу назначения веб-хука, указанного при создании подписки на события. Задайте один из параметров запроса в качестве секрета клиента, например маркер доступа или общий секрет. Служба "Сетка событий" включает все параметры запроса в каждом запросе на доставку событий в веб-перехватчик. Служба вебхука может получать и проверять секрет. При обновлении секрета клиента также необходимо обновить подписку на события. Чтобы избежать ошибок доставки во время этой ротации секретов, сделайте так, чтобы вебхук принимал как старые, так и новые секреты в течение ограниченного периода, прежде чем обновлять подписку на события новым секретом.

Так как параметры запроса могут содержать конфиденциальные данные клиента, обрабатывайте их с особой осторожностью. Они хранятся как зашифрованные и недоступны для операторов служб. Они не фиксируются в журналах обслуживания или трассировках. При получении свойств подписки на события параметры целевого запроса не возвращаются по умолчанию. Например, необходимо использовать --include-full-endpoint-url параметр в Azure CLI.

Дополнительные сведения о доставке событий на вебхуки см. в разделе доставка событий на вебхуки.

Внимание

Служба "Сетка событий Azure" поддерживает только конечные точки веб-перехватчиков HTTPS.

Проверка конечной точки с помощью CloudEvents версии 1.0

Если вы уже знакомы с Event Grid, то, возможно, знаете о процедуре подтверждения конечной точки для предотвращения злоупотреблений. CloudEvents версии 1.0 реализует собственную семантику защиты от нарушений с помощью метода HTTP OPTIONS. Дополнительные сведения см. в статье Веб-перехватчики HTTP 1.1 для доставки событий – версия 1.0. При использовании схемы CloudEvents для вывода Event Grid применяет защиту CloudEvents версии 1.0 вместо механизма проверки событий Event Grid. Дополнительные сведения см. в статье Использование схемы CloudEvents версии 1.0 со службой "Сетка событий".

Сведения о проверке подлинности клиентов, публикующих события в разделах или доменах, см. в статье "Проверка подлинности клиентов публикации".