Udostępnij przez


Omówienie niestandardowych rozszerzeń uwierzytelniania

Proces uwierzytelniania Microsoft Entra ID składa się z kilku wbudowanych zdarzeń uwierzytelniania, takich jak walidacja poświadczeń użytkownika, zasady dostępu warunkowego, uwierzytelnianie wieloskładnikowe, samoobsługowe resetowanie hasła i nie tylko.

Niestandardowe rozszerzenia uwierzytelniania firmy Microsoft umożliwiają rozszerzanie przepływów uwierzytelniania przy użyciu własnej logiki biznesowej w określonych punktach przepływu uwierzytelniania. Niestandardowe rozszerzenie uwierzytelniania jest zasadniczo odbiornikiem zdarzeń, który po aktywowaniu wykonuje wywołanie HTTP do punktu końcowego interfejsu API REST, w którym definiuje się akcję przepływu pracy.

Na przykład można użyć niestandardowego dostawcy oświadczeń, aby dodać dane użytkownika zewnętrznego do tokenu zabezpieczającego przed jego wystawieniem. Możesz dodać przepływ pracy kolekcji atrybutów, aby zweryfikować atrybuty wprowadzane przez użytkownika podczas rejestracji. Ten artykuł zawiera na wysokim poziomie techniczne omówienie niestandardowych rozszerzeń uwierzytelniania Microsoft Entra ID.

Wideo Microsoft Entra Custom Authentication Extension Overview (Omówienie rozszerzenia uwierzytelniania niestandardowego firmy Microsoft ) zawiera kompleksowy opis kluczowych funkcji i możliwości niestandardowych rozszerzeń uwierzytelniania.

Omówienie składników

Istnieją dwa składniki, które należy skonfigurować: niestandardowe rozszerzenie uwierzytelniania w usłudze Microsoft Entra i interfejs API REST. Rozszerzenie niestandardowego uwierzytelniania określa punkt końcowy interfejsu API REST, moment, w którym powinien być wywoływany, oraz poświadczenia potrzebne do jego wywołania.

Ten film wideo zawiera szczegółowe instrukcje dotyczące konfigurowania niestandardowych rozszerzeń uwierzytelniania firmy Microsoft i oferuje najlepsze rozwiązania i cenne wskazówki dotyczące optymalnej implementacji.

Przepływ logowania

Na poniższym diagramie przedstawiono przepływ logowania zintegrowany z niestandardowym rozszerzeniem uwierzytelniania.

Diagram przedstawiający token rozszerzony o oświadczenia ze źródła zewnętrznego.

  1. Użytkownik próbuje zalogować się do aplikacji i jest przekierowywany do strony logowania microsoft Entra.
  2. Gdy użytkownik ukończy określony krok uwierzytelniania, zostanie wyzwolony odbiornik zdarzeń.
  3. Niestandardowe rozszerzenie uwierzytelniania wysyła żądanie HTTP do punktu końcowego interfejsu API REST. Żądanie zawiera informacje o zdarzeniu, profilu użytkownika, danych sesji i innych informacjach kontekstowych.
  4. Interfejs API REST wykonuje niestandardowy przepływ pracy.
  5. Interfejs API REST zwraca odpowiedź HTTP na identyfikator Entra firmy Microsoft.
  6. Niestandardowe rozszerzenie uwierzytelniania firmy Microsoft przetwarza odpowiedź i dostosowuje uwierzytelnianie na podstawie typu zdarzenia i ładunku odpowiedzi HTTP.
  7. Token jest zwracany do aplikacji.

Punkty końcowe interfejsu API REST

Po wyzwoleniu zdarzenia Microsoft Entra ID wywołuje punkt końcowy interfejsu API REST, którego jesteś właścicielem. Interfejs API REST musi być publicznie dostępny. Może być hostowany przy użyciu usług Azure Functions, Azure App Service, Azure Logic Apps lub innego publicznie dostępnego punktu końcowego interfejsu API.

