Sie können ein Benutzerkonto für die Authentifizierung in allen Cluster-Knoten verwenden. Dazu ist es erforderlich, die keytab-Datei, die die Namen des Subjekt-Dienstes (im Weiteren auch "SPN") enthält, für jeden dieser Knoten zu erstellen. Beim Erstellen der keytab-Datei muss ein Attribut für die Generation von Salt (salt, Modifikator der Eingabe der Hash-Funktion) verwendet werden.
Das generierte Salt muss auf eine beliebige geeignete Art und Weise zwecks späteren Hinzufügens von neuen SPN in die keytab-Datei gespeichert werden.
Sie können ebenso ein separates Active Directory-Benutzerkonto für jeden Cluster-Knoten erstellen, für den Sie die Kerberos-Authentifizierung einstellen möchten.
Notwendige Schritte vor dem Erstellen einer Keytab-Datei
Bevor Sie eine Keytab-Datei erstellen, sollten Sie für jeden SPN sicherstellen, dass dieser nicht im Active Directory registriert ist. Um dies zu tun, können Sie den Befehl setspn -Q <SPN>
ausführen, wobei <SPN>
für Folgendes steht: HTTP/<vollständig qualifizierter Domänenname (FQDN) des Cluster-Knotes>@<realm Name der Active Directory–Domäne in Großbuchstaben>
.
Der Befehl sollte die Antwort "No such SPN found"
zurückgeben, was bedeutet, dass dieser SPN nicht registriert ist. Wenn der SPN bereits registriert ist, müssen Sie vor dem Erstellen der Keytab-Datei für den SPN die Bindung zu dem Konto entfernen oder das Active Directory-Konto löschen, an das dieser SPN gebunden war.
Beispiel für die Überprüfung der SPN eines Verwaltungsknotens und zweier untergeordneter Knoten: setspn -Q HTTP/control-01.test.local@TEST.LOCAL setspn -Q HTTP/secondary-01.test.local@TEST.LOCAL setspn -Q HTTP/secondary-02.test.local@TEST.LOCAL |
Das Erstellen der keytab-Datei
Erstellt wird die Keytab-Datei entweder auf dem Server des Domänencontrollers oder auf einem in der Windows-Domäne befindlichen Computer mit Windows Server unter Verwendung eines Benutzerkontos mit der Berechtigung des Domänenadministrators.
Um eine keytab-Datei mithilfe eines Benutzerkonto zu erstellen:
control-user
).control-user
mithilfe des Dienstprogramms ktpass. Führen Sie dazu in der Befehlszeile den folgenden Befehl aus:C:\Windows\system32\ktpass.exe -princ HTTP/<vollständiger Domänenname (FQDN) des Verwaltungsknotens>@<realm Name der Active Directory Domäne in Großbuchstaben> -mapuser control-user@<realm Name der Active Directory Domäne in Großbuchstaben> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <Dateipfad>\<Dateiname>.keytab
Das Dienstprogramm fragt während der Befehlsausführung das Kennwort des Benutzers control-user
ab.
In der erstellten keytab-Datei wird der SPN des Verwaltungsknotens hinzugefügt. Auf dem Bildschirm wird das generierte Salt angezeigt: Hashing password with salt "<Hash-Wert>".
C:\Windows\system32\ktpass.exe -princ HTTP/<vollständiger Domänenname (FQDN) des Knotens>@<realm Name der Active Directory Domäne in Großbuchstaben> -mapuser control-user@<realm Name der Active Directory Domäne in Großbuchstaben> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <Dateipfad und -name der zuvor erstellten Datei>.keytab -out <Dateipfad und neuer Name>.keytab -setupn -setpass -rawsalt "<Hash-Wert des Salz, der bei der Erstellung der keytab-Datei bei Schritt 3 erhalten wurde>"
Das Dienstprogramm fragt während der Befehlsausführung das Kennwort des Benutzers control-user
ab.
Die keytab-Datei wird erstellt. Diese Datei enthält alle hinzugefügten SPN der Cluster-Knoten.
Beispiel: Sie wollen z.B. eine keytab-Datei erstellen, die SPN-Namen von 3 Knoten enthält: Um im Ordner C:\keytabs\ eine Datei mir dem Namen
Angenommen, Sie haben das Salt Um einen weiteren SPN hinzuzufügen, führen Sie folgenden Befehl aus:
Um einen dritten SPN hinzuzufügen, führen Sie folgenden Befehl aus:
Als Ergebnis wird eine Datei mit dem Namen |
Um eine keytab-Datei mithilfe eines separaten Benutzerkontos für jeden Knoten zu erstellen:
control-user
, secondary1-user
, secondary2-user
usw.).control-user
mithilfe des Dienstprogramms ktpass. Führen Sie dazu in der Befehlszeile den folgenden Befehl aus:C:\Windows\system32\ktpass.exe -princ HTTP/<vollständiger Domänenname (FQDN) des Verwaltungsknotens>@<realm Name der Active Directory Domäne in Großbuchstaben> -mapuser control-user@<realm Name der Active Directory Domäne in Großbuchstaben> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <Dateipfad>\<Dateiname>.keytab
Das Dienstprogramm fragt während der Befehlsausführung das Kennwort des Benutzers control-user
ab.
In der erstellten keytab-Datei wird der SPN des Verwaltungsknotens hinzugefügt.
C:\Windows\system32\ktpass.exe -princ HTTP/<vollständiger Domänenname (FQDN) des Knotens>@<realm Name der Active Directory Domäne in Großbuchstaben> -mapuser secondary1-user@<realm Name der Active Directory Domäne in Großbuchstaben> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <Dateipfad und -name der zuvor erstellen Datei>.keytab -out <Dateipfad und neuer Name>.keytab
Das Dienstprogramm fragt während der Befehlsausführung das Kennwort des Benutzers secondary1-user
ab.
Die keytab-Datei wird erstellt. Diese Datei enthält alle hinzugefügten SPN der Cluster-Knoten.
Beispiel: Sie wollen z.B. eine keytab-Datei erstellen, die SPN-Namen von 3 Knoten enthält: Um im Ordner C:\keytabs\ eine Datei mir dem Namen
Um einen weiteren SPN hinzuzufügen, führen Sie folgenden Befehl aus:
Um einen dritten SPN hinzuzufügen, führen Sie folgenden Befehl aus:
Als Ergebnis wird eine Datei mit dem Namen |
Notwendige Schritte nach dem Erstellen einer Keytab-Datei
Nachdem Sie die Keytab-Datei erstellt haben, sollten Sie dies für jeden SPN sicherstellen, dass es registriert und mit dem entsprechenden Konto verbunden ist. Um dies zu tun, können Sie den Befehl setspn -Q <SPN>
ausführen, wobei <SPN>
für Folgendes steht: HTTP/<vollständig qualifizierter Domänenname (FQDN) des Cluster-Knotes>@<realm Name der Active Directory–Domäne in Großbuchstaben>
.
Der Befehl sollte die Antwort "Existing SPN found"
und das Konto zurückgeben, dem der SPN zugeordnet ist.
Darüber hinaus können Sie nach dem Erstellen der Keytab-Datei die SPN-Liste überprüfen, die dem entsprechenden Konto zugeordnet ist. Um dies zu tun, können Sie den Befehl setspn -L <Konto>
ausführen, wobei <Konto>
für Folgendes steht: <Benutzername>@<realm Name der Active Directory-Domäne in Großbuchstaben>
.
Wenn die Keytab-Datei mit einem Konto erstellt wurde, sollte der Befehl eine Liste aller SPN zurückgeben, für die eine Keytab-Datei erstellt wurde. Wenn die Keytab-Datei für jeden Knoten mit einem separaten Konto erstellt wurde, sollte der Befehl einen SPN zurückgeben, der einem bestimmten Konto zugeordnet ist.
Beispiel des Befehls für ein Konto: setspn -L control-user@TEST.LOCAL Beispiel der Befehle für separate Konten für jeden Knoten: setspn -L control-user@TEST.LOCAL setspn -L secondary1-user@TEST.LOCAL setspn -L secondary2-user@TEST.LOCAL |