Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: Alle API Management-Ebenen
In diesem Artikel lernen Sie allgemeine Schritte zum Konfigurieren Ihrer Azure API Management-Instanz zum Schutz einer API mithilfe des OAuth 2.0-Protokolls mit Microsoft Entra ID kennen.
Eine Konzept-Übersicht über die API-Autorisierung finden Sie unter Authentifizierung und Autorisierung an APIs im API-Management.
Voraussetzungen
Bevor Sie die Schritte in diesem Artikel ausführen, müssen Sie folgendes haben:
- Eine API Management-Instanz
- Eine veröffentlichte API, die die API Management-Instanz verwendet
- Ein Microsoft Entra-Mandant
Überblick
Führen Sie diese Schritte aus, um eine API in API Management mithilfe der OAuth 2.0-Autorisierung mit Microsoft Entra ID zu schützen.
Registrieren Sie eine Anwendung (in diesem Artikel als Back-End-App bezeichnet) in der Microsoft Entra-ID.
Um auf die API zuzugreifen, müssen Benutzer oder Anwendungen ein gültiges OAuth-Token erwerben und präsentieren, das Zugriff auf diese Anwendung mit jeder API-Anforderung gewährt.
Konfigurieren Sie die Validate-jwt-Richtlinie in der API-Verwaltung. Diese Richtlinie überprüft das OAuth-Token, das in jeder eingehenden API-Anforderung angezeigt wird. Gültige Anforderungen können an die API übergeben werden.
Details zu OAuth-Autorisierungsflüssen und zum Generieren der erforderlichen OAuth-Token gehen über den Umfang dieses Artikels hinaus. In der Regel wird eine separate Client-App verwendet, um Token von Microsoft Entra ID abzurufen, die den Zugriff auf die API autorisieren. Links zu weiteren Informationen finden Sie im Abschnitt zu verwandten Inhalten .
Registrieren einer Anwendung in Microsoft Entra ID, um die API darzustellen
Schützen Sie eine API mit Microsoft Entra ID unter Verwendung des Azure-Portals, indem Sie zunächst eine Anwendung registrieren, die die API darstellt.
Ausführliche Informationen zur App-Registrierung finden Sie unter Schnellstart: Konfigurieren einer Anwendung für das Verfügbarmachen von Web-APIs
Suchen Sie im Azure-Portal nach App-Registrierungen, und wählen Sie den Eintrag aus.
Wählen Sie Neue Registrierung aus.
Geben Sie auf der daraufhin angezeigten Seite Anwendung registrieren die Registrierungsinformationen Ihrer Anwendung ein:
- Geben Sie im Abschnitt "Name " einen aussagekräftigen Anwendungsnamen ein, z. B. back-end-app. Dieser Name wird benutzern der App angezeigt.
- Wählen Sie im Abschnitt Unterstützte Kontotypen eine Option aus,die Ihrem Szenario entspricht.
Lassen Sie den Abschnitt Umleitungs-URI leer.
Wählen Sie Registrieren aus, um die Anwendung zu erstellen.
Suchen Sie auf der Seite Übersicht den Wert von Anwendungsclient-ID und notieren Sie ihn zur späteren Verwendung.
Wählen Sie im Abschnitt Verwalten des seitlichen Menüs Eine API verfügbar machen aus, und legen Sie den Anwendungs-ID-URI auf den Standardwert fest. Wenn Sie eine separate Client-App entwickeln, um OAuth 2.0-Token für den Zugriff auf die Back-End-App abzurufen, notieren Sie diesen Wert später.
Wählen Sie die Schaltfläche Bereich hinzufügen aus, um die Seite Bereich hinzufügen anzuzeigen:
- Geben Sie einen neuen Bereichsnamen ein, einen Anzeigenamen der Administratoreinwilligung und eine Beschreibung der Administratoreinwilligung.
- Stellen Sie sicher, dass der Bereichsstatus Aktiviert ausgewählt ist.
Wählen Sie die Schaltfläche Bereich hinzufügen aus, um den Bereich zu erstellen.
Wiederholen Sie die beiden vorherigen Schritte, um alle Bereiche hinzuzufügen, die von Ihrer API unterstützt werden.
Nachdem Sie die Bereiche erstellt haben, notieren Sie diese für eine spätere Verwendung.
Konfigurieren einer JWT-Überprüfungsrichtlinie zur Vorautorisierung von Anforderungen
Wenn die folgende Beispielrichtlinie dem Richtlinienabschnitt <inbound> hinzugefügt wird, überprüft sie den Wert des Zielgruppenanspruchs in einem aus Microsoft Entra ID abgerufenen Zugriffstoken, das im Autorisierungsheader angegeben wird. Wenn das Token ungültig ist, wird ein Fehler zurückgegeben. Konfigurieren Sie diese Richtlinie in einem Richtlinienbereich, der für Ihr Szenario geeignet ist.
- In der
openid-config-URL istaad-tenantdie Mandanten-ID in Microsoft Entra ID. Ermitteln Sie diesen Wert im Azure-Portal, beispielsweise auf der Seite Übersicht Ihrer Microsoft Entra-Ressource. Das gezeigte Beispiel setzt eine Microsoft Entra-App mit einem einzelnen Mandanten und einen v2-Konfigurationsendpunkt voraus. - Der Wert für
claimist die Client-ID der Back-End-App, die Sie in Microsoft Entra ID registriert haben.
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<openid-config url="https://login.microsoftonline.com/{aad-tenant}/v2.0/.well-known/openid-configuration" />
<audiences>
<audience>{audience-value - (ex:api://guid)}</audience>
</audiences>
<issuers>
<issuer>{issuer-value - (ex: https://sts.windows.net/{tenant id}/)}</issuer>
</issuers>
<required-claims>
<claim name="aud">
<value>{backend-app-client-id}</value>
</claim>
</required-claims>
</validate-jwt>
Hinweis
Die obige openid-config-URL entspricht dem v2-Endpunkt. Verwenden Sie für den v1-openid-config-Endpunkt https://login.microsoftonline.com/{aad-tenant}/.well-known/openid-configuration.
Informationen zum Konfigurieren von Richtlinien finden Sie unter How to set or edit Azure API Management policies (Festlegen oder Bearbeiten von Azure API Management-Richtlinien). Weitere Anpassungen für JWT-Validierungen finden Sie unter dem Verweis validate-jwt. Um ein JWT zu überprüfen, das vom Microsoft Entra-Dienst bereitgestellt wurde, stellt API Management auch die validate-azure-ad-token-Richtlinie bereit.
Autorisierungsworkflow
Ein*e Benutzer*in oder eine Anwendung erwirbt ein Token von Microsoft Entra ID mit Berechtigungen, die Zugriff auf die Back-End-App gewähren. Wenn Sie den v2-Endpunkt verwenden, stellen Sie sicher, dass
accessTokenAcceptedVersionim Anwendungsmanifest der Back-End-App und jeder von Ihnen konfigurierten Client-App auf2festgelegt ist.Das Token wird im Autorisierungsheader der API-Anforderungen an das API Management hinzugefügt.
Das API Management überprüft das Token mithilfe der Richtlinie „
validate-jwt“.Wenn für eine Anforderung kein gültiges Token vorliegt, wird sie von API Management blockiert.
Wenn eine Anforderung über ein gültiges Token verfügt, kann das Gateway die Anforderung an die API weiterleiten.
Verwandte Inhalte
Weitere Informationen zum Erstellen einer Anwendung und zum Implementieren von OAuth 2.0 finden Sie unter Microsoft Entra-Codebeispiele.
Ein End-to-End-Beispiel zum Konfigurieren der OAuth 2.0-Benutzerautorisierung im API Management Entwicklerportal finden Sie unter So autorisieren Sie die Testkonsole des Entwicklerportals, indem Sie OAuth 2.0-Benutzerberechtigung konfigurieren.
Erfahren Sie mehr über Microsoft Entra ID und OAuth2.0.
Weitere Methoden zum Sichern Ihres Back-End-Diensts finden Sie unter Gegenseitige Zertifikatauthentifizierung.