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

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

Важно!

Служба Azure Web PubSub может поддерживать только одно управляемое удостоверение. Это означает, что можно добавить назначаемое системой удостоверение или удостоверение, назначаемое пользователем.

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

Чтобы настроить управляемое удостоверение в портал Azure, сначала создайте экземпляр службы Azure Web PubSub, а затем включите эту функцию.

  1. Создайте экземпляр службы Azure Web PubSub на портале, как обычно. Перейдите к нему на портале.

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

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

    Add a system-assigned identity in the portal

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

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

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

  2. Создайте экземпляр службы Azure Web PubSub на портале, как обычно. Перейдите к нему на портале.

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

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

  5. Найдите созданное ранее удостоверение и выберите его. Выберите Добавить.

    Add a user-assigned identity in the portal

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

Служба Azure Web PubSub — это полностью управляемая служба, поэтому вы не можете использовать управляемое удостоверение для получения маркеров вручную. Вместо этого, когда служба Azure Web PubSub отправляет события обработчику событий, она будет использовать управляемое удостоверение для получения маркера доступа. Затем служба задает маркер доступа в Authorization заголовок в http-запросе.

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

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

  2. Перейдите к разделу "Настройка концентратора Параметры" и добавьте или измените вышестоящий обработчика событий.

    msi-setting

  3. В разделе "Проверка подлинности" выберите "Использовать проверку подлинности" и проверка Укажите аудиторию выданных маркеров. Аудитория станет aud утверждением в полученном маркере доступа, который можно использовать в рамках проверки в обработчике событий. Вы можете выбрать один из следующих вариантов:

    • Выберите из существующих приложений Microsoft Entra. Будет использоваться идентификатор приложения выбранного.
    • 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 Web Token (JWT) доступны несколько библиотек партнеров с открытым кодом. Практически для каждой платформы и каждого языка существует по крайней мере одна библиотека. Дополнительные сведения о библиотеках авторизации Microsoft Entra и примерах кода см. в платформа удостоверений Майкрософт библиотеках проверки подлинности.

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

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

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

  1. Добавьте назначаемое системой удостоверение или удостоверение, назначаемое пользователем, для службы Azure Web PubSub.

  2. Предоставьте управляемому удостоверению разрешение на чтение секрета в политиках доступа в Key Vault. См. статью Назначение политики доступа Key Vault с помощью портала Microsoft Azure

В настоящее время эту возможность можно использовать в следующих сценариях:

  • Используйте синтаксис {@Microsoft.KeyVault(SecretUri=<secret-identity>)} для получения секретов из KeyVault в параметре шаблона URL-адреса обработчика событий.

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