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


Управляемые удостоверения для службы Azure SignalR

В службе 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:

  1. В портале Azure перейдите к экземпляру Службы Azure SignalR.

  2. Выберите Идентификатор.

  3. На вкладке Назначено системой для параметра Состояние установите значение Вкл.

    Снимок экрана, показывающий выборы для добавления назначенной системой учетной записи на портале.

  4. Выберите Сохранить.

  5. Выберите Да , чтобы подтвердить изменение.

Добавление удостоверения, назначенного пользователем

Чтобы добавить удостоверение, назначаемое пользователем, в ваш экземпляр службы Azure SignalR, необходимо сначала создать удостоверение, а затем добавить его в службу.

  1. Создайте ресурс назначаемого пользователем управляемого удостоверения в соответствии с этими инструкциями.

  2. В портале Azure перейдите к вашему экземпляру службы Azure SignalR.

  3. Выберите Идентичность.

  4. На вкладке User assigned нажмите Добавить.

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

    Снимок экрана: выбор для добавления назначаемого пользователем удостоверения на портале.

  6. Выберите Добавить.

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

Служба Azure SignalR — это полностью управляемая служба. Он использует управляемое удостоверение для получения токена доступа. В бессерверных сценариях служба добавляет токен доступа в Authorization заголовок в входящем запросе.

Включение проверки подлинности управляемого удостоверения в настройках исходящего потока

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

  1. Перейдите в портал Azure к экземпляру службы Azure SignalR.

  2. В меню выберите пункт Параметры.

  3. Выберите режим бессерверной службы.

  4. В текстовом поле "Добавление вышестоящего URL-адреса " введите шаблон URL-адреса вышестоящей конечной точки. См. на параметры шаблона URL-адреса.

  5. Выберите Добавить одну настройку Upstream, а затем выберите любой символ звезды.

    Снимок экрана, на котором показаны настройки службы Azure SignalR для добавления шаблона входящего URL-адреса.

  6. В параметрах вышестоящей конечной точки настройте настройки.

    Снимок экрана: параметры вышестоящего потока для Служба Azure SignalR.

  7. В настройках аутентификации управляемого удостоверения для аудитории в выданном токене можно указать целевой ресурс. Ресурс превратится в утверждение aud в полученном маркере доступа, который можно использовать как часть проверки в ваших вышестоящих конечных точках. Ресурс может находиться в одном из следующих форматов:

    Внимание

    Использование пустого ресурса фактически позволяет получить токен, который направлен на Microsoft Graph. Как и сегодня, Microsoft Graph обеспечивает шифрование маркеров, поэтому оно недоступно для приложения для проверки подлинности маркера, отличного от Microsoft Graph. В обычной практике необходимо всегда создавать субъект-службу для представления вышестоящего целевого объекта. И задайте идентификатор приложения или URI идентификатора приложения для созданного субъекта-службы.

Проверка подлинности в приложении-функции

Вы можете легко настроить проверку доступа для приложения-функции без изменений кода с помощью портал Azure:

  1. В портале Azure перейдите к функциональному приложению.

  2. Выберите Проверка подлинности в меню.

  3. Выберите Добавить поставщик идентификации.

  4. На вкладке "Основные сведения" в раскрывающемся списке поставщика удостоверений выберите Майкрософт.

  5. В действиях при отсутствии проверки подлинности запроса выберите вход с помощью Microsoft Entra ID.

  6. Вариант создания регистрации выбирается по умолчанию. Имя регистрации можно изменить. Дополнительные сведения о включении поставщика Microsoft Entra см. в статье "Настройка Службы приложений или приложения Azure Functions для входа с использованием ID Microsoft Entra".

    Снимок экрана: основные сведения о добавлении поставщика удостоверений.

  7. Перейдите к службе Azure SignalR и следуйте шагам, чтобы добавить назначаемый системой идентификатор или идентификатор, назначаемый пользователем.

  8. В службе Azure SignalR перейдите к параметрам вышестоящего потока, а затем выберите "Использовать управляемое удостоверение" и выберите из существующих приложений. Выберите созданное ранее приложение.

После настройки этих параметров приложение-функция отклонит запросы без маркера доступа в заголовке.

Проверка токенов доступа

Если вы не используете веб-приложение или функцию Azure, вы также можете проверить маркер.

Маркер в заголовке Authorization — это маркер доступа платформы удостоверений Майкрософт.

Чтобы проверить маркеры доступа, приложению также следует проверить аудиторию и маркеры подписывания. Эти токены необходимо проверить по значениям в документе обнаружения OpenID. Пример см. в независимой от клиента версии документа.

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

Доступны библиотеки и примеры кода, показывающие, как обрабатывать проверку токенов. Для проверки веб-токена JSON (JWT) также доступны несколько партнерских библиотек с открытым кодом. Существует по крайней мере один вариант почти для каждой платформы и языка. Для получения дополнительной информации о библиотеках проверки подлинности Microsoft Entra и примерах кода см. библиотеки проверки подлинности платформы удостоверений Microsoft.

Использование управляемого удостоверения для ссылки на Key Vault

Служба Azure SignalR доступ к Key Vault для получения секретов с помощью управляемого удостоверения.

  1. Добавьте удостоверение, назначаемое системой или удостоверение, назначаемое пользователем к экземпляру службы Azure SignalR.
  2. Предоставьте разрешение на чтение секрета для управляемого удостоверения в политиках доступа в Key Vault. См. статью «Назначение политики доступа Key Vault с помощью портала Azure».

В настоящее время эту функцию можно использовать для обращения к секрету в шаблоне входящего URL-адреса.

Следующие шаги