Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

SPN (Service Principal Name)

Termin Definicja
SPN (Service Principal Name)

SPN to unikalny identyfikator usługi w Active Directory, wykorzystywany przez mechanizm uwierzytelniania Kerberos.

Rola SPN w Active Directory i Kerberos

SPN, czyli Service Principal Name, jest unikalną nazwą usługi zapisaną w atrybucie servicePrincipalName obiektu w usłudze Active Directory. Identyfikator wskazuje konkretną usługę działającą pod określonym kontem komputera albo kontem użytkownika. Dzięki temu Kerberos może ustalić, do którego podmiotu należy usługa, zanim wyda bilet potrzebny do uwierzytelnienia.

SPN nie jest hasłem, adresem IP ani nazwą DNS używaną wyłącznie do odnalezienia hosta. Jest elementem mapowania pomiędzy nazwą usługi, nazwą komputera lub instancji oraz kontem, które uruchamia daną usługę. Jeżeli klient żąda biletu dla określonego SPN, kontroler domeny wyszukuje ten identyfikator w katalogu i przypisuje bilet do odpowiadającego mu konta.

Budowa nazwy i przypisanie do konta

SPN ma postać zależną od rodzaju usługi. Często składa się z klasy usługi i nazwy hosta, na przykład HTTP/nazwa-serwera. Dla usług korzystających z określonej instancji lub portu stosuje się bardziej szczegółowy zapis, na przykład MSSQLSvc/nazwa-serwera:1433. Sam format nie uruchamia usługi i nie zastępuje konfiguracji aplikacji; zapewnia jedynie nazwę, pod którą usługa jest rozpoznawana przez Kerberos.

Identyfikator powinien być przypisany do konta, którego poświadczenia są używane przez usługę. W przypadku usługi uruchomionej na koncie komputera SPN znajduje się zwykle przy obiekcie komputera. Jeżeli aplikacja działa na dedykowanym koncie użytkownika, właściwy SPN musi być zapisany przy tym koncie. Błędne przypisanie może powodować, że kontroler domeny wyda bilet dla innego konta niż to, które faktycznie obsługuje żądanie.

Duplikaty SPN i objawy nieprawidłowej konfiguracji

W obrębie domeny nazwa SPN powinna jednoznacznie wskazywać jedno konto. Duplikat powstaje wtedy, gdy ten sam identyfikator zostanie zapisany przy dwóch obiektach Active Directory. W takiej sytuacji kontroler domeny nie ma pewnego mapowania usługi na konto, dlatego żądanie biletu Kerberos może zakończyć się błędem albo klient może przejść na inny mechanizm uwierzytelniania, jeżeli aplikacja go dopuszcza.

Problem z SPN może wystąpić także wtedy, gdy użytkownik łączy się z aliasem DNS, a w katalogu zarejestrowano wyłącznie nazwę podstawową serwera. Znaczenie ma dokładna nazwa użyta przez klienta, ponieważ HTTP/serwer-a i HTTP/alias są różnymi identyfikatorami. Przy analizie należy rozróżnić błąd DNS, brak biletu Kerberos, niezgodność konta usługi oraz rzeczywisty konflikt duplikatów, ponieważ każdy z tych problemów wymaga innego działania.

Kontrola SPN za pomocą narzędzi domenowych

Do sprawdzania i zarządzania SPN w systemie Windows służy narzędzie setspn.exe. Polecenie setspn -L konto wyświetla identyfikatory przypisane do wskazanego konta, a setspn -Q SPN pozwala wyszukać obiekt posiadający konkretną nazwę. Kontrolę duplikatów można wykonać poleceniem setspn -X. Wynik należy interpretować razem z konfiguracją usługi, nazwą używaną przez klienta i kontem uruchamiającym proces.

Dodawanie lub usuwanie SPN wymaga uprawnień do modyfikacji odpowiedniego obiektu katalogowego i powinno być wykonywane z zachowaniem kontroli nad właścicielem usługi. Przykładowo setspn -S SPN konto dodaje nazwę z kontrolą duplikatu, natomiast setspn -D SPN konto usuwa wskazane przypisanie. Mechaniczne dopisywanie kolejnych nazw bez sprawdzenia istniejących wpisów może zwiększyć liczbę konfliktów i utrudnić ustalenie, które konto powinno otrzymywać bilety.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę