Udostępnij za pośrednictwem


Bezproblemowe jednokrotne logowanie Microsoft Entra: dogłębna analiza techniczna

Ten artykuł zawiera szczegółowe informacje techniczne dotyczące działania funkcji Seamless SSO (bezproblemowego logowania jednokrotnego) Microsoft Entra.

Jak działa bezproblemowe SSO?

Ta sekcja zawiera trzy części:

  1. Konfiguracja funkcji jednokrotnego logowania bezproblemowego.
  2. Jak proces logowania jednego użytkownika w przeglądarce internetowej działa z bezproblemowym jednokrotnym logowaniem.
  3. Jak działa transakcja pojedynczego logowania użytkownika na natywnym kliencie z bezproblemowym SSO.

Jak działa konfiguracja?

Bezproblemowe logowanie jednokrotne jest włączone przy użyciu programu Microsoft Entra Connect, jak pokazano tutaj. Podczas włączania tej funkcji są wykonywane następujące kroki:

  • Konto komputera (AZUREADSSOACC) jest tworzone w lokalnej usłudze Active Directory (AD) w każdej domenie AD synchronizowanej z Microsoft Entra ID (przy użyciu Microsoft Entra Connect).
  • Ponadto podczas procesu logowania w Microsoft Entra tworzonych jest wiele nazw głównych usług Kerberos (SPN).
  • Klucz odszyfrowywania Kerberos konta komputera jest bezpiecznie udostępniany identyfikatorowi Entra firmy Microsoft. Jeśli istnieje wiele lasów usługi AD, każde konto komputera będzie miało własny unikatowy klucz do deszyfrowania Kerberos.

Ważne

Konto komputera AZUREADSSOACC musi być silnie chronione ze względów bezpieczeństwa. Tylko administratorzy domeny powinni mieć możliwość zarządzania kontem komputera. Upewnij się, że delegowanie protokołu Kerberos na koncie komputera jest wyłączone i że żadne inne konto w usłudze Active Directory nie ma uprawnień delegowania na AZUREADSSOACC koncie komputera. Przechowuj konto komputera w jednostce organizacyjnej, w której jest ono chronione przed przypadkowym usunięciem i dostępne tylko dla administratorów domeny. Klucz odszyfrowywania Kerberos na koncie komputera powinien być również traktowany jako poufny. Zdecydowanie zalecamy aktualizowanie klucza odszyfrowywania Kerberos dla konta komputera co najmniej co 30 dni.

Ważne

Bezproblemowe SSO obsługuje typy szyfrowania AES256_HMAC_SHA1, AES128_HMAC_SHA1 i RC4_HMAC_MD5 dla protokołu Kerberos. Zaleca się, aby typ szyfrowania dla AzureADSSOAcc$ konta był ustawiony na AES256_HMAC_SHA1, lub jeden z typów AES a RC4 dla dodanych zabezpieczeń. Typ szyfrowania jest przechowywany w atrybucie msDS-SupportedEncryptionTypes konta w usłudze Active Directory. Jeśli typ szyfrowania konta AzureADSSOAcc$ jest ustawiony na RC4_HMAC_MD5, a chcesz zmienić go na jeden z typów szyfrowania AES, upewnij się, że najpierw zmienisz klucz odszyfrowywania Kerberos konta AzureADSSOAcc$, zgodnie z instrukcjami zawartymi w odpowiednim pytaniu w dokumencie FAQ. W przeciwnym razie bezproblemowe jednokrotne logowanie (Seamless SSO) nie zostanie zrealizowane.

Po zakończeniu konfigurowania, rozwiązanie Seamless SSO działa tak samo jak każde inne logowanie korzystające ze zintegrowanego uwierzytelniania Windows (IWA).

Jak działa logowanie w przeglądarce internetowej przy użyciu bezproblemowego logowania jednokrotnego?

