Partilhar via


Autenticar com a identidade gerida

APLICA-SE A: Todas as camadas de gerenciamento de API

Use a authentication-managed-identity política para autenticar com um serviço de back-end usando a identidade gerenciada. Esta política utiliza essencialmente a identidade gerida para obter um token de acesso do Microsoft Entra ID para aceder ao recurso especificado. Depois de obter com êxito o token, a política definirá o valor do token no Authorization cabeçalho usando o Bearer esquema. O Gerenciamento de API armazena o token em cache até que ele expire.

Tanto a identidade atribuída pelo sistema quanto qualquer uma das várias identidades atribuídas pelo usuário podem ser usadas para solicitar um token. Se client-id não for fornecida, a identidade atribuída ao sistema será assumida. Se for fornecida a variável client-id, é solicitado o token para essa identidade atribuída pelo utilizador a Microsoft Entra ID.

Nota

Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.

Atenção

Considerações de segurança: Qualquer utilizador com permissões para editar políticas de Gestão de APIs (por exemplo, utilizadores atribuídos ao papel de Contribuidor do Serviço de Gestão de APIs ) pode usar esta política para autenticar como identidade gerida do serviço. Isto concede efetivamente ao utilizador acesso a qualquer recurso para o qual a identidade gerida tenha permissões. Certifique-se de que segue o princípio do privilégio mínimo ao atribuir permissões ao recurso de Gestão de APIs. Para mais informações, veja Como usar identidades geridas em API Management do Azure.

Declaração de política

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

Atributos

Atributo Descrição Necessário Predefinição
recurso Cadeia O ID da aplicação da API web alvo (recurso seguro) no Microsoft Entra ID. São permitidas expressões de política. Sim N/A
ID do cliente Cadeia O ID do cliente da identidade atribuída pelo utilizador no Microsoft Entra ID. Expressões de política não são permitidas. Não N/A. A identidade atribuída ao sistema é usada se o atributo não estiver presente.
output-token-variable-name Cadeia Nome da variável de contexto que receberá o valor do token como um objeto do tipo string. Expressões de política não são permitidas. Não N/A
ignorar-erro Booleano. Se definido como true, o pipeline de política continua a ser executado mesmo que um token de acesso não seja obtido. Não false

Utilização

Exemplos

Usar identidade gerenciada para autenticar com um serviço de back-end

<authentication-managed-identity resource="https://graph.microsoft.com"/> 
<authentication-managed-identity resource="https://cognitiveservices.azure.com"/> <!--Azure OpenAI-->
<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="https://signalr.azure.com"/> <!--Azure SignalR-->
<authentication-managed-identity resource="AD_application_id"/> <!--Application (client) ID of your own Azure AD Application-->

Usar identidade gerenciada e definir cabeçalho manualmente

<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>

Usar identidade gerenciada na política de solicitação de envio

<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>

Para obter mais informações sobre como trabalhar com políticas, consulte: