Freigeben über


Authentifizieren mit einer verwalteten Identität

GILT FÜR: Alle API Management-Ebenen

Verwenden Sie die Richtlinie authentication-managed-identity für die Authentifizierung mit einem Back-End-Dienst unter Verwendung einer verwalteten Identität. Diese Richtlinie verwendet im Wesentlichen die verwaltete Identität, um ein Zugriffstoken von Microsoft Entra ID für den Zugriff auf die angegebene Ressource abzurufen. Wenn das Token erfolgreich abgerufen wurde, legt die Richtlinie den Wert des Tokens unter Verwendung des Schemas Authorization im Header Bearer fest. API Management speichert das Token bis zu seinem Ablauf zwischen.

Sowohl eine systemseitig zugewiesene Identität als auch eine der benutzerseitig zugewiesenen Identitäten können verwendet werden, um Token anzufordern. Wenn client-id nicht bereitgestellt wird, wird die systemseitig zugewiesene Identität angenommen. Wenn die Variable client-id bereitgestellt wird, wird das Token für diese vom Benutzer zugewiesene Identität von Microsoft Entra ID angefordert.

Hinweis

Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.

Vorsicht

Sicherheitsüberlegung: Jeder Benutzer mit Berechtigungen zum Bearbeiten von API-Verwaltungsrichtlinien (z. B. Benutzer, denen die Rolle "API-Verwaltungsdienstmitwirkender " zugewiesen wurde) kann diese Richtlinie verwenden, um sich als verwaltete Identität des Diensts zu authentifizieren. Dadurch erhält der Benutzer effektiv Zugriff auf jede Ressource, für die die verwaltete Identität Über Berechtigungen verfügt. Stellen Sie beim Zuweisen von Berechtigungen zur API-Verwaltungsressource sicher, dass Sie dem Prinzip der geringsten Berechtigung folgen. Weitere Informationen finden Sie unter How to use managed identities in Azure API Management.

Richtlinienanweisung

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

Attribute

Attribut BESCHREIBUNG Erforderlich Standard
Ressource Eine Zeichenfolge. Die Anwendungs-ID der Zielweb-API (gesicherte Ressource) in Microsoft Entra ID. Richtlinienausdrücke sind zulässig. Ja
Kunden-ID Eine Zeichenfolge. Die Client-ID der vom Benutzer zugewiesenen Identität in Microsoft Entra ID. Richtlinienausdrücke sind nicht zulässig. Nein N/V. Die systemseitig zugewiesene Identität wird verwendet, wenn das Attribut fehlt.
output-token-variable-name Eine Zeichenfolge. Name der Kontextvariablen, die den Tokenwert als Objekt vom Typ string empfängt. Richtlinienausdrücke sind nicht zulässig. Nein
ignore-error Boolesch. Wenn sie auf true festgelegt ist, wird die Richtlinienpipeline auch dann weiter ausgeführt, wenn kein Zugriffstoken erhalten wird. Nein false

Verwendung

Beispiele

Verwenden der verwalteten Identität für die Authentifizierung bei einem Back-End-Dienst

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

Verwenden der verwalteten Identität und manuelles Festlegen des Headers

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

Verwenden der verwalteten Identität in einer Richtlinie vom Typ „send-request“

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

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: