Un SPN (Service Principal Name) est un identifiant utilisé par Kerberos pour associer un service réseau au compte Active Directory qui l’exécute. Il permet aux clients de demander un ticket pour la bonne identité de service et doit rester cohérent et unique afin d’éviter les erreurs d’authentification Kerberos.
Définition simple
Un identifiant qui associe un service réseau à un compte Active Directory.
SPN Active Directory : réponse rapide
Un SPN, Service Principal Name, associe une instance de service à un compte Active Directory afin que Kerberos puisse demander le ticket correspondant. Un SPN manquant, dupliqué ou porté par le mauvais compte peut provoquer un repli NTLM ou un échec Kerberos.
Points à retenir
- Utilisez setspn -Q pour rechercher un SPN précis et setspn -X pour détecter les doublons.
- Le SPN doit être porté par le compte réellement utilisé par le service : compte ordinateur, compte utilisateur ou compte de service selon le cas.
- Avant de modifier un SPN, identifiez le service, son nom DNS réellement utilisé par les clients et le compte sous lequel il s’exécute.
Questions fréquentes
À quoi sert un SPN avec Kerberos ?
Il permet au KDC d’identifier le compte auquel appartient le service demandé et d’émettre le ticket de service approprié.
Un doublon de SPN peut-il casser Kerberos ?
Oui. Kerberos doit pouvoir résoudre un SPN de manière non ambiguë ; un doublon est une cause classique d’échec d’authentification.
Pour aller plus loin
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 : les comportements et commandes précises peuvent varier selon les versions, produits et architectures.
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.