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 Grunde die verwaltete Identität, um aus Microsoft Entra ID ein Zugriffstoken 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 Bearer
im Header Authorization
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 client-id
-Variable bereitgestellt wird, wird das Token für die entsprechende benutzerseitig zugewiesene Identität aus 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.
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 |
---|---|---|---|
resource | Eine Zeichenfolge. Die Anwendungs-ID der Ziel-Web-API (geschützte Ressource) in Microsoft Entra ID. Richtlinienausdrücke sind zulässig. | Ja | – |
client-id | Eine Zeichenfolge. Die Client-ID der benutzerseitig zugewiesenen Identität in Microsoft Entra ID. Richtlinienausdrücke sind nicht zulässig. | No | 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
- Richtlinienabschnitte: inbound
- Richtlinienbereiche: global, product, API, operation
- Gateways: classic, v2, consumption, self-hosted
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>
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Azure API Management-Richtlinientoolkit
- Erstellen von Richtlinien mit Microsoft Copilot in Azure