Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 usa essencialmente a identidade gerenciada para obter um token de acesso de Microsoft Entra ID 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 de Microsoft Entra ID.
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.
Cuidado
Consideração de segurança: Qualquer usuário com permissões para editar políticas de Gerenciamento de API (por exemplo, usuários atribuídos à função colaborador do Serviço de Gerenciamento de API ) pode usar essa política para se autenticar como a identidade gerenciada do serviço. Isso concede efetivamente a esse usuário acesso a qualquer recurso para o qual a identidade gerenciada tenha permissões. Verifique se você segue o princípio do privilégio mínimo ao atribuir permissões ao recurso de Gerenciamento de API. Para obter mais informações, consulte Como usar identidades gerenciadas em Gerenciamento de API 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 | Obrigatório | Padrão |
|---|---|---|---|
| recurso | Cadeia de caracteres. A ID do aplicativo da API Web de destino (recurso protegido) em Microsoft Entra ID. Expressões de política são permitidas. | Sim | N/D |
| ID do cliente | Cadeia de caracteres. A ID do cliente da identidade atribuída pelo usuário no Microsoft Entra ID. 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 Policy snippets
- repositório Policy playground
- Gerenciamento de API do Azure policy toolkit
- Get Copilot assistência para criar, explicar e solucionar problemas de políticas