Masz elastyczność używania dowolnego języka programowania, frameworku lub rozwiązania low-code/no-code, takiego jak Azure Logic Apps, do opracowywania i wdrażania interfejsu API REST. Aby szybko rozpocząć pracę, rozważ użycie funkcji platformy Azure. Umożliwia uruchamianie kodu w środowisku bezserwerowym bez konieczności uprzedniego tworzenia maszyny wirtualnej lub publikowania aplikacji internetowej.

Interfejs API REST musi obsługiwać:

Obejrzyj to wideo, aby dowiedzieć się, jak utworzyć punkt końcowy interfejsu API REST rozszerzeń uwierzytelniania za pomocą usługi Azure Logic Apps bez pisania kodu. Usługa Azure Logic App umożliwia użytkownikom tworzenie przepływów pracy przy użyciu projektanta wizualnego. Film obejmuje dostosowywanie e-maili weryfikacyjnych i dotyczy wszystkich typów niestandardowych rozszerzeń uwierzytelniania, w tym niestandardowych dostawców oświadczeń.

Dane żądania

Żądanie do interfejsu API REST zawiera ładunek JSON zawierający szczegółowe informacje o zdarzeniu, profilu użytkownika, danych żądania uwierzytelniania i innych informacjach kontekstowych. Atrybuty w ładunku JSON mogą być używane do wykonywania logiki przez twoje API.

Na przykład w zdarzeniu rozpoczęcia wystawiania tokenu ładunek żądania może zawierać unikatowy identyfikator użytkownika, co umożliwia pobranie profilu użytkownika z własnej bazy danych. Ładunek danych żądania musi być zgodny ze schematem określonym w dokumencie zdarzenia.

Zwracanie danych i typu akcji

Gdy internetowy interfejs API wykona przepływ pracy z logiką biznesową, musi zwrócić typ akcji kierujący Microsoft Entra, jak postępować z procesem uwierzytelniania.

Na przykład, w przypadku zdarzeń rozpoczęcia zbierania atrybutów i przesyłania zbierania atrybutów, typ akcji zwracany przez Twoje API internetowe wskazuje, czy konto można utworzyć w katalogu, wyświetlić błąd walidacji, lub całkowicie zablokować proces rejestracji.

Odpowiedź interfejsu API REST może zawierać dane. Na przykład zdarzenie rozpoczęcia emisji tokenów może dostarczyć zestaw atrybutów, które można przyporządkować do tokenu bezpieczeństwa.

Ochrona interfejsu API REST

Aby zapewnić odpowiednią ochronę komunikacji między niestandardowym rozszerzeniem uwierzytelniania i interfejsem API REST, należy zastosować wiele mechanizmów kontroli zabezpieczeń.

  1. Gdy niestandardowe rozszerzenie uwierzytelniania wywołuje interfejs API REST, wysyła nagłówek HTTP Authorization z tokenem elementu nośnego wystawionym przez identyfikator Entra firmy Microsoft.
  2. Token elementu nośnego appid zawiera oświadczenie lub .azp Sprawdź, czy odpowiednie oświadczenie zawiera 99045fe1-7639-4a75-9d4a-577b6ca3810f wartość. Ta wartość gwarantuje, że identyfikator Entra firmy Microsoft jest tym, który wywołuje interfejs API REST.
    1. W przypadku aplikacji w wersji 1 zweryfikuj appid oświadczenie.
    2. W przypadku aplikacji w wersji 2 zweryfikuj azp oświadczenie.
  3. Oświadczenie odbiorców tokenu aud elementu nośnego zawiera identyfikator skojarzonej rejestracji aplikacji. Punkt końcowy interfejsu API REST musi sprawdzić, czy token elementu nośnego jest wystawiony dla tej konkretnej grupy odbiorców.
  4. Oświadczenie wystawcy tokenu iss elementu nośnego zawiera adres URL wystawcy entra firmy Microsoft. W zależności od konfiguracji najemcy adres URL wystawcy jest jednym z następujących:
    • Pracownicy: https://login.microsoftonline.com/{tenantId}/v2.0.
    • Klient: https://{domainName}.ciamlogin.com/{tenantId}/v2.0.

