Udostępnij za pośrednictwem


Bezproblemowe logowanie jednokrotne firmy Microsoft Entra: szczegółowe informacje techniczne

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

Jak działa bezproblemowe logowanie jednokrotne?

Ta sekcja zawiera trzy części:

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

Jak działa konfiguracja?

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

  • Konto komputera (AZUREADSSOACC) jest tworzone w lokalna usługa Active Directory (AD) w każdym lesie usługi AD synchronizowanym z identyfikatorem Entra firmy Microsoft (przy użyciu usługi Microsoft Entra Połączenie).
  • Ponadto podczas procesu logowania w usłudze Microsoft Entra jest tworzonych wiele głównych nazw usługi 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 odszyfrowywania 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 przerzucanie kluczaAZUREADSSOACC odszyfrowywania Kerberos konta komputera co najmniej co 30 dni.

Ważne

Bezproblemowe logowanie jednokrotne obsługuje AES256_HMAC_SHA1typy i AES128_HMAC_SHA1RC4_HMAC_MD5 szyfrowania 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. AzureADSSOAcc$ Jeśli typ szyfrowania konta jest ustawiony na RC4_HMAC_MD5, i chcesz zmienić go na jeden z typów szyfrowania AES, upewnij się, że najpierw przerzucisz klucz AzureADSSOAcc$ odszyfrowywania Kerberos konta zgodnie z opisem w dokumencie FAQ w odpowiednim pytaniu, w przeciwnym razie bezproblemowe logowanie jednokrotne nie nastąpi.

Po zakończeniu konfigurowania bezproblemowe logowanie jednokrotne działa tak samo jak każde inne logowanie korzystające ze zintegrowanego uwierzytelniania systemu 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 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 języka JavaScript w tle, identyfikator Entra firmy Microsoft kwestionuje przeglądarkę za pośrednictwem odpowiedzi 401 Brak autoryzacji w celu udostępnienia biletu Protokołu Kerberos.

  5. Przeglądarka z kolei żąda biletu z usługi Active Directory dla AZUREADSSOACC konta komputera (który reprezentuje identyfikator Entra firmy Microsoft).

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

  7. Przeglądarka przekazuje bilet protokołu Kerberos uzyskany z usługi Active Directory do identyfikatora Entra firmy Microsoft.

  8. Identyfikator Entra firmy Microsoft odszyfrowuje bilet Protokołu Kerberos, który obejmuje tożsamość użytkownika zalogowanego na urządzeniu firmowym przy użyciu wcześniej udostępnionego 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 Multi-Factor Authentication.

  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, co oznacza, że jeśli się nie powiedzie, środowisko logowania powraca do swojego zwykłego zachowania — czyli użytkownik musi wprowadzić swoje hasło, aby się zalogować.

Jak działa logowanie na kliencie natywnym przy użyciu bezproblemowego logowania jednokrotnego?

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 identyfikatora Entra firmy Microsoft i pobiera punkt końcowy WS-Trust MEX dzierżawy. Ten punkt końcowy zaufania WS 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ę bezproblemowego logowania jednokrotnego.
  5. Jeśli krok 4 zakończy się powodzeniem, zostanie wystawione wyzwanie protokołu Kerberos.
  6. Jeśli aplikacja może pobrać bilet protokołu Kerberos, przekazuje go do punktu końcowego zintegrowanego uwierzytelniania firmy Microsoft Entra.
  7. Identyfikator Entra firmy Microsoft odszyfrowuje bilet Protokołu Kerberos i weryfikuje go.
  8. Identyfikator entra firmy Microsoft podpisuje użytkownika i wystawia token SAML do aplikacji.
  9. Następnie aplikacja przesyła token SAML do punktu końcowego tokenu OAuth2 identyfikatora OAuth2 firmy Microsoft.
  10. Microsoft Entra ID weryfikuje token SAML i wystawia aplikacji token dostępu i token odświeżania dla określonego zasobu oraz token identyfikatora.
  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