SPN – Service Principal Name

Mit dem Werkzeug “Setspn.exe” lassen sich Service Principal Names (SPN’s) für Active Directory-Konten definieren. Das ist erforderlich, wenn ein Dienst mit Kerberos-Unterstützung im Kontext eines Benutzerkontos und nicht des lokalen Systemkontos ausgeführt wird. Je nach Szenario ist es notwendig einzelne Service Principal Names (SPN’s) zu setzen.

Die grundlegende Syntax des Service Principal Name(SPN) lautet wie folgt:

< service type >/< instance name >:< port number >/< service name >

Setzen von SPN

Beim Einsatz von mehreren Servern (z.B. bei Load Balancing Infrastsrukturen) muss der SPN mittels dem entsprechenden Serviceaccount vorgenommen werden. Relevanter  Serviceaccount: Application Pool Account im IIS. D.h. die Webapplication muss in diesem Fall auf allen Server unter dem gleichen Application Pool Account laufen. Das Setzen des SPN erlaubt es dem Benutzer im Kontext eines anderen AD Accounts auf verschiedene Ressourcen zuzugreifen.

Beispiel für eine Webapplikation:

setspn –a http/webUrl Domain\DienstKontoName

Wird nur ein einzelner Server als Webserver benutzt kann der SPN auch auf dem Computer/Servername eingetragen werden. In diesem Fall läuft die Webapplikation bzw. der entsprechende Application Pool unter dem LocalSystem Account.

Beispiel: Setspn -a http/kerbweb.contoso.com ServerName

Auflisten von SPN (Listbefehl)

Mit dem Befehl setspn -l ServiceAccount werden alls SPN’s zum entsprechenden Active Directory Objekt aufgelistet.