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
- Beleidssecties: inkomend
- Beleidsbereiken: globaal, product, API, bewerking
- Gateways: toegewezen, verbruik, zelf-hostend
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>
Gerelateerd beleid
Volgende stappen
Zie voor meer informatie over het werken met beleid:
- Zelfstudie: Uw API transformeren en beveiligen
- Beleidsreferentie voor een volledige lijst met beleidsinstructies en hun instellingen
- Beleidsexpressies
- Beleid instellen of bewerken
- Beleidsconfiguraties opnieuw gebruiken
- Voorbeelden van beleid