Uwierzytelnianie przy użyciu tożsamości zarządzanej

DOTYCZY: Wszystkie warstwy usługi API Management

authentication-managed-identity Użyj zasad, aby uwierzytelnić się za pomocą usługi zaplecza przy użyciu tożsamości zarządzanej. Te zasady zasadniczo używają tożsamości zarządzanej do uzyskania tokenu dostępu z identyfikatora Entra firmy Microsoft na potrzeby uzyskiwania dostępu do określonego zasobu. Po pomyślnym uzyskaniu tokenu zasady ustawią wartość tokenu w nagłówku Authorization przy użyciu schematu Bearer . Usługa API Management buforuje token do momentu jego wygaśnięcia.

Tożsamość przypisana przez system i dowolna z wielu tożsamości przypisanych przez użytkownika może służyć do żądania tokenu. Jeśli client-id nie zostanie podana, przyjmuje się, że przyjmuje się tożsamość przypisaną przez system. Jeśli zmienna jest podana client-id , token jest żądany dla tej tożsamości przypisanej przez użytkownika z identyfikatora Entra firmy Microsoft.

Uwaga

Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.

Instrukcja zasad

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

Atrybuty

Atrybut opis Wymagani Wartość domyślna
zasób Ciąg. Identyfikator aplikacji docelowego internetowego interfejsu API (zabezpieczony zasób) w identyfikatorze Entra firmy Microsoft. Wyrażenia zasad są dozwolone. Tak Nie dotyczy
client-id Ciąg. Identyfikator klienta tożsamości przypisanej przez użytkownika w identyfikatorze Entra firmy Microsoft. Wyrażenia zasad nie są dozwolone. Nie. tożsamość przypisana przez system
output-token-variable-name Ciąg. Nazwa zmiennej kontekstowej, która będzie otrzymywać wartość tokenu jako obiekt typu string. Wyrażenia zasad nie są dozwolone. Nie. Nie dotyczy
ignoruj błąd Wartość logiczna. Jeśli ustawiono truewartość , potok zasad będzie nadal wykonywany, nawet jeśli token dostępu nie zostanie uzyskany. Nie. false

Użycie

Przykłady

Używanie tożsamości zarządzanej do uwierzytelniania za pomocą usługi zaplecza

<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://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="AD_application_id"/> <!--Application (client) ID of your own Azure AD Application-->

Ręczne używanie tożsamości zarządzanej i ustawianie nagłówka

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

Używanie tożsamości zarządzanej w zasadach wysyłania żądań

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

Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz: