Autenticar com identidade gerenciada
APLICA-SE A: todas as camadas do Gerenciamento de API
Use a política authentication-managed-identity
para autenticar num serviço de back-end usando uma identidade gerenciada. Essa política essencialmente usa a identidade gerenciada para obter um token de acesso da ID do Microsoft Entra para acessar o recurso especificado. Depois de obter o token com êxito, a política definirá o valor do token no cabeçalho Authorization
usando o esquema Bearer
. O Gerenciamento de API armazena o token em cache até a expiração dele.
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 pelo sistema será assumida. Se a variável client-id
for fornecida, o token será solicitado para essa identidade atribuída pelo usuário da ID do Microsoft Entra.
Observação
Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.
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 | Obrigatório | Padrão |
---|---|---|---|
recurso | Cadeia de caracteres. A ID do aplicativo da API Web de destino (recurso protegido) na ID do Microsoft Entra. Expressões de política são permitidas. | Sim | N/D |
client-id | Cadeia de caracteres. A ID do cliente da identidade atribuída pelo usuário na ID do Microsoft Entra. Expressões de política não são permitidas. | Não | N/D A identidade atribuída pelo sistema será usada se o atributo não estiver presente. |
output-token-variable-name | Cadeia de caracteres. Nome da variável de contexto que receberá o valor de token como um objeto do tipo string . Expressões de política não são permitidas. |
Não | N/D |
ignore-error | Booliano. Se definido como true , o pipeline de política continua a ser executado, mesmo se um token de acesso não for obtido. |
Não | false |
Uso
- Seções de política: de entrada
- Escopos de política: global, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado
Exemplos
Usar identidade gerenciada para autenticar num 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 o 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>
Políticas relacionadas
Conteúdo relacionado
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transformar e proteger sua API
- Referência de Política para uma lista completa das instruções de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Repositório de snippets de política
- Kit de ferramentas de políticas do Gerenciamento de API do Azure
- Criar políticas usando o Microsoft Copilot no Azure