Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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: Utilizadores com permissões para editar políticas de Gestão de API podem usar esta política para autenticar como identidade gerida do serviço. No entanto, não podem obter acesso direto aos recursos sem primeiro atribuir uma identidade gerida à instância de Gestão da API. Uma vez atribuída uma identidade gerida, os utilizadores que conseguem modificar políticas podem ser capazes de exfiltrar o token de autenticação, propagá-lo para um backend ou logá-lo para uso posterior. Para orientações detalhadas de segurança e estratégias de mitigação, consulte Considerações de Segurança para identidades geridas na visão geral da identidade gerida.
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
- Secções políticas: entrada
- Escopos da política: global, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado
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>
Políticas relacionadas
Conteúdos relacionados
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transforme e proteja sua API
- Referência de política para uma lista completa de declarações de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Snippets de políticas repo
- Repositório de recreio de políticas
- Azure API Management kit de ferramentas de políticas
- Obtenha assistência Copilot para criar, explicar e resolver políticas