Проверка подлинности приложения с помощью идентификатора Microsoft Entra для доступа к Центрам событий

Microsoft Azure предоставляет интегрированное управление доступом для ресурсов и приложений на основе идентификатора Microsoft Entra. Ключевым преимуществом использования идентификатора Microsoft Entra с Центрами событий Azure является то, что вам не нужно хранить учетные данные в коде. Вместо этого запросите маркер доступа OAuth 2.0 из платформы удостоверений Майкрософт. Имя ресурса для запроса токена — https://eventhubs.azure.net/, и оно одинаково для всех облаков и арендаторов (для клиентов Kafka ресурс для запроса токена — https://<namespace>.servicebus.windows.net). Microsoft Entra проверяет подлинность субъекта безопасности, например пользователя, группы, субъекта-службы или управляемого удостоверения, запуска приложения. Если проверка подлинности выполнена успешно, идентификатор Microsoft Entra возвращает маркер доступа к приложению, который затем может использовать маркер для авторизации запросов к ресурсам Центров событий Azure.

Когда роль назначается субъекту безопасности Microsoft Entra, Azure предоставляет доступ к этим ресурсам для этого субъекта безопасности. Доступ может быть ограничен подпиской, группой ресурсов, пространством имен Центров событий или любым ресурсом под ним. Субъект безопасности Microsoft Entra может назначать роли пользователю, группе, субъекту-службе приложений или управляемому удостоверению ресурсов Azure.

Note

Определение роли представляет собой коллекцию разрешений. Управление доступом на основе ролей Azure (Azure RBAC) применяет эти разрешения с помощью назначения ролей. Назначение роли включает в себя три элемента: субъект безопасности, определение роли и область. Для получения дополнительной информации см. раздел Понимание различных ролей.

Встроенные роли для концентраторов событий Azure

Azure предоставляет эти встроенные роли для авторизации доступа к данным Центров событий с помощью идентификатора Microsoft Entra и OAuth:

Встроенные роли реестра схем см. в разделе Роли реестра схем.

Important

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

Аутентификация из приложения

Ключевым преимуществом использования идентификатора Microsoft Entra с Центрами событий является то, что вам не нужно хранить учетные данные в коде. Вместо этого запросите маркер доступа OAuth 2.0 из платформы удостоверений Майкрософт. Microsoft Entra выполняет проверку подлинности субъекта безопасности (пользователя, группы или субъекта-службы). Если проверка подлинности выполнена успешно, идентификатор Microsoft Entra возвращает маркер доступа приложению, а приложение может использовать маркер доступа для авторизации запросов на Центры событий Azure.

В следующих разделах объясняется, как настроить собственное приложение или веб-приложение для проверки подлинности с помощью платформы удостоверений Майкрософт 2.0. Дополнительные сведения о платформе удостоверений Майкрософт 2.0 см. в разделе Обзор Платформы удостоверений Майкрософт (v2.0).

Общие сведения о потоке предоставления кода OAuth 2.0 см. в разделе "Авторизация доступа к веб-приложениям Microsoft Entra" с помощью потока предоставления кода OAuth 2.0.

Регистрация приложения с помощью идентификатора Microsoft Entra

Первым шагом для авторизации ресурсов Центров событий является регистрация клиентского приложения с помощью идентификатора Microsoft Entra на портале Azure. Выполните действия, описанные в кратком руководстве по регистрации приложения в платформе удостоверений Майкрософт, чтобы зарегистрировать приложение в Microsoft Entra ID, которое представляет ваше приложение, пытающееся получить доступ к ресурсам Центров событий.

При регистрации клиентского приложения вы предоставляете сведения о приложении. Идентификатор Microsoft Entra предоставляет идентификатор клиента, который также называется идентификатором приложения для связывания приложения с средой выполнения Microsoft Entra. Дополнительные сведения об идентификаторе клиента см. в разделе «Объекты приложения и субъекта-службы в Microsoft Entra ID».

Note

Если вы регистрируете приложение в качестве собственного приложения, укажите любой допустимый универсальный код ресурса (URI) перенаправления. Для собственных приложений это значение не должно быть реальным URL-адресом. Для веб-приложений URI перенаправления должен быть допустимым URI, так как он задает URL-адрес, куда предоставляются токены.

После регистрации приложения вы увидите идентификатор приложения (клиента) в разделе "Параметры":

Снимок экрана: страница регистрации приложения портала Azure с выделенным идентификатором приложения.

Создание секрета клиента для проверки подлинности

Приложению требуется секрет клиента, чтобы подтвердить свою идентификацию при запросе токена. Выполните действия, описанные в разделе "Добавление секрета клиента" для создания секрета клиента для приложения в идентификаторе Microsoft Entra.

Назначение ролей Azure с помощью портала Azure

Назначьте одну из ролей Event Hubs основному объекту службы приложения на нужной области, такой как пространство имен Event Hubs, группа ресурсов или подписка. Подробные инструкции см. в статье Назначение ролей Azure с помощью портала Microsoft Azure.

После определения роли и её области проверьте работу с помощью примеров, доступных в этом репозитории GitHub. Дополнительные сведения об управлении доступом к ресурсам Azure с помощью управления доступом на основе ролей Azure (RBAC) и портала Azure см. в этой статье.

Используйте клиентские библиотеки для получения токенов

После регистрации приложения и предоставления ему разрешений на отправку или получение данных в Центрах событий Azure добавьте код в приложение для проверки подлинности субъекта безопасности и получения маркера OAuth 2.0. Для аутентификации и получения токена используйте одну из библиотек аутентификации Microsoft платформы удостоверений или другую библиотеку с открытым исходным кодом, которая поддерживает OpenID Connect 1.0. Приложение может использовать маркер доступа для авторизации запросов к концентраторам событий Azure.

Для сценариев, в которых поддерживается получение токенов, смотрите раздел «Сценарии» в репозитории Microsoft Authentication Library (MSAL) для .NET на GitHub.

Samples

См. следующие статьи по этой теме: