Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В службе Azure SignalR можно использовать управляемое удостоверение из Microsoft Entra ID:
- Получите токены доступа.
- Доступ к секретам в Azure Key Vault.
Сервис поддерживает только одну управляемую идентичность. Вы можете создать либо системное удостоверение, либо пользовательское удостоверение. Назначаемое системой удостоверение предназначено для вашего экземпляра службы Azure SignalR и удаляется при удалении экземпляра. Назначаемое пользователем удостоверение управляется независимо от ресурса службы Azure SignalR.
В этой статье содержатся сведения о том, как создать управляемое удостоверение для Службы Azure SignalR и как использовать такое удостоверение в бессерверных сценариях.
Требования
Чтобы использовать управляемое удостоверение, необходимо иметь следующие элементы:
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
- Ресурс службы Azure SignalR.
- Исходящие ресурсы, к которым требуется получить доступ, например ресурс Azure Key Vault.
- Приложение Azure Functions (приложение Azure Functions).
Добавление управляемого удостоверения в службу Azure SignalR
Вы можете добавить управляемое удостоверение для службы Azure SignalR в портале Azure или с помощью Azure CLI. В этой статье показано, как добавить управляемое удостоверение в Службу Azure SignalR в Портале Azure.
Добавить назначаемое системой удостоверение
Чтобы добавить управляемое удостоверение, назначаемое системой, в экземпляр службы Azure SignalR:
В портале Azure перейдите к экземпляру Службы Azure SignalR.
Выберите Идентификатор.
На вкладке Назначено системой для параметра Состояние установите значение Вкл.
Выберите Сохранить.
Выберите Да , чтобы подтвердить изменение.
Добавление удостоверения, назначенного пользователем
Чтобы добавить удостоверение, назначаемое пользователем, в ваш экземпляр службы Azure SignalR, необходимо сначала создать удостоверение, а затем добавить его в службу.
Создайте ресурс назначаемого пользователем управляемого удостоверения в соответствии с этими инструкциями.
В портале Azure перейдите к вашему экземпляру службы Azure SignalR.
Выберите Идентичность.
На вкладке User assigned нажмите Добавить.
В раскрывающемся меню управляемых удостоверений, назначенных пользователем, выберите удостоверение.
Выберите Добавить.
Использование управляемого удостоверения в бессерверных сценариях
Служба Azure SignalR — это полностью управляемая служба. Он использует управляемое удостоверение для получения токена доступа. В бессерверных сценариях служба добавляет токен доступа в Authorization
заголовок в входящем запросе.
Включение проверки подлинности управляемого удостоверения в настройках исходящего потока
После добавления системного удостоверения или пользовательского удостоверения в экземпляр службы Azure SignalR, вы можете включить проверку подлинности управляемого удостоверения в настройках вышестоящей конечной точки.
Перейдите в портал Azure к экземпляру службы Azure SignalR.
В меню выберите пункт Параметры.
Выберите режим бессерверной службы.
В текстовом поле "Добавление вышестоящего URL-адреса " введите шаблон URL-адреса вышестоящей конечной точки. См. на параметры шаблона URL-адреса.
Выберите Добавить одну настройку Upstream, а затем выберите любой символ звезды.
В параметрах вышестоящей конечной точки настройте настройки.
В настройках аутентификации управляемого удостоверения для аудитории в выданном токене можно указать целевой ресурс. Ресурс превратится в утверждение
aud
в полученном маркере доступа, который можно использовать как часть проверки в ваших вышестоящих конечных точках. Ресурс может находиться в одном из следующих форматов:Идентификатор приложения (клиента) основного объекта службы.
При использовании идентификатора приложения (клиента) приложение должно находиться в том же тенанте, в котором расположен ресурс Azure SignalR. Если приложение находится в другом клиенте, выполните следующие действия.
- Преобразуйте однотенантное приложение в мультитенантное в Microsoft Entra ID.
- Создайте корпоративное приложение из мультитенантного приложения в Microsoft Entra ID, чтобы развернуть ваше приложение в текущем клиенте.
Затем вы сможете найти корпоративное приложение, щелкнув "Или выбрать из существующих приложений".
URI идентификатора приложения субъекта-службы.
Внимание
Использование пустого ресурса фактически позволяет получить токен, который направлен на Microsoft Graph. Как и сегодня, Microsoft Graph обеспечивает шифрование маркеров, поэтому оно недоступно для приложения для проверки подлинности маркера, отличного от Microsoft Graph. В обычной практике необходимо всегда создавать субъект-службу для представления вышестоящего целевого объекта. И задайте идентификатор приложения или URI идентификатора приложения для созданного субъекта-службы.
Проверка подлинности в приложении-функции
Вы можете легко настроить проверку доступа для приложения-функции без изменений кода с помощью портал Azure:
В портале Azure перейдите к функциональному приложению.
Выберите Проверка подлинности в меню.
Выберите Добавить поставщик идентификации.
На вкладке "Основные сведения" в раскрывающемся списке поставщика удостоверений выберите Майкрософт.
В действиях при отсутствии проверки подлинности запроса выберите вход с помощью Microsoft Entra ID.
Вариант создания регистрации выбирается по умолчанию. Имя регистрации можно изменить. Дополнительные сведения о включении поставщика Microsoft Entra см. в статье "Настройка Службы приложений или приложения Azure Functions для входа с использованием ID Microsoft Entra".
Перейдите к службе Azure SignalR и следуйте шагам, чтобы добавить назначаемый системой идентификатор или идентификатор, назначаемый пользователем.
В службе Azure SignalR перейдите к параметрам вышестоящего потока, а затем выберите "Использовать управляемое удостоверение" и выберите из существующих приложений. Выберите созданное ранее приложение.
После настройки этих параметров приложение-функция отклонит запросы без маркера доступа в заголовке.
Проверка токенов доступа
Если вы не используете веб-приложение или функцию Azure, вы также можете проверить маркер.
Маркер в заголовке Authorization
— это маркер доступа платформы удостоверений Майкрософт.
Чтобы проверить маркеры доступа, приложению также следует проверить аудиторию и маркеры подписывания. Эти токены необходимо проверить по значениям в документе обнаружения OpenID. Пример см. в независимой от клиента версии документа.
Промежуточное ПО Microsoft Entra имеет встроенные возможности для проверки токенов доступа. Вы можете просмотреть примеры кода на платформе идентификации Microsoft, чтобы найти один на выбранном вами языке.
Доступны библиотеки и примеры кода, показывающие, как обрабатывать проверку токенов. Для проверки веб-токена JSON (JWT) также доступны несколько партнерских библиотек с открытым кодом. Существует по крайней мере один вариант почти для каждой платформы и языка. Для получения дополнительной информации о библиотеках проверки подлинности Microsoft Entra и примерах кода см. библиотеки проверки подлинности платформы удостоверений Microsoft.
Использование управляемого удостоверения для ссылки на Key Vault
Служба Azure SignalR доступ к Key Vault для получения секретов с помощью управляемого удостоверения.
- Добавьте удостоверение, назначаемое системой или удостоверение, назначаемое пользователем к экземпляру службы Azure SignalR.
- Предоставьте разрешение на чтение секрета для управляемого удостоверения в политиках доступа в Key Vault. См. статью «Назначение политики доступа Key Vault с помощью портала Azure».
В настоящее время эту функцию можно использовать для обращения к секрету в шаблоне входящего URL-адреса.
Следующие шаги
- Azure Functions development and configuration with Azure SignalR Service (Разработка и настройка функций Azure с помощью Службы Azure SignalR)