Informationen zu API-Anmeldeinformationen und Anmeldeinformationsverwaltung
GILT FÜR: Alle API Management-Ebenen
Um den Zugriff auf Back-End-APIs zu verwalten, enthält Ihre API Management-Instanz eine Anmeldeinformationsverwaltung. Verwenden Sie die Anmeldeinformationsverwaltung, um den Zugriff auf API-Anmeldeinformationen über Ihre API Management-Instanz zu verwalten, zu speichern und zu steuern.
Hinweis
- Derzeit können Sie die Anmeldeinformationsverwaltung verwenden, um Verbindungen (früher als Autorisierungen bezeichnet) für OAuth 2.0-Back-End-APIs zu konfigurieren und zu verwalten.
- Durch die Anmeldeinformationsverwaltung entstehen keine Breaking Changes. OAuth 2.0-Anmeldeinformationsanbieter und -verbindungen verwenden die vorhandenen API Management-Autorisierungs-APIs und -Ressourcenanbieter.
Hinweis
Dieses Feature ist derzeit in Arbeitsbereichen nicht verfügbar.
Verwaltete Verbindungen für OAuth 2.0-APIs
Mithilfe der Anmeldeinformationsverwaltung können Sie den Prozess der Authentifizierung und Autorisierung von Benutzer*innen, Gruppen und Dienstprinzipalen in einem oder mehreren Back-End- oder SaaS-Diensten, die OAuth 2.0 verwenden, erheblich vereinfachen. Mithilfe der Anmeldeinformationsverwaltung von API Management können Sie OAuth 2.0 ganz einfach konfigurieren und Token abrufen, in einem Anmeldeinformationsspeicher zwischenspeichern und aktualisieren, ohne eine einzelne Codezeile schreiben zu müssen. Verwenden Sie Zugriffsrichtlinien, um die Authentifizierung an Ihre API Management-Instanz, Dienstprinzipale, Benutzer*innen oder Gruppen zu delegieren. Hintergrundinformationen zu OAuth 2.0 finden Sie unter Microsoft Identity Platform und OAuth 2.0-Autorisierungscodeflow.
Mit diesem Feature können APIs mit oder ohne Abonnementschlüssel verfügbar gemacht, OAuth 2.0-Autorisierungen für Back-End-Dienste verwendet und die Entwicklungskosten beim Optimieren, Implementieren und Verwalten von Sicherheitsfeatures mit Dienstintegrationen reduziert werden.
Beispiele für Anwendungsfälle
Mithilfe von OAuth-Verbindungen, die in API Management verwaltet werden, können Kunden problemlos eine Verbindung mit SaaS-Anbietern oder Back-End-Diensten herstellen, die OAuth 2.0 verwenden. Im Folgenden finden Sie einige Beispiele:
Problemloses Herstellen einer Verbindung mit einem SaaS-Back-End durch Anfügen des gespeicherten Autorisierungstokens und der Proxyanforderungen
Proxyanforderungen an eine Azure App Service-Web-App oder Azure Functions-Back-End durch Anfügen des Autorisierungstokens, das später Anforderungen an ein SaaS-Back-End mit angewendeter Transformationslogik senden kann
Proxyanforderungen an GraphQL-Verbund-Back-Ends durch Anfügen mehrerer Zugriffstoken zur einfachen Verbunderstellung
Machen Sie einen Endpunkt zum Abrufen von Token verfügbar, erwerben Sie ein zwischengespeichertes Token und rufen Sie ein SaaS-Backend im Namen des Benutzers von einer beliebigen Compute aus auf, z. B. einer Konsolenapp oder einem Kubernetes-Dämon. Kombinieren Sie Ihr bevorzugtes SaaS-SDK in einer unterstützten Sprache.
Unbeaufsichtigte Azure Functions-Szenarien beim Herstellen einer Verbindung mit mehreren SaaS-Back-Ends.
Durable Functions kommt Logic Apps mit SaaS-Konnektivität einen Schritt näher.
Mit OAuth 2.0-Verbindungen kann jede API in API Management als benutzerdefinierter Logic Apps-Connector agieren.
Wie funktioniert die Anmeldeinformationsverwaltung?
Tokenanmeldeinformationen in der Anmeldeinformationsverwaltung bestehen aus zwei Teilen: Verwaltung und Laufzeit.
Der Verwaltungsanteil Teil der Anmeldeinformationsverwaltung kümmert sich um das Einrichten und Konfigurieren eines Anmeldeinformationsanbieters für OAuth 2.0-Token, das Aktivieren des Einwilligungsablaufs für den Identitätsanbieter und das Einrichten einer oder mehrerer Verbindungen mit dem Anmeldeinformationsanbieter für den Zugriff auf die Anmeldeinformationen. Ausführliche Informationen finden Sie unter Verwaltung von Verbindungen.
Der Laufzeitanteil verwendet die
get-authorization-context
-Richtlinie zum Abrufen und Speichern der Zugriffs- und Aktualisierungstoken der Verbindung. Wenn ein Aufruf in API Management eingeht und dieget-authorization-context
-Richtlinie ausgeführt wird, überprüft es zunächst, ob das vorhandene Autorisierungstoken gültig ist. Wenn das Autorisierungstoken abgelaufen ist, verwendet API Management einen OAuth 2.0-Flow, um die gespeicherten Token vom Identitätsanbieter zu aktualisieren. Dann wird das Zugriffstoken verwendet, um den Zugriff auf den Back-End-Dienst zu autorisieren. Ausführliche Informationen finden Sie unter Laufzeit von Verbindungen.
Wann soll die Anmeldeinformationsverwaltung verwendet werden?
Im Folgenden werden drei Szenarios für die Verwendung der Anmeldeinformationsverwaltung erläutert.
Konfigurationsszenario
Nach dem Konfigurieren des Anmeldeinformationsanbieters und einer Verbindung kann der API-Manager die Verbindung testen. Der API-Manager konfiguriert eine OAuth-Back-End-API zu Testzwecken für die Verwendung der get-authorization-context
-Richtlinie mithilfe der verwalteten Identität der Instanz. Der API-Manager kann die Verbindung dann testen, indem die Test-API aufgerufen wird.
Unbeaufsichtigtes Szenario
Wenn eine Verbindung hergestellt wird, werden standardmäßig eine Zugriffsrichtlinie und eine Verbindung für die verwaltete Identität der API Management-Instanz vorkonfiguriert. Um eine solche Verbindung zu verwenden, können sich unterschiedliche Benutzer*innen bei einer Clientanwendung wie einer statischen Web-App anmelden, die dann eine Back-End-API aufruft, die über API Management verfügbar gemacht wird. Um diesen Aufruf zu tätigen, werden Verbindungen mithilfe der get-authorization-context
-Richtlinie angewendet. Da der API-Aufruf eine vorkonfigurierte Verbindung verwendet, die nicht mit dem Benutzerkontext verknüpft ist, werden dieselben Daten an alle Benutzer*innen zurückgegeben.
Beaufsichtigtes (benutzerdelegiertes) Szenario
Um eine vereinfachte Authentifizierung für Benutzer*innen von Clientanwendungen zu ermöglichen, z. B. statische Web-Apps, die SaaS-Back-End-APIs aufrufen, die einen Benutzerkontext erfordern, können Sie den Zugriff auf eine Verbindung im Auftrag einer Microsoft Entra-Benutzer- oder -Gruppenidentität aktivieren. In diesem Fall muss sich ein konfigurierter Benutzer anmelden und die Einwilligung nur einmal erteilen. Die API Management-Instanz erstellt und verwaltet danach die Verbindung. Wenn API Management einen eingehenden Aufruf erhält, der an einen externen Dienst weitergeleitet werden soll, wird das Zugriffstoken von der Verbindung an die Anforderung angefügt. Dies ist ideal, wenn API-Anforderungen und -Antworten auf einzelne Benutzer*innen bezogen sind (z. B. Abrufen von benutzerspezifischen Profilinformationen).
Wie wird die Anmeldeinformationsverwaltung konfiguriert?
Anforderungen
Verwaltete systemseitig zugewiesene Identität muss für die API Management-Instanz aktiviert sein.
Die API Management-Instanz muss über eine ausgehende Internetverbindung an Port 443 (HTTPS) verfügen.
Verfügbarkeit
Alle API Management-Dienstebenen
Im selbst gehosteten Gateway nicht unterstützt
In Sovereign Clouds oder in den folgenden Regionen nicht unterstützt: australiacentral, australiacentral2, indiacentral
Beispiele mit Schrittanleitungen
- Konfigurieren der Anmeldeinformationsverwaltung – GitHub-API
- Konfigurieren der Anmeldeinformationsverwaltung – Microsoft Graph-API
- Konfigurieren der Anmeldeinformationsverwaltung – benutzerdelegierter Zugriff
Sicherheitsüberlegungen
Das Zugriffstoken und andere Geheimnisse (z. B. der geheime Clientschlüssel) werden mit einer Umschlagsverschlüsselung verschlüsselt und in einem internen, mehrinstanzenfähigen Speicher gespeichert. Die Daten werden mit AES-128 mit einem Schlüssel verschlüsselt, der für die jeweiligen Daten eindeutig ist. Diese Schlüssel werden asymmetrisch mit einem Masterzertifikat verschlüsselt, das in Azure Key Vault gespeichert ist und jeden Monat rotiert wird.
Grenzwerte
Resource | Begrenzung |
---|---|
Maximale Anzahl von Anmeldeinformationsanbietern pro Dienstinstanz | 1.000 |
Maximale Anzahl von Verbindungen pro Anmeldeinformationsanbieter | 10.000 |
Maximale Anzahl von Zugriffsrichtlinien pro Verbindung | 100 |
Maximale Anzahl von Autorisierungsanforderungen pro Minute und Verbindung | 250 |
Häufig gestellte Fragen (FAQ)
Wann werden die Zugriffstoken aktualisiert?
Bei einer Verbindung vom Typ „Autorisierungscode“ werden Zugriffstoken wie folgt aktualisiert: Wenn die get-authorization-context
-Richtlinie zur Laufzeit ausgeführt wird, überprüft API Management, ob das gespeicherte Zugriffstoken gültig ist. Wenn das Token abgelaufen ist oder bald ablaufen wird, verwendet API Management das Aktualisierungstoken, um ein neues Zugriffstoken und ein neues Aktualisierungstoken von dem konfigurierten Identitätsanbieter abzurufen. Wenn das Aktualisierungstoken abgelaufen ist, wird ein Fehler ausgelöst, und die Verbindung muss erneut authentifiziert werden, damit sie funktioniert.
Was geschieht, wenn der geheime Clientschlüssel beim Identitätsanbieter abläuft?
Zur Laufzeit kann API Management kann keine neuen Token abrufen, und ein Fehler tritt auf.
Wenn die Verbindung vom Typ „Autorisierungscode“ ist, muss der geheime Clientschlüssel auf Ebene des Anmeldeinformationsanbieters aktualisiert werden.
Wenn die Verbindung vom Typ „Clientanmeldeinformationen“ ist, muss der geheime Clientschlüssel auf Verbindungsebene aktualisiert werden.
Wird dieses Feature unterstützt, wenn API Management verwendet wird, das in einem VNet ausgeführt wird?
Ja, solange die ausgehende Konnektivität an Port 443 für das AzureConmnectors-Diensttag aktiviert ist. Weitere Informationen finden Sie unter Konfigurationsaufgaben für virtuelle Netzwerke.
Was geschieht, wenn ein Anmeldeinformationsanbieter gelöscht wird?
Alle zugrunde liegenden Verbindungen und Zugriffsrichtlinien werden ebenfalls gelöscht.
Werden die Zugriffstoken von API Management zwischengespeichert?
In den Dienstebenen „Klassisch“ und „v2“ wird das Zugriffstoken von der API Management-Instanz bis 3 Minuten vor Erreichen der Tokenablaufzeit zwischengespeichert. Wenn das Zugriffstoken in weniger als 3 Minuten abläuft, wird es bis zum Ablauf zwischengespeichert.
Zugriffstoken werden auf der Verbrauchsdienstebene nicht zwischengespeichert.
Zugehöriger Inhalt
- Konfigurieren von Anmeldeinformationsanbietern für Verbindungen
- Konfigurieren und Verwenden einer Verbindung für die Microsoft Graph-API oder die GitHub-API
- Konfigurieren einer Verbindung für benutzerdelegierten Zugriff
- Konfigurieren mehrerer Verbindungen für einen Anmeldeinformationsanbieter