Аутентификация на основе управляемых удостоверений

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API

Используйте политику authentication-managed-identity для аутентификации внутренней службы с помощью управляемого удостоверения. Эта политика по сути использует управляемое удостоверение для получения маркера доступа из идентификатора Microsoft Entra для доступа к указанному ресурсу. После успешного получения маркера политика задаст значение маркера в заголовке Authorization с помощью схемы Bearer. Управление API кэширует маркер до истечения срока его действия.

Для запроса маркера может использоваться удостоверение, назначаемое системой, и любое из нескольких удостоверений, назначаемых пользователем. Если значение client-id не указано, предполагается, что удостоверение назначено системой. client-id Если указана переменная, маркер запрашивается для этого удостоверения, назначаемого пользователем, из идентификатора Microsoft Entra.

Примечание.

Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.

Правило политики

<authentication-managed-identity resource="resource" client-id="clientid of user-assigned identity" output-token-variable-name="token-variable" ignore-error="true|false"/>  

Атрибуты

Атрибут Description Обязательное поле По умолчанию.
resource Строка. Идентификатор приложения целевого веб-API (защищенного ресурса) в идентификаторе Microsoft Entra. Допустимы выражения политики. Да Н/П
client-id Строка. Идентификатор клиента назначаемого пользователем удостоверения в идентификаторе Microsoft Entra. Выражения политики не допускаются. No Назначаемое системой удостоверение
output-token-variable-name Строка. Имя переменной контекста, которая получит значение токена в качестве объекта типа string. Выражения политики не допускаются. No Н/П
ignore-error Логическое значение. Если задано значение true, конвейер политики продолжает выполняться, даже если маркер доступа не получен. No false

Использование

Примеры

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

<authentication-managed-identity resource="https://graph.microsoft.com"/> 
<authentication-managed-identity resource="https://management.azure.com/"/> <!--Azure Resource Manager-->
<authentication-managed-identity resource="https://vault.azure.net"/> <!--Azure Key Vault-->
<authentication-managed-identity resource="https://servicebus.azure.net/"/> <!--Azure Service Bus-->
<authentication-managed-identity resource="https://eventhubs.azure.net/"/> <!--Azure Event Hub-->
<authentication-managed-identity resource="https://storage.azure.com/"/> <!--Azure Blob Storage-->
<authentication-managed-identity resource="https://database.windows.net/"/> <!--Azure SQL-->
<authentication-managed-identity resource="AD_application_id"/> <!--Application (client) ID of your own Azure AD Application-->

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

<authentication-managed-identity resource="AD_application_id"
   output-token-variable-name="msi-access-token" ignore-error="false" /> <!--Application (client) ID of your own Azure AD Application-->
<set-header name="Authorization" exists-action="override">
   <value>@("Bearer " + (string)context.Variables["msi-access-token"])</value>
</set-header>

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

<send-request mode="new" timeout="20" ignore-error="false">
    <set-url>https://example.com/</set-url>
    <set-method>GET</set-method>
    <authentication-managed-identity resource="ResourceID"/>
</send-request>

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