Niestandardowe typy zdarzeń uwierzytelniania

W tej sekcji wymieniono zdarzenia związane z rozszerzeniami uwierzytelniania niestandardowego, dostępne w Microsoft Entra ID dla pracowników i najemców zewnętrznych. Aby uzyskać szczegółowe informacje o zdarzeniach, zapoznaj się z odpowiednią dokumentacją.

Zdarzenie Najemca zasobów ludzkich Zewnętrzny najemca
Uruchamianie wystawiania tokenu
Początek kolekcji atrybutów
Przesyłanie kolekcji atrybutów
Jednorazowe wysyłanie kodu dostępu

Uruchamianie wystawiania tokenu

Zdarzenie rozpoczęcia wystawiania tokenu , OnTokenIssuanceStart jest wyzwalane, gdy token ma zostać wystawiony dla aplikacji. Jest to typ zdarzenia skonfigurowany w ramach niestandardowego dostawcy oświadczeń. Niestandardowy dostawca oświadczeń to niestandardowe rozszerzenie uwierzytelniania, które wywołuje interfejs API REST w celu pobrania oświadczeń z systemów zewnętrznych. Niestandardowy dostawca oświadczeń mapuje oświadczenia z systemów zewnętrznych na tokeny i może być przypisany do jednej lub wielu aplikacji w katalogu.

Rozpoczęcie zbierania atrybutów

Zdarzenia początkowe zbierania atrybutów mogą być używane z niestandardowymi rozszerzeniami uwierzytelniania w celu dodania logiki przed zebrania atrybutów od użytkownika. Zdarzenie OnAttributeCollectionStart występuje na początku kroku kolekcji atrybutów przed renderowaniem strony kolekcji atrybutów. Umożliwia dodawanie akcji, takich jak wstępne wypełnianie wartości i wyświetlanie błędu blokowania.

Przesyłanie kolekcji atrybutów

Zdarzenia przesyłania kolekcji atrybutów mogą być używane z niestandardowymi rozszerzeniami uwierzytelniania w celu dodania logiki po zebraniu atrybutów od użytkownika. Zdarzenie OnAttributeCollectionSubmit jest wyzwalane po wprowadzeniu i przesłaniu atrybutów przez użytkownika, co umożliwia dodawanie akcji, takich jak weryfikowanie wpisów lub modyfikowanie atrybutów.

Jednorazowe wysyłanie kodu dostępu

Zdarzenie OnOtpSend jest wyzwalane, gdy jednorazowy kod dostępu zostanie aktywowany poprzez email. Umożliwia wywołanie interfejsu API REST w celu użycia własnego dostawcy poczty e-mail. To zdarzenie może służyć do wysyłania dostosowanych wiadomości e-mail do użytkowników, którzy tworzą konto przy użyciu adresu e-mail, logują się przy użyciu jednorazowego kodu dostępu e-mail (E-mail OTP), resetują swoje hasło przy użyciu protokołu E-mail OTP lub używają protokołu E-mail OTP do uwierzytelniania wieloskładnikowego (MFA).

Po aktywowaniu zdarzenia OnOtpSend, Microsoft Entra wysyła jednorazowy kod dostępu do określonego RESTful API, którego jesteś właścicielem. Następnie interfejs API REST używa wybranego dostawcy poczty e-mail, takiego jak usługa Azure Communication Service lub SendGrid, do wysyłania jednorazowego kodu dostępu przy użyciu niestandardowego szablonu poczty e-mail, adresu i tematu wiadomości e-mail, a także obsługi lokalizacji.