Uwaga
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.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Dowiedz się, jak ograniczyć dostęp do interfejsu API usługi Azure API Management do klientów, którzy uwierzytelnili się za pomocą usługi Azure Active Directory B2C (Azure AD B2C). Postępuj zgodnie z instrukcjami w tym artykule, aby utworzyć i przetestować zasady ruchu przychodzącego w usłudze Azure API Management, które ograniczają dostęp tylko do tych żądań, które zawierają prawidłowy token dostępu wystawiony przez usługę Azure AD B2C.
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz następujące zasoby:
- Dzierżawa usługi Azure AD B2C
- Aplikacja zarejestrowana w dzierżawie
- Przepływy użytkowników, które są tworzone w dzierżawie
- Opublikowany interfejs API w usłudze Azure API Management
Pobieranie identyfikatora aplikacji Azure AD B2C
W przypadku zabezpieczania interfejsu API w usłudze Azure API Management za pomocą usługi Azure AD B2C potrzebnych jest kilka wartości zasad ruchu przychodzącego utworzonych w usłudze Azure API Management. Najpierw zarejestruj identyfikator aplikacji utworzonej wcześniej w dzierżawie usługi Azure AD B2C. Jeśli używasz aplikacji utworzonej w celu spełnienia wymagań wstępnych, użyj identyfikatora aplikacji dla aplikacji internetowej1.
Aby zarejestrować aplikację w dzierżawie usługi Azure AD B2C, możesz użyć naszego nowego, ujednoliconego środowiska rejestracji aplikacji lub starszego środowiska aplikacji . Dowiedz się więcej o nowym środowisku rejestracji.
- Zaloguj się do witryny Azure Portal.
- Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się na dzierżawę Azure AD B2C z menu Katalogi + subskrypcje.
- W okienku po lewej stronie wybierz pozycję Azure AD B2C. Alternatywnie możesz wybrać pozycję Wszystkie usługi , a następnie wyszukać i wybrać pozycję Azure AD B2C.
- Wybierz pozycję Rejestracje aplikacji, a następnie wybierz kartę Posiadane aplikacje .
- Zapisz wartość w kolumnie Identyfikator aplikacji (klienta) dla aplikacji internetowej1 lub dla innej wcześniej utworzonej aplikacji.
Pobieranie punktu końcowego wystawcy tokenu
Następnie pobierz dobrze znany adres URL konfiguracji dla jednego z przepływów użytkownika usługi Azure AD B2C. Potrzebny jest również identyfikator URI punktu końcowego wystawcy tokenu, który ma być obsługiwany w usłudze Azure API Management.
W Azure Portal przejdź do dzierżawy Azure AD B2C.
W obszarze Zasady wybierz pozycję Przepływy użytkownika.
Wybierz istniejące zasady (na przykład B2C_1_signupsignin1), a następnie wybierz pozycję Uruchom przepływ użytkownika.
Zapisz adres URL w hiperłączu, które jest wyświetlane pod nagłówkiem Uruchom przepływ użytkownika w górnej części strony. Ten adres URL jest dobrze znanym punktem końcowym odnajdywania OpenID Connect Connect dla przepływu użytkownika i będzie go używać w następnej sekcji podczas konfigurowania zasad ruchu przychodzącego w usłudze Azure API Management.
Wybierz hiperłącze, aby przejść do dobrze znanej strony konfiguracji OpenID Connect.
Na stronie, która otworzy się w przeglądarce, zapisz
issuer
wartość. Przykład:https://<tenant-name>.b2clogin.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0/
Ta wartość zostanie użyta w następnej sekcji podczas konfigurowania interfejsu API w usłudze Azure API Management.
Teraz powinny być zarejestrowane dwa adresy URL do użycia w następnej sekcji: dobrze znany adres URL punktu końcowego konfiguracji OpenID Connect Connect i identyfikator URI wystawcy. Przykład:
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/
Konfigurowanie zasad ruchu przychodzącego w usłudze Azure API Management
Teraz możesz dodać zasady ruchu przychodzącego w usłudze Azure API Management, które weryfikują wywołania interfejsu API. Dodając zasady weryfikacji tokenu internetowego JSON (JWT), które weryfikują odbiorców i wystawcę w tokenie dostępu, można zapewnić, że akceptowane są tylko wywołania interfejsu API z prawidłowym tokenem.
W Azure Portal przejdź do wystąpienia usługi Azure API Management.
Wybierz pozycję Interfejsy API.
Wybierz interfejs API, który chcesz zabezpieczyć za pomocą usługi Azure AD B2C.
Wybierz kartę Projekt.
W obszarze Przetwarzanie przychodzące wybierz <pozycję /> , aby otworzyć edytor kodu zasad.
Umieść następujący
<validate-jwt>
tag wewnątrz<inbound>
zasad, a następnie wykonaj następujące czynności:a. Zaktualizuj
url
wartość w elemencie<openid-config>
przy użyciu dobrze znanego adresu URL konfiguracji zasad.
b. Zaktualizuj<audience>
element przy użyciu identyfikatora aplikacji utworzonej wcześniej w dzierżawie B2C (na przykład webapp1).
c. Zaktualizuj<issuer>
element przy użyciu zarejestrowanego wcześniej punktu końcowego wystawcy tokenu.<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>
Obsługa wielu aplikacji i wydawców
Kilka aplikacji zwykle współdziała z jednym interfejsem API REST. Aby umożliwić interfejsowi API akceptowanie tokenów przeznaczonych dla wielu aplikacji, dodaj ich identyfikatory aplikacji do <audiences>
elementu w zasadach ruchu przychodzącego usługi Azure API Management.
<!-- Accept tokens intended for these recipient applications -->
<audiences>
<audience>00001111-aaaa-2222-bbbb-3333cccc4444</audience>
<audience>11112222-bbbb-3333-cccc-4444dddd5555</audience>
</audiences>
Podobnie, aby obsługiwać wielu wystawców tokenów, dodaj ich identyfikatory URI punktów końcowych <issuers>
do elementu w zasadach ruchu przychodzącego usługi Azure API Management.
<!-- 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>
Migracja do b2clogin.com
Jeśli masz interfejs API usługi Azure API ManagementM, który weryfikuje tokeny wystawione przez starszy login.microsoftonline.com
punkt końcowy, należy przeprowadzić migrację interfejsu API i aplikacji, które go wywołują, aby używać tokenów wystawionych przez b2clogin.com.
Możesz postępować zgodnie z tym ogólnym procesem, aby przeprowadzić migrację etapową:
- Dodaj obsługę w zasadach ruchu przychodzącego usługi Azure API Management dla tokenów wystawionych zarówno przez b2clogin.com, jak i login.microsoftonline.com.
- Aktualizuj aplikacje pojedynczo, aby uzyskać tokeny z punktu końcowego b2clogin.com.
- Po tym, jak wszystkie aplikacje poprawnie pobierają tokeny z b2clogin.com, usuń obsługę tokenów wystawionych przez login.microsoftonline.com z interfejsu API.
Poniższe przykładowe zasady ruchu przychodzącego usługi Azure API Management ilustrują sposób akceptowania tokenów wystawionych zarówno przez b2clogin.com, jak i login.microsoftonline.com. Dodatkowo polityka obsługuje żądania API z dwóch aplikacji.
<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>
Dalsze kroki
Aby uzyskać dodatkowe informacje na temat zasad usługi Azure API Management, zobacz indeks referencyjny zasad usługi Azure API Management.
Aby uzyskać informacje na temat migrowania internetowych interfejsów API opartych na systemie WIN i ich aplikacji do systemu b2clogin.com, zobacz Migrowanie internetowego interfejsu API opartego na systemie WIN do systemu b2clogin.com.