Eseguire l'autenticazione con un'identità gestita
SI APPLICA A: Tutti i livelli di Gestione API
Usare il criterio authentication-managed-identity
per eseguire l'autenticazione con un servizio back-end usando l'identità gestita. Questo criterio usa essenzialmente l'identità gestita per ottenere un token di accesso dall'ID Microsoft Entra per accedere alla risorsa specificata. Dopo aver ottenuto correttamente il token, il criterio imposta il valore del token nell'intestazione Authorization
usando lo schema Bearer
. Gestione API memorizza nella cache il token fino alla scadenza.
È possibile usare sia l'identità assegnata dal sistema che una delle identità assegnate dall'utente per richiedere un token. Se client-id
non viene specificato, si presuppone un'identità assegnata dal sistema. Se viene specificata la variabile client-id
, viene richiesto il token per l'identità assegnata dall'utente dall'ID Microsoft Entra.
Nota
Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di API Management.
Istruzione del criterio
<authentication-managed-identity resource="resource" client-id="clientid of user-assigned identity" output-token-variable-name="token-variable" ignore-error="true|false"/>
Attributi
Attributo | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
resource | String. ID applicazione dell'API Web di destinazione (risorsa protetta) nell'ID Microsoft Entra. Le espressioni di criteri sono consentite. | Sì | N/D |
client-id | String. ID client dell'identità assegnata dall'utente in Microsoft Entra ID. Le espressioni di criteri non sono consentite. | No | N/D. L'identità assegnata dal sistema viene usata se l'attributo non è presente. |
output-token-variable-name | String. Nome della variabile di contesto che riceverà il valore del token come oggetto di tipo string . Le espressioni di criteri non sono consentite. |
No | N/D |
ignore-error | Booleano. Se impostata su true , la pipeline dei criteri continua a essere eseguita anche se non viene ottenuto un token di accesso. |
No | false |
Utilizzo
- Sezioni del criterio: inbound
- Ambiti del criterio: globale, prodotto, API, operazione
- Gateway: classico, v2, consumo, self-hosted
Esempi
Usare l'identità gestita per l'autenticazione con un servizio 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-->
Usare manualmente l'identità gestita e impostare l'intestazione
<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>
Usare l'identità gestita nei criteri di richiesta di invio
<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>
Criteri correlati
Contenuto correlato
Per ulteriori informazioni sull'utilizzo dei criteri, vedere:
- Esercitazione: trasformare e proteggere l'API
- Informazioni di riferimento sui criteri per un elenco completo delle istruzioni dei criteri e delle relative impostazioni
- Espressioni di criteri
- Impostare o modificare criteri
- Riutilizzare le configurazioni dei criteri
- Repository dei frammenti di criteri
- Toolkit dei criteri di Azure Gestione API
- Creare criteri usando Microsoft Copilot in Azure