Użyj protokołu Kerberos na potrzeby logowania jednokrotnego (SSO) do zasobów przy użyciu usługi Dostęp Prywatny Microsoft Entra
Zapewnij jednokrotne logowanie do zasobów lokalnych opublikowanych za pośrednictwem Microsoft Entra Private Access. Dostęp Prywatny Microsoft Entra używa protokołu Kerberos do obsługi tych zasobów. Opcjonalnie można użyć zaufania Kerberos w chmurze dla Windows Hello dla firm w celu umożliwienia jednokrotnego logowania się użytkownikom.
Wymagania wstępne
Przed rozpoczęciem logowania jednokrotnego upewnij się, że środowisko jest gotowe.
- Las usługi Active Directory. W przewodniku jest używana nazwa domeny lasu, którą można rozpoznać publicznie. Jednak domena publicznie dostępna nie jest wymagana.
- Włączono profil przekazywania prywatnego dostępu Microsoft Entra.
- Najnowsza wersja łącznika Dostęp Prywatny Microsoft Entra jest zainstalowana na serwerze z systemem Windows, który ma dostęp do kontrolerów domeny.
- Najnowsza wersja klienta globalnego bezpiecznego dostępu. Aby uzyskać więcej informacji na temat klienta, zobacz klienci Global Secure Access.
Publikowanie zasobów do użycia z logowaniem jednokrotnym
Aby przetestować logowanie jednokrotne, utwórz nową aplikację przedsiębiorstwa, która publikuje zasób plików. Publikowanie udziału plików przy użyciu aplikacji korporacyjnej umożliwia przypisanie polityki dostępu warunkowego do zasobu i wymuszanie dodatkowych mechanizmów kontroli zabezpieczeń, takich jak uwierzytelnianie wieloskładnikowe.
- Zaloguj się do witryny Microsoft Entra jako co najmniej administrator aplikacji .
- Przejdź do Globalnego Bezpiecznego Dostępu>Aplikacje>Aplikacje Przedsiębiorstw.
- Wybierz pozycję Nowa aplikacja.
- Dodaj nowy segment aplikacji z adresem IP serwera plików przy użyciu portu
445/TCP
, a następnie wybierz pozycję Zapisz. Protokół SMB (Server Message Block) używa portu. - Otwórz utworzoną aplikację dla przedsiębiorstw i wybierz pozycję Użytkownicy i grupy , aby przypisać dostęp do zasobu.
Urządzenia przyłączone do identyfikatora Entra firmy Microsoft — logowanie jednokrotne oparte na hasłach
Dodatkowa konfiguracja poza tym przewodnikiem nie jest wymagana, jeśli użytkownicy używają haseł do logowania się do systemu Windows.
Urządzenia dołączone do usługi Microsoft Entra ID opierają się na domenie usługi Active Directory i informacjach o użytkowniku synchronizowanych przez program Microsoft Entra ID Connect. Lokalizator kontrolera domeny systemu Windows znajduje kontrolery domeny z powodu synchronizacji. Główna nazwa użytkownika (UPN) i hasło użytkownika są używane do żądania biletu Kerberos TGT. Aby uzyskać więcej informacji na temat tego przepływu, zobacz Jak działa logowanie jednokrotne (SSO) do zasobów lokalnych na urządzeniach dołączonych do usługi Microsoft Entra.
Urządzenia przyłączone do usługi Microsoft Entra ID i urządzenia hybrydowo przyłączone do usługi Microsoft Entra ID — Windows Hello dla firm jednokrotne logowanie
Dodatkowa konfiguracja poza tym przewodnikiem jest wymagana dla Windows Hello dla firm.
Zaleca się wdrożenie Zaufania Kerberos dla Chmury Hybrydowej z użyciem Microsoft Entra ID. Urządzenia korzystające z zaufania protokołu Kerberos w chmurze uzyskują bilet TGT używany do logowania jednokrotnego. Aby dowiedzieć się więcej o zaufaniu Kerberos w chmurze, zobacz Włączanie logowania kluczem zabezpieczającym bez użycia hasła do zasobów lokalnych przy wykorzystaniu Microsoft Entra ID.
Aby wdrożyć zaufanie protokołu Kerberos w chmurze Windows Hello dla firm z lokalną usługą Active Directory.
- Utwórz obiekt serwera Kerberos Microsoft Entra ID. Aby dowiedzieć się, jak utworzyć obiekt, zobacz Instalowanie modułu AzureADHybridAuthenticationManagement.
- Włącz zaufanie chmury WHfB na swoich urządzeniach przy użyciu Intune lub zasad grupowych. Aby dowiedzieć się, jak włączyć usługę WHfB, zobacz Przewodnik wdrażania zaufania protokołu Kerberos w chmurze.
Publikowanie kontrolerów domeny
Kontrolery domeny muszą być publikowane, aby klienci mogli uzyskać bilety Kerberos. Bilety są wymagane do logowania jednokrotnego do zasobów lokalnych.
Opublikuj co najmniej wszystkie kontrolery domeny skonfigurowane w lokacji usługi Active Directory, w której są zainstalowane łączniki dostępu prywatnego. Jeśli na przykład łączniki dostępu prywatnego znajdują się w centrum danych Brisbane, opublikuj wszystkie kontrolery domeny w centrum danych Brisbane.
Porty kontrolera domeny są wymagane do umożliwienia SSO do zasobów lokalnych.
Port | Protokół | Cel |
---|---|---|
88 | Protokół UDP (User Datagram Protocol) / Transmission Control Protocol (TCP) | Kerberos |
389 | UDP | Lokalizator kontrolera domeny |
464 | UDP/TCP | Żądanie zmiany hasła |
123 | UDP | Synchronizacja czasu |
Uwaga
Przewodnik koncentruje się na włączaniu logowania jednokrotnego do zasobów lokalnych i wyklucza konfigurację wymaganą dla klientów przyłączonych do domeny systemu Windows do wykonywania operacji domeny (zmiana hasła, zasady grupy itp.).
- Zaloguj się do witryny Microsoft Entra jako co najmniej administrator aplikacji .
- Przejdź do Global Secure Access>Aplikacje>Aplikacje Przedsiębiorstwa.
- Wybierz pozycję Nowa aplikacja , aby utworzyć nową aplikację do publikowania kontrolerów domeny.
- Wybierz pozycję Dodaj segment aplikacji, a następnie dodaj wszystkie adresy IP lub FQDN (w pełni kwalifikowane nazwy domen) kontrolerów domeny oraz porty zgodnie z tabelą. Należy opublikować tylko kontrolery domeny w witrynie Active Directory, w której znajdują się łączniki dostępu prywatnego.
Uwaga
Upewnij się, że nie używasz wieloznacznych nazw FQDN do publikowania kontrolerów domeny, zamiast tego dodaj ich określone adresy IP lub nazwy FQDN.
Po utworzeniu aplikacji dla przedsiębiorstw przejdź z powrotem do aplikacji i wybierz pozycję Użytkownicy i grupy. Dodaj wszystkich użytkowników zsynchronizowanych z usługą Active Directory.
Publikowanie sufiksów DNS
Skonfiguruj prywatny system DNS, aby klienci globalnego bezpiecznego dostępu mogli rozpoznawać prywatne nazwy DNS. Prywatne nazwy DNS są wymagane do jednokrotnego logowania się. Klienci używają ich do uzyskiwania dostępu do zasobów publikowanych lokalnie. Aby dowiedzieć się więcej na temat Prywatny DNS za pomocą Szybkiego Dostępu, zobacz how-to-configure-quick-access.md#add-private-dns-sufiksy.
- Przejdź do Global Secure Access>Applications>Quick Access.
- Wybierz kartę Prywatna strefa DNS, a następnie wybierz pozycję Włącz Prywatna strefa DNS.
- Wybierz pozycję Dodaj sufiks DNS. Dodaj co najmniej sufiksy najwyższego poziomu lasów usługi Active Directory hostowanych przez użytkowników zsynchronizowanych z identyfikatorem Entra firmy Microsoft.
- Wybierz pozycję Zapisz.
Jak używać logowania jednokrotnego Kerberos do uzyskiwania dostępu do zasobu plików SMB
Na tym diagramie pokazano, jak działa Microsoft Entra Private Access podczas próby uzyskania dostępu do zasobu plikowego SMB z urządzenia z systemem Windows skonfigurowanego z Windows Hello dla Firm i Zaufaniem Chmury. W tym przykładzie administrator skonfigurował Szybki dostęp Prywatny DNS oraz dwie aplikacje dla przedsiębiorstw — jedna dla kontrolerów domeny i jedna dla udziału plików SMB.
Krok | opis |
---|---|
A | Użytkownik próbuje uzyskać dostęp do udziału plików SMB przy użyciu nazwy FQDN. Klient GSA przechwytuje ruch i przesyła go przez tunel do usługi SSE Edge. Zasady autoryzacji w identyfikatorze Entra firmy Microsoft są oceniane i wymuszane, takie jak to, czy użytkownik jest przypisany do aplikacji i dostępu warunkowego. Po autoryzacji użytkownika, Microsoft Entra ID wystawia token dla aplikacji przedsiębiorstwa SMB. Ruch jest zwalniany, aby kontynuować korzystanie z usługi Dostępu prywatnego wraz z tokenem dostępu aplikacji. Usługa dostępu prywatnego weryfikuje token dostępu, a połączenie jest koordynowane z usługą zaplecza dostępu prywatnego. Połączenie jest następnie obsługiwane przez łącznik sieci prywatnej. |
B | Łącznik sieci prywatnej wykonuje zapytanie DNS w celu zidentyfikowania adresu IP serwera docelowego. Usługa DNS w sieci prywatnej wysyła odpowiedź. Łącznik sieci prywatnej próbuje uzyskać dostęp do docelowego udziału plików SMB, który następnie żąda uwierzytelniania Kerberos. |
C | Klient generuje zapytanie DNS SRV w celu zlokalizowania kontrolerów domeny. Faza A jest powtarzana, przechwytując zapytanie DNS i autoryzując użytkownika dla aplikacji Szybki dostęp. Łącznik sieci prywatnej wysyła zapytanie DNS SRV do sieci prywatnej. Usługa DNS wysyła odpowiedź DNS do klienta za pośrednictwem łącznika sieci prywatnej. |
D | Urządzenie z systemem Windows żąda częściowego TGT (nazywanego również Cloud TGT) z Microsoft Entra ID (jeśli jeszcze go nie ma). Microsoft Entra ID wystawia częściowy bilet TGT. |
E | System Windows inicjuje połączenie lokalizatora kontrolera domeny przez port UDP 389 z każdym kontrolerem domeny wymienionym w odpowiedzi DNS z fazy C. Następuje ponowne wykonanie fazy A, aby przechwycić ruch lokalizatora kontrolera domeny i autoryzować użytkownika dla aplikacji korporacyjnej, która publikuje lokalne kontrolery domeny. Łącznik sieci prywatnej wysyła ruch DC do każdego kontrolera domeny. Odpowiedzi są przekazywane z powrotem do klienta. System Windows wybiera i buforuje kontroler domeny z najszybszą odpowiedzią. |
F | Klient wymienia częściowy bilet TGT na pełny bilet TGT. Pełny TGT jest następnie używany do żądania i odbierania TGS dla udziału plików SMB. |
G | Klient przedstawia usługę TGS do udziału plików SMB. Udział plików SMB weryfikuje usługę TGS. Dostęp do udziału plików został przyznany. |
Rozwiązywanie problemów
Urządzenia przyłączone do usługi Microsoft Entra ID przy użyciu uwierzytelniania haseł polegają na atrybutach synchronizowanych przez program Microsoft Entra ID Connect. Upewnij się, że atrybuty onPremisesDomainName
, onPremisesUserPrincipalName
i onPremisesSamAccountName
mają odpowiednie wartości. Użyj Eksploratora programu Graph i programu PowerShell, aby sprawdzić wartości.
Jeśli te wartości nie są obecne, sprawdź ustawienia synchronizacji programu Microsoft Entra ID Connect i sprawdź, czy te atrybuty są synchronizowane. Aby dowiedzieć się więcej na temat synchronizacji atrybutów, zobacz Microsoft Entra Connect Sync: Atrybuty zsynchronizowane z identyfikatorem Entra firmy Microsoft.
Jeśli używasz Windows Hello dla firm do logowania, uruchom polecenia z nieistnienego wiersza polecenia.
dsregcmd /status
Sprawdź, czy atrybuty mają YES
jako wartości.
PRT
powinien być obecny. Aby dowiedzieć się więcej na temat PRT
, zobacz Rozwiązywanie problemów z pierwotnym tokenem odświeżania na urządzeniach z systemem Windows.
OnPremTgt
: TAK wskazuje, że protokół Entra Kerberos jest poprawnie skonfigurowany, a użytkownik otrzymał częściowy bilet TGT dla logowania jednokrotnego do zasobów lokalnych. Aby dowiedzieć się więcej na temat konfigurowania zaufania protokołu Kerberos w chmurze, zobacz Logowanie bez hasła do zasobów lokalnych.
Uruchom polecenie klist
.
klist cloud_debug
Sprawdź, Cloud Primary (Hybrid logon) TGT available:
czy pole ma wartość 1.
Uruchom polecenie nltest
.
nltest /dsgetdc:contoso /keylist /kdc
Sprawdź, czy lokalizator DC zwraca kontroler domeny, który uczestniczy w operacjach zaufania Kerberos w chmurze. Zwrócony kontroler domeny powinien mieć flagę klist
.
Jak uniknąć negatywnego buforowania protokołu Kerberos na maszynach z systemem Windows
Kerberos to preferowana metoda uwierzytelniania dla usług w systemie Windows, które weryfikują tożsamości użytkowników lub hostów. Buforowanie negatywne protokołu Kerberos powoduje opóźnienie w przyznawaniu biletów dostępu Kerberos.
Buforowanie ujemne protokołu Kerberos występuje na urządzeniach z systemem Windows z zainstalowanym klientem Globalnego Bezpiecznego Dostępu. Klient GSA próbuje nawiązać połączenie z najbliższym kontrolerem domeny dla biletu protokołu Kerberos, ale żądanie kończy się niepowodzeniem, ponieważ klient GSA nadal nie jest połączony lub kontroler domeny nie jest osiągalny w tej chwili. Gdy żądanie zakończy się niepowodzeniem, klient nie spróbuje ponownie nawiązać połączenia z kontrolerem domeny, natychmiast, ponieważ domyślny FarKdcTimeout
czas w rejestrze jest ustawiony na 10 minut. Mimo że klient GSA może być połączony przed tym domyślnym czasem 10 minut, klient GSA zachowuje negatywny wpis w pamięci podręcznej i uznaje, że proces lokalizowania kontrolera domeny zakończył się niepowodzeniem. Po upływie domyślnych 10 minut klient GSA wysyła zapytanie do kontrolera domeny używając biletu Kerberos i połączenie zakończyło się pomyślnie.
Aby rozwiązać ten problem, możesz zmienić domyślny FarKdcTimeout
czas w rejestrze lub ręcznie natychmiast opróżnić pamięć podręczną Kerberos za każdym razem, gdy klient GSA zostanie ponownie uruchomiony.
Opcja 1. Zmiana domyślnego czasu FarKdcTimeout w rejestrze
Jeśli korzystasz z systemu Windows, możesz zmodyfikować parametry protokołu Kerberos, aby ułatwić rozwiązywanie problemów z uwierzytelnianiem Kerberos lub przetestować protokół Kerberos.
Ważne
W tej sekcji, metodzie lub w tym zadaniu podano informacje dotyczące modyfikowania rejestru. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonać poniższe kroki. Aby zapewnić dodatkową ochronę, utwórz kopię zapasową rejestru przed przystąpieniem do jego modyfikacji. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat sposobu tworzenia kopii zapasowych, przywracania i modyfikowania rejestru, zobacz artykuł Tworzenie kopii zapasowych i przywracanie rejestru systemu Microsoft Windows.
Wpisy i wartości rejestru w kluczu Parametry
Wpisy rejestru wymienione w tej sekcji muszą zostać dodane do następującego podklucza rejestru:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
Uwaga
Jeśli klucz Parameters
nie znajduje się na liście w obszarze Kerberos, musisz go utworzyć.
Zmodyfikuj następujący FarKdcTimeout
wpis rejestru
- Wpis:
FarKdcTimeout
- Typ:
REG_DWORD
- Wartość domyślna:
0 (minutes)
Jest to wartość limitu czasu używana do unieważnienia kontrolera domeny z innej lokacji w pamięci podręcznej kontrolera domeny.
Opcja 2: Ręczne czyszczenie pamięci podręcznej Kerberos
Jeśli zdecydujesz się ręcznie przeczyścić pamięć podręczną Kerberos, ten krok będzie musiał zostać ukończony za każdym razem, gdy klient GSA zostanie uruchomiony ponownie.
Otwórz wiersz polecenia jako administrator i uruchom następujące polecenie: KLIST PURGE_BIND