Autentisera med hanterad identitet
GÄLLER FÖR: Alla API Management-nivåer
Använd principen för att autentisera authentication-managed-identity
med en serverdelstjänst med hjälp av den hanterade identiteten. Den här principen använder i princip den hanterade identiteten för att hämta en åtkomsttoken från Microsoft Entra-ID för åtkomst till den angivna resursen. När token har hämtats anger principen värdet för token i Authorization
huvudet med hjälp av schemat Bearer
. API Management cachelagrar token tills den upphör att gälla.
Både systemtilldelad identitet och någon av de flera användartilldelade identiteterna kan användas för att begära en token. Om client-id
inte anges antas systemtilldelad identitet. Om variabeln client-id
anges begärs token för den användartilldelade identiteten från Microsoft Entra-ID.
Kommentar
Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.
Principuttryck
<authentication-managed-identity resource="resource" client-id="clientid of user-assigned identity" output-token-variable-name="token-variable" ignore-error="true|false"/>
Attribut
Attribut | beskrivning | Obligatoriskt | Standardvärde |
---|---|---|---|
resource | Sträng. Program-ID för målwebb-API:et (skyddad resurs) i Microsoft Entra-ID. Principuttryck tillåts. | Ja | Ej tillämpligt |
klient-ID | Sträng. Klient-ID för den användartilldelade identiteten i Microsoft Entra-ID. Principuttryck tillåts inte. | Nej | systemtilldelad identitet |
output-token-variable-name | Sträng. Namnet på kontextvariabeln som ska ta emot tokenvärdet som ett objekt av typen string . Principuttryck tillåts inte. |
Nej | Ej tillämpligt |
ignore-error | Boolesk. Om värdet är true inställt på fortsätter princippipelinen att köras även om en åtkomsttoken inte hämtas. |
Nej | false |
Användning
- Principavsnitt: inkommande
- Principomfattningar: global, produkt, API, åtgärd
- Gatewayer: klassisk, v2, förbrukning, lokalt installerad
Exempel
Använda hanterad identitet för att autentisera med en serverdelstjänst
<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-->
Använda hanterad identitet och ange sidhuvud manuellt
<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>
Använda hanterad identitet i principen för att skicka begäran
<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>
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Principreferens för en fullständig lista över principinstruktioner och deras inställningar
- Principuttryck
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Skapa principer med Microsoft Copilot i Azure