Vous pouvez utiliser un seul compte pour vous authentifier auprès de tous les nœuds de cluster. Il faut créer pour cela un fichier keytab contenant les noms du sujet-service (ci-après « SPN ») pour chacun de ces nœuds. Lors de la création d'un fichier keytab, vous devrez utiliser un attribut pour générer le sel (salt, modificateur d'entrée de la fonction de hachage).
Le sel généré doit être sauvegardé de n'importe quelle manière pratique pour l'ajout ultérieur de nouveaux SPN au fichier keytab.
Vous pouvez également créer un compte Active Directory distinct pour chaque nœud de cluster pour lequel vous souhaitez configurer l'authentification Kerberos.
Actions avant la création d'un fichier keytab
Avant de créer un fichier keytab, vous devez vous assurer pour chaque SPN qu'il n'est pas enregistré dans Active Directory. Vous pouvez le faire en utilisant la commande setspn -Q <SPN>
, où <SPN>
a la forme suivante : HTTP/<nom de domaine complet (FQDN) du nœud du cluster>@<realm nom de domaine Active Directory en majuscules>
.
La commande doit renvoyer la réponse "No such SPN found"
, ce qui signifie que ce SPN n'est pas enregistré. Si le SPN est déjà enregistré, avant de créer le fichier keytab, vous devez supprimer la liaison du SPN au compte ou supprimer le compte Active Directory auquel ce SPN était lié.
Exemple de vérification du SPN pour un Nœud primaire ou deux Nœuds secondaires : 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 |
Création du fichier keytab
Le fichier keytab est créé sur un serveur du contrôleur de domaine ou sur un ordinateur Windows Server joint à un domaine sous un compte disposant de privilèges d'administrateur du domaine.
Pour créer un fichier keytab à l'aide d'un seul compte, procédez comme suit :
control-user
).control-user
à l'aide de l'utilitaire ktpass. Pour ce faire, saisissez la commande suivante :C:\Windows\system32\ktpass.exe -princ HTTP/<nom de domaine complet (FQDN) du Nœud maître>@<realm nom du domaine Active Directory en majuscules> -mapuser control-user@<realm nom du domaine Active Directory en majuscules> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <chemin d'accès au fichier>\<nom du fichier>.keytab
L'utilitaire demande le mot de passe de l'utilisateur control-user
lors de l'exécution de la commande.
Le SPN du Nœud maître est ajouté au fichier keytab créé. Le sel généré s'affichera à l'écran : Hashing password with salt "<valeur de hachage>".
C:\Windows\system32\ktpass.exe -princ HTTP/<nom de domaine complet (FQDN) du nœud>@<realm nom du domaine Active Directory en majuscules> -mapuser control-user@<realm nom du domaine Active Directory en majuscules> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <nom du fichier précédemment créé et chemin d'accès à celui-ci>.keytab -out <chemin d'accès et nouveau nom>.keytab -setupn -setpass -rawsalt "<valeur de hash du sel obtenue en créant le fichier keytab à l'étape 3>"
L'utilitaire demande le mot de passe de l'utilisateur control-user
lors de l'exécution de la commande.
Le fichier keytab est créé. Ce fichier contiendra tous les SPN ajoutés des nœuds du cluster.
Exemple : Par exemple, vous voulez créer un fichier keytab contenant les noms SPN de 3 nœuds : Pour créer le fichier nommé
Imaginons que vous ayez reçu le sel Pour ajouter un autre SPN, vous devez exécuter la commande suivante :
Pour ajouter un troisième SPN, vous devez exécuter la commande suivante :
Cette opération aura pour résultat la création d'un fichier nommé |
Pour créer un fichier keytab à l'aide d'un compte distinct pour chaque nœud, procédez comme suit :
control-user
, secondary1-user
, secondary2-user
, etc.).control-user
à l'aide de l'utilitaire ktpass. Pour ce faire, saisissez la commande suivante :C:\Windows\system32\ktpass.exe -princ HTTP/<nom de domaine complet (FQDN) du Nœud maître>@<realm nom du domaine Active Directory en majuscules> -mapuser control-user@<realm nom du domaine Active Directory en majuscules> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <chemin d'accès au fichier>\<nom du fichier>.keytab
L'utilitaire demande le mot de passe de l'utilisateur control-user
lors de l'exécution de la commande.
Le SPN du Nœud maître est ajouté au fichier keytab créé.
C:\Windows\system32\ktpass.exe -princ HTTP/<om de domaine complet (FQDN) du nœud>@<realm nom du domaine Active Directory en majuscules> -mapuser secondary1-user@<realm nom du domaine Active Directory en majuscules> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <nom du fichier précédemment créé et chemin d'accès à celui-ci>.keytab -out <chemin d'accès et nouveau nom>.keytab
L'utilitaire demande le mot de passe de l'utilisateur secondary1-user
lors de l'exécution de la commande.
Le fichier keytab est créé. Ce fichier contiendra tous les SPN ajoutés des nœuds du cluster.
Exemple : Par exemple, vous voulez créer un fichier keytab contenant les noms SPN de 3 nœuds : Pour créer le fichier nommé
Pour ajouter un autre SPN, vous devez exécuter la commande suivante :
Pour ajouter un troisième SPN, vous devez exécuter la commande suivante :
Cette opération aura pour résultat la création d'un fichier nommé |
Actions après la création d'un fichier keytab
Après avoir créé le fichier keytab, vous devez vous assurer de chaque SPN, qu'il est enregistré et lié au compte approprié. Vous pouvez le faire en utilisant la commande setspn -Q <SPN>
, où <SPN>
a la forme suivante : HTTP/<nom de domaine complet (FQDN) du nœud du cluster>@<realm nom de domaine Active Directory en majuscules>
.
La commande doit renvoyer la réponse "Existing SPN found"
et le compte auquel le SPN est lié.
De plus, après avoir créé le fichier keytab, vous pouvez vérifier la liste SPN associée au compte correspondant. Vous pouvez le faire en utilisant la commande setspn -L <account>
, où <account>
a la forme suivante : <nom d'utilisateur>@<realm nom de domaine Active Directory en majuscules>
.
Si le fichier keytab a été créé avec un seul compte, la commande doit renvoyer une liste de tous les SPN pour lesquels le fichier keytab a été créé. Si le fichier keytab est créé avec des comptes distincts pour chaque nœud, la commande doit renvoyer un SPN lié à un compte spécifique.
Exemple de la commande pour un compte : setspn -L control-user@TEST.LOCAL Exemple de la commande pour des comptes distincts pour chaque nœud : setspn -L control-user@TEST.LOCAL setspn -L secondary1-user@TEST.LOCAL setspn -L secondary2-user@TEST.LOCAL |