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

В Служба Azure SignalR можно использовать управляемое удостоверение из идентификатора Microsoft Entra id:

  • Получение маркеров доступа.
  • Доступ к секретам в Azure Key Vault.

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

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

Необходимые компоненты

Чтобы использовать управляемое удостоверение, необходимо иметь следующие элементы:

  • Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
  • Ресурс Служба Azure SignalR.
  • Исходящие ресурсы, к которым требуется получить доступ, например ресурс Azure Key Vault.
  • Приложение Функции Azure (приложение-функция).

Добавление управляемого удостоверения в Служба Azure SignalR

Вы можете добавить управляемое удостоверение для Служба Azure SignalR в портал Azure или Azure CLI. В этой статье показано, как добавить управляемое удостоверение для Служба Azure SignalR в портал Azure.

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

Чтобы добавить управляемое удостоверение, назначаемое системой, в экземпляр Служба Azure SignalR:

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

  2. Выберите Удостоверение.

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

    Screenshot that shows selections for adding a system-assigned identity in the portal.

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

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

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

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

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

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

  3. Выберите Удостоверение.

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

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

    Screenshot that shows selections for adding a user-assigned identity in the portal.

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

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

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

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

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

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

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

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

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

  5. Выберите "Добавить один upstream Setting", а затем выберите любую звездочку.

    Screenshot that shows Azure SignalR Service settings for adding an upstream URL pattern.

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

    Screenshot of upstream settings for Azure SignalR Service.

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

    • Идентификатор приложения (клиента) субъекта-службы.
    • URI идентификатора приложения субъекта-службы.

    Важно!

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

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

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

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

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

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

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

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

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

    Screenshot that shows basic information for adding an identity provider.

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

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

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

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

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

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

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

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

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

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

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

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

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

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