Hinweis
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.
Von Bedeutung
Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.
Erfahren Sie, wie Sie den Zugriff auf Ihre Azure API-Verwaltungs-API auf Clients beschränken, die sich mit Azure Active Directory B2C (Azure AD B2C) authentifiziert haben. Befolgen Sie die Anweisungen in diesem Artikel, um eine eingehende Richtlinie in Azure API Management zu erstellen und zu testen, die den Zugriff nur auf die Anforderungen beschränkt, die ein gültiges azure AD B2C-ausgestelltes Zugriffstoken enthalten.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Ressourcen vorhanden sind:
- Ein Azure AD B2C-Mandant
- Eine Anwendung, die in Ihrem Mandanten registriert ist
- In Ihrem Mandanten erstellte Benutzerflows
- Eine veröffentlichte API in Azure API Management
Abrufen einer Azure AD B2C-Anwendungs-ID
Wenn Sie eine API in Azure API Management mit Azure AD B2C sichern, benötigen Sie mehrere Werte für die eingehende Richtlinie , die Sie in Azure API Management erstellen. Notieren Sie zunächst die Anwendungs-ID einer Anwendung, die Sie zuvor in Ihrem Azure AD B2C-Mandanten erstellt haben. Wenn Sie die von Ihnen erstellte Anwendung verwenden, um die Voraussetzungen zu erfüllen, verwenden Sie die Anwendungs-ID für webapp1.
Um eine Anwendung in Ihrem Azure AD B2C-Mandanten zu registrieren, können Sie unsere neue, einheitliche App-Registrierungserfahrung oder unsere Legacy-Anwendungserfahrung verwenden. Erfahren Sie mehr über die neue Registrierungserfahrung.
- Melden Sie sich beim Azure-Portal an.
- Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.
- Wählen Sie im linken Bereich Azure AD B2C aus. Alternativ können Sie "Alle Dienste " auswählen und dann nach Azure AD B2C suchen und auswählen.
- Wählen Sie App-Registrierungen und dann die Registerkarte " Eigene Anwendungen " aus.
- Notieren Sie den Wert in der Spalte "Anwendungs-ID" für Webapp1 oder für eine andere Anwendung, die Sie zuvor erstellt haben.
Tokenherausgeber-Endpunkt abrufen
Rufen Sie als Nächstes die bekannte Konfigurations-URL für einen Ihrer Azure AD B2C-Benutzerflows ab. Außerdem benötigen Sie den Tokenherausgeberendpunkt-URI, den Sie in Azure API Management unterstützen möchten.
Wechseln Sie im Azure-Portal zu Ihrem Azure AD B2C-Mandanten.
Wählen Sie unter Richtlinien die Option Benutzerflows aus.
Wählen Sie eine vorhandene Richtlinie aus (z. B. B2C_1_signupsignin1), und wählen Sie dann " Benutzerablauf ausführen" aus.
Notieren Sie die URL im Hyperlink, der unter der Überschrift " Benutzerablauf ausführen " am oberen Rand der Seite angezeigt wird. Diese URL ist der bekannte OpenID Connect-Ermittlungsendpunkt für den Benutzerflow. Sie verwenden diesen im nächsten Abschnitt beim Konfigurieren der Eingangsrichtlinie in Azure API Management.
Wählen Sie den Link aus, um zur Bekannten Konfigurationsseite von OpenID Connect zu wechseln.
Notieren Sie sich auf der Seite, die in Ihrem Browser geöffnet wird, den
issuer
Wert. Beispiel:https://<tenant-name>.b2clogin.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0/
Sie verwenden diesen Wert im nächsten Abschnitt, wenn Sie Ihre API in Azure API Management konfigurieren.
Sie haben sich nun zwei URLs für die Verwendung im nächsten Abschnitt notiert: die bekannte OpenID Connect-Konfigurationsendpunkt-URL und den Aussteller-URI. Beispiel:
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1_signupsignin1/v2.0/.well-known/openid-configuration
https://<tenant-name>.b2clogin.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/
Konfigurieren der Eingangsrichtlinie in Azure API Management
Sie können jetzt die Eingangsrichtlinie in Azure API Management hinzufügen, die API-Aufrufe validiert. Indem Sie eine JSON-Webtoken-Validierungsrichtlinie (JWT) hinzufügen, die die Zielgruppe und den Aussteller in einem Zugriffstoken überprüft, können Sie sicherstellen, dass nur API-Aufrufe mit einem gültigen Token akzeptiert werden.
Wechseln Sie im Azure-Portal zu Ihrer Azure API-Verwaltungsinstanz.
Klicken Sie auf APIs.
Wählen Sie die API aus, die Sie mit Azure AD B2C sichern möchten.
Klicken Sie auf die Registerkarte Entwurf.
Wählen Sie unter "Eingehende Verarbeitung" die Option </> aus, um den Richtliniencode-Editor zu öffnen.
Platzieren Sie das folgende
<validate-jwt>
-Tag in der<inbound>
-Richtlinie, und gehen Sie dann folgendermaßen vor:a) Aktualisieren Sie den
url
-Wert im<openid-config>
-Element durch die bekannte Konfigurations-URL Ihrer Richtlinie.
b. Aktualisieren Sie das<audience>
Element mit der Anwendungs-ID der Anwendung, die Sie zuvor in Ihrem B2C-Mandanten erstellt haben (z. B. Webapp1).
Abschnitt c. Aktualisieren Sie das<issuer>
Element mit dem Endpunkt des Token-Herausgebers, den Sie zuvor aufgezeichnet haben.<policies> <inbound> <validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid."> <openid-config url="https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1_signupsignin1/v2.0/.well-known/openid-configuration" /> <audiences> <audience>00001111-aaaa-2222-bbbb-3333cccc4444</audience> </audiences> <issuers> <issuer>https://<tenant-name>.b2clogin.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer> </issuers> </validate-jwt> <base /> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies>
Unterstützen mehrerer Anwendungen und Aussteller
Mehrere Anwendungen interagieren in der Regel mit einer einzelnen REST-API. Damit Ihre API Token akzeptiert, die für mehrere Anwendungen vorgesehen sind, fügen Sie deren Anwendungs-IDs dem <audiences>
Element in der eingehenden Azure-API-Verwaltung-Richtlinie hinzu.
<!-- Accept tokens intended for these recipient applications -->
<audiences>
<audience>00001111-aaaa-2222-bbbb-3333cccc4444</audience>
<audience>11112222-bbbb-3333-cccc-4444dddd5555</audience>
</audiences>
Wenn Sie mehrere Tokenaussteller unterstützen möchten, fügen Sie deren Endpunkt-URIs dem <issuers>
-Element in der Azure API Management-Eingangsrichtlinie hinzu.
<!-- Accept tokens from multiple issuers -->
<issuers>
<issuer>https://<tenant-name>.b2clogin.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer>
<issuer>https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer>
</issuers>
Migrieren zu b2clogin.com
Wenn Sie über eine Azure API ManagementM-API verfügen, die vom Legacyendpunkt login.microsoftonline.com
ausgestellte Token überprüft, sollten Sie die API und die Anwendungen migrieren, die sie aufrufen, um von b2clogin.com ausgestellte Token zu verwenden.
Sie können diesem allgemeinen Prozess folgen, um eine mehrstufige Migration durchzuführen:
- Fügen Sie Unterstützung zu Ihrer Azure API Management-Eingangsrichtlinie für Token hinzu, die sowohl von b2clogin.com als auch von login.microsoftonline.com ausgestellt wurden.
- Aktualisieren Sie Ihre Anwendungen einzeln, um Token vom b2clogin.com Endpunkt abzurufen.
- Nachdem alle Ihre Anwendungen korrekt Token von b2clogin.com abrufen, werden die Unterstützung für Token, die von login.microsoftonline.com ausgestellt wurden, aus der API entfernt.
Das folgende Beispiel für eine eingehende Azure API Management-Richtlinie veranschaulicht, wie Token akzeptiert werden, die sowohl von b2clogin.com als auch von login.microsoftonline.com ausgegeben werden. Darüber hinaus unterstützt die Richtlinie API-Anforderungen aus zwei Anwendungen.
<policies>
<inbound>
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<openid-config url="https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1_signupsignin1/v2.0/.well-known/openid-configuration" />
<audiences>
<audience>00001111-aaaa-2222-bbbb-3333cccc4444</audience>
<audience>11112222-bbbb-3333-cccc-4444dddd5555</audience>
</audiences>
<issuers>
<issuer>https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer>
<issuer>https://<tenant-name>.b2clogin.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer>
</issuers>
</validate-jwt>
<base />
</inbound>
<backend> <base /> </backend>
<outbound> <base /> </outbound>
<on-error> <base /> </on-error>
</policies>
Nächste Schritte
Weitere Informationen zu Azure-API-Verwaltungsrichtlinien finden Sie im Referenzindex der Azure API-Verwaltungsrichtlinie.
Informationen zum Migrieren von OWIN-basierten Web-APIs und deren Anwendungen zu b2clogin.com finden Sie unter Migrieren einer OWIN-basierten Web-API zu b2clogin.com.