Rozwiązywanie problemów z uwierzytelnianiem systemu Windows dla podmiotów zabezpieczeń usługi Microsoft Entra w usłudze Azure SQL Managed Instance

Ten artykuł zawiera kroki rozwiązywania problemów do użycia podczas implementowania podmiotów zabezpieczeń uwierzytelniania systemu Windows w usłudze Microsoft Entra ID (dawniej Azure Active Directory).

Uwaga

Microsoft Entra ID był wcześniej znany jako Azure Active Directory (Azure AD).

Sprawdzanie, czy bilety są buforowane

Użyj polecenia klist, aby wyświetlić listę aktualnie buforowanych biletów Protokołu Kerberos.

Polecenie klist get krbtgt powinno zwrócić bilet z obszaru lokalna usługa Active Directory.

klist get krbtgt/kerberos.microsoftonline.com

Polecenie klist get MSSQLSvc powinno zwrócić bilet z kerberos.microsoftonline.com obszaru z główną nazwą usługi (SPN) do MSSQLSvc/<miname>.<dnszone>.database.windows.net:1433.

klist get MSSQLSvc/<miname>.<dnszone>.database.windows.net:1433

Poniżej przedstawiono niektóre dobrze znane kody błędów:

  • 0x6fb: Nie znaleziono głównej nazwy usługi SQL — sprawdź, czy wprowadzono prawidłową nazwę SPN. Jeśli zaimplementowano przychodzący przepływ uwierzytelniania opartego na zaufaniu, wykonaj ponownie kroki tworzenia i konfigurowania obiektu zaufanej domeny protokołu Kerberos firmy Microsoft w celu sprawdzenia, czy zostały wykonane wszystkie kroki konfiguracji.

  • 0x51f — ten błąd prawdopodobnie jest związany z konfliktem z narzędziem Fiddler. Aby zminimalizować ten problem, wykonaj poniższe kroki:

    1. Uruchom polecenie netsh winhttp reset autoproxy
    2. Uruchom polecenie netsh winhttp reset proxy
    3. W rejestrze systemu Windows znajdź Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\iphlpsvc\Parameters\ProxyMgr i usuń wszystkie podentry, które mają konfigurację z portem :8888
    4. Uruchom ponownie maszynę i spróbuj ponownie przy użyciu uwierzytelniania systemu Windows
  • 0x52f — wskazuje, że przywoływane informacje o nazwie użytkownika i uwierzytelnianiu są prawidłowe, ale niektóre ograniczenia konta użytkownika uniemożliwiły pomyślne uwierzytelnienie. Może się tak zdarzyć, jeśli masz skonfigurowane zasady dostępu warunkowego firmy Microsoft. Aby rozwiązać ten problem, należy wykluczyć aplikację jednostki usługi wystąpienia zarządzanego Azure SQL (o nazwie <instance name> principal) w regułach dostępu warunkowego.

Badanie błędów przepływu komunikatów

Użyj narzędzia Wireshark lub wybranego analizatora ruchu sieciowego, aby monitorować ruch między klientem a lokalnym centrum dystrybucji kluczy Kerberos (KDC).

W przypadku korzystania z programu Wireshark oczekiwane są następujące elementy:

  • AS-REQ: Klient => lokalne centrum dystrybucji kluczy => zwraca lokalny TGT.
  • TGS-REQ: Client => on-premises KDC => zwraca odwołanie do kerberos.microsoftonline.com.

Następne kroki

Dowiedz się więcej o implementowaniu uwierzytelniania systemu Windows dla podmiotów zabezpieczeń firmy Microsoft w usłudze Azure SQL Managed Instance: