| Termin | Definicja |
|---|---|
| Obsługa SPN | Obsługa SPN to rejestracja nazwy usługi w Active Directory, niezbędna do działania uwierzytelniania Kerberos. SPN jako identyfikator usługi w Active DirectorySPN, czyli Service Principal Name, jest atrybutem obiektu w usłudze Active Directory używanym przez protokół Kerberos do powiązania nazwy usługi z kontem, które ją uruchamia. Nie jest to osobne konto ani hasło. Jest to nazwa rozpoznawana przez kontroler domeny podczas wyszukiwania podmiotu uprawnionego do odebrania biletu Kerberos dla konkretnej usługi. Dzięki temu klient może poprosić o bilet dla usługi działającej pod określonym kontem, zamiast uwierzytelniać się wyłącznie na podstawie nazwy komputera. Typowy SPN ma postać złożoną z klasy usługi oraz nazwy hosta, na przykład Podczas uwierzytelniania klient ustala nazwę SPN wymaganą przez aplikację i przekazuje ją do kontrolera domeny w żądaniu biletu usługowego. Kontroler odszukuje obiekt posiadający taki wpis i wystawia bilet zaszyfrowany z użyciem klucza powiązanego z tym obiektem. Jeżeli SPN wskazuje niewłaściwe konto, usługa może nie być w stanie odszyfrować biletu. Jeżeli wpisu brakuje, klient często przechodzi do innego mechanizmu uwierzytelniania albo otrzymuje błąd logowania. Rejestracja i przypisanie nazwy usługiRejestracja SPN polega na dodaniu konkretnej nazwy do atrybutu odpowiedniego obiektu Active Directory. W środowisku Windows można do tego użyć narzędzia W przypadku usług powiązanych z portem port jest częścią identyfikatora. Dla usługi SQL Server przykładowa nazwa ma format Do sprawdzenia wpisów przypisanych do konta służy polecenie Duplikaty SPN i błędy uwierzytelniania KerberosSPN powinien być jednoznaczny w obrębie katalogu. Duplikat oznacza, że ten sam identyfikator został przypisany do więcej niż jednego obiektu. Kontroler domeny nie ma wtedy wiarygodnej informacji, z którym kontem należy powiązać bilet usługowy. Objawem może być nieudane logowanie Kerberos, komunikat o błędzie zabezpieczeń, użycie NTLM zamiast Kerberos albo różne zachowanie zależnie od kontrolera domeny i użytej nazwy hosta. Częstą przyczyną problemu jest ręczne przeniesienie usługi na inne konto bez usunięcia starego SPN. Podobna sytuacja występuje po zmianie nazwy komputera, wdrożeniu aliasu DNS albo skopiowaniu konfiguracji między środowiskami. Do usunięcia nieaktualnego wpisu używa się polecenia Na wynik wpływa również dokładna forma nazwy. Zakres sprawdzenia konfiguracji SPNRzetelna weryfikacja zaczyna się od ustalenia konta procesu, nazwy usługi widocznej dla klienta oraz pełnej nazwy hosta używanej w połączeniu. Następnie porównuje się te informacje z wpisami Warto rozdzielić problem katalogowy od problemu aplikacji. Brak lub duplikat SPN może uniemożliwiać poprawne uzyskanie biletu, ale podobny objaw może powodować błędny DNS, niezgodna nazwa hosta, różnica czasu między komputerem a kontrolerem domeny albo wyłączona obsługa Kerberos po stronie aplikacji. Samo dodanie wpisu nie naprawi sytuacji, w której klient łączy się pod inną nazwą niż ta zarejestrowana w katalogu. Po zmianach należy ponowić test z rzeczywistego klienta i sprawdzić, czy pojawił się bilet dla właściwego SPN. Obsługa SPN wymaga dostępu administracyjnego do odpowiednich obiektów Active Directory oraz znajomości zależności między usługą, kontem i nazwą używaną w sieci. Zmiana wpisów bez wcześniejszego sprawdzenia może spowodować konflikt z inną usługą. Jeżeli problem z Kerberos występuje na laptopie lub komputerze PC, można rozpocząć od zebrania informacji o nazwie hosta, koncie logowania, komunikacie błędu i wyniku poleceń diagnostycznych, a następnie zweryfikować spójność konfiguracji z działaniem konkretnej aplikacji. |