Ich habe jetzt ein paar Mal mit Namen von Dienstprinzipien gerungen und die Microsoft-Erklärung ist einfach nicht ausreichend. Ich konfiguriere eine IIS-Anwendung für die Arbeit in unserer Domäne und es sieht so aus, als ob einige meiner Probleme mit meiner Notwendigkeit zusammenhängen, http-spezifische SPNs auf dem Windows-Dienstkonto zu konfigurieren, auf dem der Anwendungspool ausgeführt wird, der meine Site hostet .
All dies hat mich zu der Erkenntnis gebracht, dass ich die Beziehung zwischen Diensttypen (MSSQL, http, Host, Termsrv, Wsman usw.), Kerberos-Authentifizierung, Active Directory-Computerkonten (PCName $), Windows-Dienstkonten und SPNs nicht vollständig verstehe und das Benutzerkonto, mit dem ich versuche, auf einen Dienst zuzugreifen.
Kann jemand bitte Windows Service Principle Names (SPNs) erklären, ohne die Erklärung zu vereinfachen?
Bonuspunkte für eine kreative Analogie, die bei einem mäßig erfahrenen Systemadministrator / Entwickler Anklang findet.
quelle
Antworten:
Ein Dienstprinzipalname ist ein Konzept von
Kerberos
. Dies ist eine Kennung für einen bestimmten Dienst, der von einem bestimmten Host innerhalb einer Authentifizierungsdomäne angeboten wird. Die gebräuchliche Form für SPNs istservice class
/fqdn
@REALM
(zBIMAP/[email protected]
). Es gibt auch Benutzerprinzipalnamen, die Benutzer in Form vonuser
@REALM
(oderuser1
/user2
@REALM
, die eine für eine Beziehung sprechende Beziehung angeben) identifizieren . Dasservice class
kann locker als das Protokoll für den Dienst angesehen werden. Die Liste der in Windows integrierten Dienstklassen finden Sie in diesem Artikel von Microsoft .Jeder SPN muss im registriert werden
REALM
‚s Key Distribution Center ein (KDC) und ausgegebenen Dienstschlüssel . Dassetspn.exe
Dienstprogramm, das im\Support\Tools
Ordner auf dem Windows-Installationsmedium oder als Resource Kit-Download verfügbar ist, bearbeitet die Zuweisung von SPNs an Computer oder andere Konten im AD.Wenn ein Benutzer auf einen Dienst zugreift, der Kerberos zur Authentifizierung verwendet (ein "Kerberized" -Dienst), wird ein verschlüsseltes Ticket angezeigt, das von KDC (in einer Windows-Umgebung ein Active Directory-Domänencontroller) bezogen wurde. Das Ticket wird mit dem Serviceschlüssel verschlüsselt . Durch die Entschlüsselung des Tickets bestätigt der Dienst, dass er den Schlüssel für den angegebenen SPN besitzt. Dienste, die auf Windows-Hosts ausgeführt werden, verwenden den mit dem AD-Computerkonto verknüpften Schlüssel. Um jedoch den Kerberos-Protokoll-SPNs zu entsprechen, müssen Sie dem Active Directory für jeden kerberisierten Dienst, der auf dem Host ausgeführt wird, hinzufügen - mit Ausnahme der oben genannten integrierten SPNs. Im Active Directory werden die SPNs im
servicePrincipalName
Attribut des Computerobjekts des Hosts gespeichert .Weitere Informationen finden Sie in: Microsoft TechNet-Artikel zu SPN , Ken Hornsteins Kerberos-FAQ
quelle
Die Antwort von yarek war großartig und ich habe sie positiv bewertet, aber ich wollte Ihnen auch ein bisschen mehr Windows-spezifische Informationen zum Thema geben, oder eher aus der Perspektive von jemandem, der mit AD besser vertraut ist als nur Kerberos im Allgemeinen denn das ist ein thema, das mich sehr interessiert.
Ich hatte das Gefühl, dass dieser Typ eine hervorragende Erklärungsarbeit geleistet hat, und ich empfehle Ihnen, seinen Artikel zu lesen, aber hier ist ein besonders prägnanter Absatz zu Ihrer Frage:
Der gesamte Artikel ist hier zu finden: http://blogs.technet.com/b/askds/archive/2008/03/06/kerberos-for-the-busy-admin.aspx
quelle