Поделиться через


Авторизация доступа к ресурсам Web PubSub с помощью идентификатора Microsoft Entra

Служба Azure Web PubSub обеспечивает авторизацию запросов к ресурсам Azure Web PubSub с помощью идентификатора Microsoft Entra.

Используя управление доступом на основе ролей (RBAC) с идентификатором Microsoft Entra, разрешения можно предоставить субъекту безопасности[1]. Microsoft Entra авторизует этот субъект безопасности и возвращает маркер OAuth 2.0, который ресурсы Web PubSub затем могут использовать для авторизации запроса.

Использование идентификатора Microsoft Entra для авторизации запросов Web PubSub обеспечивает улучшенную безопасность и удобство использования по сравнению с авторизацией ключа доступа. Корпорация Майкрософт рекомендует использовать авторизацию Microsoft Entra с ресурсами Web PubSub, чтобы обеспечить доступ с минимальными необходимыми привилегиями.

[1] Субъект безопасности: группа пользователей или ресурсов, приложение или субъект-служба, например удостоверения, назначенные системой, и удостоверения, назначенные пользователем.

Обзор идентификатора Microsoft Entra для Web PubSub

Проверка подлинности необходима для доступа к ресурсу Web PubSub при использовании идентификатора Microsoft Entra. Эта проверка подлинности включает два шага.

  1. Сначала Azure проходит проверку подлинности субъекта безопасности и выдает маркер OAuth 2.0.
  2. Во-вторых, маркер добавляется в запрос к ресурсу Web PubSub. Служба Web PubSub использует токен, чтобы проверить, обладает ли служебный принципал доступом к ресурсу.

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

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

Однако ключ доступа часто отключается при использовании идентификатора Microsoft Entra для повышения безопасности.

Для решения этой проблемы мы разработали REST API, который создает маркер клиента. Этот маркер можно использовать для подключения к службе Azure Web PubSub.

Чтобы использовать этот API, сервер переговоров должен сначала получить маркер Microsoft Entra из Azure для проверки подлинности. Затем сервер может вызвать API проверки подлинности Web PubSub с токеном Microsoft Entra, чтобы получить токен клиента. Затем маркер клиента возвращается клиенту, который может использовать его для подключения к службе Azure Web PubSub.

Мы предоставили вспомогательные функции (например, GenerateClientAccessUri) для поддерживаемых языков программирования.

Назначение ролей Azure для предоставления прав доступа

Microsoft Entra разрешает доступ к защищенным ресурсам с помощью управления доступом на основе ролей Azure. Azure Web PubSub определяет набор встроенных ролей Azure, охватывающих общие наборы разрешений, используемых для доступа к ресурсам Web PubSub. Вы также можете определить пользовательские роли для доступа к ресурсам Web PubSub.

Область ресурсов

Перед назначением роли Azure RBAC участнику безопасности важно определить подходящий уровень доступа, который должен иметь участник. Рекомендуется предоставить роль с наименьшими возможными полномочиями. Ресурсы в нем наследуют роли Azure RBAC, назначенные для данного уровня.

Вы можете ограничить доступ к ресурсам Azure Web PubSub на следующих уровнях, начиная с самой узкой области:

  • Отдельный ресурс.

    В этой области назначение роли применяется только к целевому ресурсу.

  • Группа ресурсов.

    В этой области назначение роли применяется ко всем ресурсам в группе ресурсов.

  • Подписка.

    В этой области назначение роли применяется ко всем ресурсам во всех группах ресурсов в подписке.

  • Группа управления.

    В этой области назначение роли применяется ко всем ресурсам во всех группах ресурсов во всех подписках в группе управления.

Встроенные роли Azure для ресурсов Web PubSub

Должность Описание Вариант использования
Владелец службы Web PubSub Полный доступ к API контура данных, включая REST API для чтения и записи, а также API аутентификации. Чаще всего используется для создания вышестоящего сервера, обрабатывающего запросы переговоров и события клиента.
Читатель службы Web PubSub Доступ к API уровня данных только для чтения. Используйте это при написании средства мониторинга, вызывающего только для чтения REST API.

Узнайте, как создать пользовательскую роль, если встроенные роли не соответствуют вашим требованиям.

Пользовательские роли Azure. Действия по созданию настраиваемой роли

Дальнейшие действия

Чтобы узнать, как использовать проверку подлинности Microsoft Entra с управлением доступом на основе ролей, ознакомьтесь со статьей

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

Чтобы узнать, как отключить строку подключения и использовать только проверку подлинности Microsoft Entra, см. статью