Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 Microsoft Entra ID 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.
Na zarządzanych bramach zarówno tożsamość przypisana systemowo, jak i dowolna z wielu tożsamości przypisanych przez użytkownika mogą być użyte do żądania tokena. Jeśli client-id nie zostanie podana, przyjmuje się, że przyjmuje się tożsamość przypisaną przez system. Jeśli client-id atrybut jest podany, żądany jest token dla tej tożsamości przypisanej przez użytkownika z Microsoft Entra ID.
Na bramie hostowanej samodzielnie użyj Tożsamość obciążeń Microsoft Entra, ustawiając authentication-provider="WorkloadIdentity". Polityka wykorzystuje tożsamość skonfigurowaną dla obciążenia bramy, a nie zarządzaną tożsamość przypisaną instancji zarządzania API. Nie sprecyzuj client-id tego u tego dostawcy. Zobacz Samodzielnie hostowany gateway z tożsamością obciążenia.
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.
Ostrzeżenie
Zagadnienia dotyczące zabezpieczeń: Użytkownicy z uprawnieniami do edytowania zasad usługi API Management mogą używać tych zasad do uwierzytelniania jako tożsamości zarządzanej usługi. Nie mogą jednak uzyskać bezpośredniego dostępu do zasobów bez uprzedniego przypisania tożsamości zarządzanej do wystąpienia usługi API Management. Po przypisaniu tożsamości zarządzanej użytkownicy, którzy mogą modyfikować zasady, mogą eksfiltrować token uwierzytelniania, propagować go do zaplecza lub rejestrować do późniejszego użycia. Aby uzyskać szczegółowe wskazówki dotyczące zabezpieczeń i strategie ograniczania ryzyka, zobacz Zagadnienia dotyczące zabezpieczeń tożsamości zarządzanych w omówieniu tożsamości zarządzanej.
Instrukcja zasad
<authentication-managed-identity resource="resource" client-id="clientid of user-assigned identity" authentication-provider="BuiltIn|WorkloadIdentity" output-token-variable-name="token-variable" ignore-error="true|false"/>
Atrybuty
| Atrybut | opis | Wymagani | Wartość domyślna |
|---|---|---|---|
| zasób | Struna. Identyfikator aplikacji docelowego internetowego interfejsu API (zabezpieczony zasób) w Microsoft Entra ID. Wyrażenia zasad są dozwolone. | Tak | Nie dotyczy |
| Provider uwierzytelniania | Struna. Dostawca korzystał z tokena. Dozwolone wartości: BuiltIn dla wbudowanej zarządzanej tożsamości uwierzytelniania bramy lub WorkloadIdentity dla Tożsamość obciążeń Microsoft Entra na bramie hostowanej samodzielnie. Wyrażenia zasad nie są dozwolone. |
Nie. | BuiltIn |
| identyfikator klienta | Struna. Identyfikator klienta tożsamości przypisanej przez użytkownika w Microsoft Entra ID. Obsługiwane tylko przez wbudowanego dostawcę uwierzytelniania. Wyrażenia zasad nie są dozwolone. | Nie. | Nie dotyczy. Przy BuiltIn, używana jest tożsamość przypisana systemowo, jeśli atrybut nie jest obecny. |
| output-token-variable-name | Struna. 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
- Sekcje zasad: ruch przychodzący
- Zakresy zasad: globalny, produkt, interfejs API, operacja
- Bramy: klasyczne, v2, zużycie, self-hosted
Uwagi dotyczące użycia
Jeśli te zasady są zdefiniowane w zakresie globalnym, uzyskany token będzie dostępny w kontekście wykonywania zasad dla wszystkich interfejsów API, w tym tych w obszarach roboczych. Jeśli token powinien być dostępny tylko dla określonych interfejsów API, rozważ zastosowanie zasad w węższym zakresie (na przykład na poziomie produktu lub interfejsu API), a nie zasad globalnych.
Przekazywanie tokenów to odpowiedzialność klienta. Podczas oceniania tych zasad usługa API Management uzyskuje token z Microsoft Entra ID i przekazuje go do as-is zaplecza w nagłówku
Authorization. Usługa API Management nie weryfikuje, do którego zaplecza jest wysyłany token. Klient odpowiada za zapewnienie, że tokeny są przekazywane tylko do zamierzonych i zaufanych usług zaplecza. Dokładnie skonfiguruj jednostki zaplecza i inne zasady, aby zapobiec wysyłaniu tokenów do niezamierzonych miejsc docelowych.
Samodzielnie hostowana brama z tożsamością obciążenia
Aby użyć tej polityki na samodzielnie hostowanej bramie, skonfiguruj Tożsamość obciążeń Microsoft Entra dla obciążenia bramki i ustaw authentication-provider="WorkloadIdentity" ją w polityce. Aby uzyskać wskazówki dotyczące konfiguracji, zobacz Włączenie uwierzytelniania tożsamości obciążenia dla samodzielnie hostowanej bramy.
Linkowany przewodnik obejmuje uwierzytelnianie do punktu końcowego API Management konfiguracyjnego. Ta polityka uwierzytelnia żądania do backendu, więc przyznaje również tożsamości obciążenia uprawnienia wymagane do dostępu do tego zasobu.
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://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-->
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>
Użyj tożsamości obciążenia na bramie hostowanej samodzielnie
Poniższy przykład uwierzytelnia się do Azure Key Vault za pomocą tożsamości obciążenia bramy:
<authentication-managed-identity resource="https://vault.azure.net" authentication-provider="WorkloadIdentity" />
Powiązane zasady
Powiązana zawartość
Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz:
- Samouczek: przekształcanie i ochrona interfejsu API
- Dokumentacja zasad dla pełnej listy instrukcji zasad i ich ustawień
- Wyrażenia zasad
- Ustawianie lub edytowanie zasad
- Ponowne używanie konfiguracji zasad
- repozytorium Policy
- repozytorium przykładów Policy
- Azure API Management zestawu narzędzi zasad
- Pobierz pomoc Copilot tworzenia, wyjaśniania i rozwiązywania problemów z zasadami