Verifiëren met beheerde identiteit

Gebruik het authentication-managed-identity beleid om te verifiëren bij een back-endservice met behulp van de beheerde identiteit. Dit beleid maakt in feite gebruik van de beheerde identiteit om een toegangstoken van Azure Active Directory te verkrijgen voor toegang tot de opgegeven resource. Nadat het token is verkregen, stelt het beleid de waarde van het token in de Authorization header in met behulp van het Bearer schema. API Management slaat het token in de cache op totdat het verloopt.

Zowel door het systeem toegewezen identiteit als een van de meerdere door de gebruiker toegewezen identiteiten kunnen worden gebruikt om een token aan te vragen. Als client-id niet wordt opgegeven, wordt uitgegaan van een door het systeem toegewezen identiteit. Als de client-id variabele is opgegeven, wordt het token aangevraagd voor die door de gebruiker toegewezen identiteit vanuit Azure Active Directory.

Notitie

Stel de elementen van het beleid en onderliggende elementen in in de volgorde die is opgegeven in de beleidsverklaring. Meer informatie over het instellen of bewerken van API Management beleid.

Beleidsverklaring

<authentication-managed-identity resource="resource" client-id="clientid of user-assigned identity" output-token-variable-name="token-variable" ignore-error="true|false"/>  

Kenmerken

Kenmerk Beschrijving Vereist Standaard
resource Tekenreeks. De toepassings-id van de doelweb-API (beveiligde resource) in Azure Active Directory. Beleidsexpressies zijn toegestaan. Ja N.v.t.
client-id Tekenreeks. De client-id van de door de gebruiker toegewezen identiteit in Azure Active Directory. Beleidsexpressies zijn niet toegestaan. No door het systeem toegewezen identiteit
output-token-variable-name Tekenreeks. Naam van de contextvariabele die de tokenwaarde ontvangt als een object van het type string. Beleidsuitingen zijn niet toegestaan. Nee N.v.t.
ignore-error Booleaanse. Als dit is ingesteld op true, blijft de beleidspijplijn worden uitgevoerd, zelfs als er geen toegangstoken is verkregen. No false

Gebruik

Voorbeelden

Beheerde identiteit gebruiken om te verifiëren met een back-endservice

<authentication-managed-identity resource="https://graph.microsoft.com"/> 
<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://storage.azure.com/"/> <!--Azure Blob Storage-->
<authentication-managed-identity resource="https://database.windows.net/"/> <!--Azure SQL-->
<authentication-managed-identity resource="AD_application_id"/> <!--Application (client) ID of your own Azure AD Application-->

Beheerde identiteit gebruiken en header handmatig instellen

<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>

Beheerde identiteit gebruiken in het beleid voor het verzenden van aanvragen

<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>

Volgende stappen

Zie voor meer informatie over het werken met beleid: