Un SPN identifie de manière unique une instance de service auprès de Kerberos dans un domaine Active Directory.
Définition simple
Le Service Principal Name associe un nom de service, souvent sous la forme service/hôte, à un compte AD. Les doublons et associations incorrectes provoquent des échecs Kerberos ; setspn permet de les examiner avec les droits adaptés.
Définition technique
Service Principal Name permet à Kerberos d’identifier le compte sous lequel un service s’exécute.
À quoi cela sert ?
Permettre l’authentification Kerberos vers SQL, HTTP, CIFS ou d’autres services.
Exemple concret
Un service SQL peut avoir un SPN MSSQLSvc/serveur:1433 associé à son compte de service.
Comment vérifier un SPN dans Active Directory ?
Dans Active Directory, un Service Principal Name associe une instance de service au compte sous lequel elle s’exécute afin que Kerberos puisse demander un ticket pour la bonne identité. Le SPN doit correspondre au nom réellement utilisé par le client et rester unique dans la forêt.
Pour inventorier les SPN d’un compte, utilisez setspn -L COMPTE. Pour rechercher un SPN précis, setspn -Q <SPN> évite de créer un doublon.
Problèmes fréquents
setspn -X recherche les SPN dupliqués. Un doublon peut empêcher Kerberos de déterminer le bon compte de service. Avant de supprimer ou déplacer une entrée, identifiez le service qui l’utilise, le compte qui l’exécute et les alias DNS employés par les clients.
- Rechercher le SPN exact avec setspn -Q.
- Comparer les comptes retournés.
- Valider le FQDN ou alias utilisé par le client.
- Ne corriger qu’après avoir identifié le propriétaire légitime.
Comment valider Kerberos après une correction SPN ?
Après correction, purgez uniquement les tickets nécessaires ou ouvrez une nouvelle session de test, puis vérifiez Kerberos avec klist. Si l’authentification échoue encore, contrôlez DNS, synchronisation de l’heure, nom utilisé par le client et délégation éventuelle. Un SPN correct ne corrige pas une résolution DNS incohérente ni une horloge hors tolérance.
Termes associés
À retenir : un SPN lie un nom de service à un compte Active Directory ; les SPN manquants ou dupliqués peuvent empêcher l’authentification Kerberos.
FAQ — SPN et Kerberos
Un SPN doit-il être unique ?
Oui pour une instance de service donnée : un même SPN enregistré sur plusieurs comptes peut provoquer des échecs Kerberos.
Quelle différence entre setspn -Q et setspn -X ?
-Q recherche une valeur SPN précise ; -X recherche les doublons dans l’annuaire.
Pourquoi Kerberos échoue avec un SPN apparemment correct ?
Le client peut utiliser un autre nom, DNS ou l’heure peuvent être incorrects, ou le service peut s’exécuter sous un compte différent de celui attendu.