Przepływ logowania w przeglądarce internetowej wygląda następująco:

  1. Użytkownik próbuje uzyskać dostęp do aplikacji internetowej (na przykład aplikacji Outlook Web App — https://outlook.office365.com/owa/) z urządzenia firmowego przyłączonego do domeny w sieci firmowej.

  2. Jeśli użytkownik nie jest jeszcze zalogowany, zostanie przekierowany do strony logowania firmy Microsoft Entra.

  3. Użytkownik wpisze nazwę użytkownika na stronie logowania firmy Microsoft Entra.

    Uwaga

    W przypadku niektórych aplikacji pominięto kroki 2 i 3.

  4. Korzystając z JavaScriptu uruchomionego w tle, Microsoft Entra ID wywołuje przeglądarkę za pośrednictwem odpowiedzi 401 Unauthorized, aby uzyskać bilet Kerberos.

  5. Następnie przeglądarka żąda biletu dostępu z usługi Active Directory dla AZUREADSSOACC konta komputera (który reprezentuje Microsoft Entra ID).

  6. Usługa Active Directory lokalizuje konto komputera i zwraca bilet Kerberos do przeglądarki, zaszyfrowanym przy użyciu tajnego klucza konta komputera.

  7. Przeglądarka przekazuje bilet Kerberos uzyskany z Active Directory do Microsoft Entra ID.

  8. Microsoft Entra ID odszyfrowuje ticket Kerberos, który obejmuje tożsamość użytkownika zalogowanego na urządzeniu firmowym za pomocą wcześniej podanego klucza.

  9. Po dokonaniu oceny identyfikator Entra firmy Microsoft zwraca token z powrotem do aplikacji lub prosi użytkownika o wykonanie dodatkowych dowodów, takich jak uwierzytelnianie wieloskładnikowe.

  10. Jeśli logowanie użytkownika zakończy się pomyślnie, użytkownik będzie mógł uzyskać dostęp do aplikacji.

Na poniższym diagramie przedstawiono wszystkie wymagane składniki i kroki.

Bezproblemowe Logowanie jednokrotne — przepływ aplikacji internetowej

Bezproblemowe logowanie jednokrotne jest oportunistyczne. Oznacza to, że jeśli się nie powiedzie, proces logowania powraca do swojego standardowego działania. W takim przypadku użytkownik musi wprowadzić swoje hasło, aby się zalogować.

Jak działa logowanie na kliencie natywnym z użyciem Bezproblemowego jednokrotnego logowania (SSO)?

Przepływ logowania na kliencie natywnym wygląda następująco:

  1. Użytkownik próbuje uzyskać dostęp do aplikacji natywnej (na przykład klienta programu Outlook) z urządzenia firmowego przyłączonego do domeny w sieci firmowej.
  2. Jeśli użytkownik nie jest jeszcze zalogowany, aplikacja natywna pobiera nazwę użytkownika z sesji systemu Windows urządzenia.
  3. Aplikacja wysyła nazwę użytkownika do Microsoft Entra ID i pobiera punkt końcowy WS-Trust MEX dla dzierżawy. Ten punkt końcowy WS-Trust jest używany wyłącznie przez funkcję bezproblemowego logowania jednokrotnego i nie jest ogólną implementacją protokołu WS-Trust w usłudze Microsoft Entra ID.
  4. Następnie aplikacja wysyła zapytanie do punktu końcowego WS-Trust MEX, aby sprawdzić, czy jest dostępny zintegrowany punkt końcowy uwierzytelniania. Zintegrowany punkt końcowy uwierzytelniania jest używany wyłącznie przez funkcję Seamless SSO.
  5. Jeśli krok 4 zakończy się powodzeniem, zostanie wystawione wyzwanie Kerberos.
  6. Jeśli aplikacja może pobrać bilet Kerberos, przekazuje go do punktu końcowego zintegrowanego uwierzytelniania Microsoft Entra.
  7. Identyfikator Entra firmy Microsoft odszyfrowuje bilet Protokołu Kerberos i weryfikuje go.
  8. Microsoft Entra ID loguje użytkownika i wystawia token SAML dla aplikacji.
  9. Następnie aplikacja przesyła token SAML do punktu końcowego tokenu OAuth2 w Microsoft Entra ID.
  10. Microsoft Entra ID weryfikuje token SAML i wystawia token dostępu, token odświeżania dla określonego zasobu oraz token tożsamości dla aplikacji.
  11. Użytkownik uzyskuje dostęp do zasobu aplikacji.

Na poniższym diagramie przedstawiono wszystkie wymagane składniki i kroki.

Bezproblemowe Logowanie jednokrotne — przepływ aplikacji natywnej

Następne kroki