Vue d’ensemble du Gestionnaire de configuration Kerberos pour SQL Server
S'applique à : SQL Server
Numéro de base de connaissances d’origine : 2985455
Une configuration Kerberos incorrecte dans votre réseau peut entraîner diverses erreurs de connectivité dans Microsoft SQL Server. Kerberos Configuration Manager pour SQL Server est un outil de diagnostic qui vous aide à résoudre les problèmes de connectivité liés à Kerberos qui affectent SQL Server, SQL Server Reporting Services (SSRS) et SQL Server Analysis Services (SSAS). Cet article fournit des informations sur l’utilisation de l’outil Kerberos Configuration Manager et sur l’interprétation de la sortie de l’outil pour résoudre les problèmes Kerberos qui affectent SQL Server.
Note
Kerberos Configuration Manager est fourni tel quel et aucun support technique ni mise à jour n’est proposé pour celui-ci. Il n’a pas été mis à jour pour utiliser SQL Server 2022 et versions ultérieures du fournisseur WMI. Pour résoudre et diagnostiquer les problèmes de configuration Kerberos liés à SQL Server, consultez SQLCheck.
Fonctions du Gestionnaire de configuration Kerberos
Kerberos Configuration Manager peut effectuer les tâches suivantes :
- Collectez des informations sur le système d’exploitation, les instances Microsoft SQL Server et les écouteurs de groupe de disponibilité Always On installés sur un serveur.
- Signalez tous les noms de principal de service (SPN) et les configurations de délégation sur le serveur.
- Identifiez les problèmes potentiels dans les noms de service et les délégations.
- Corrigez les problèmes potentiels de SPN.
Scénarios d’usage
Cet outil vous aide à résoudre les exceptions suivantes :
- 401
Remarque : Ce message d’erreur concerne les erreurs HTTP, les erreurs SSRS et d’autres erreurs similaires.
- Impossible de générer le contexte SSPI
- Échec de la connexion pour l’utilisateur « NTAUTHORITY\ANONYMOUS LOGON »
- Échec de la connexion pour l’utilisateur « (null) »
- Échec de la connexion pour l’utilisateur (vide)
Note
Avant de commencer à résoudre les problèmes, nous vous recommandons de passer en revue les conditions préalables, puis de passer en revue la liste de contrôle générale pour résoudre les erreurs liées à la connectivité.
Note
Si vous avez un accès administrateur à votre ordinateur SQL Server, vous pouvez également exécuter l’outil de vérification des paramètres de connectivité SQL sur cet ordinateur, puis passer en revue la sortie pour vérifier la configuration spN de votre instance SQL Server.
Téléchargement de l’outil
Cet outil est disponible en téléchargement à partir du Centre de téléchargement Microsoft :
Gestionnaire de configuration Microsoft Kerberos pour SQL Server
Note
Vous pouvez télécharger et installer l’outil sur n’importe quel ordinateur de votre domaine qui peut se connecter à l’ordinateur SQL Server.
autorisations
Pour résoudre les problèmes de connectivité qui affectent SQL, SSRS et SSAS, connectez-vous à l’ordinateur de destination (qui héberge le service) à l’aide d’un compte d’utilisateur de domaine disposant d’autorisations d’administration pour cet ordinateur.
Facultatif : si vous souhaitez utiliser l’outil pour résoudre les problèmes de nom de principal du service identifiés par l’outil, le compte de domaine doit disposer de l’autorisation d’écriture validée sur le nom du principal de service.
Utilisation de l’outil
Une fois l’installation terminée, démarrez le fichier binaire KerberosConfigMgr.exe en accédant au dossier d’installation. Par défaut, l’emplacement est C :\Program Files\Microsoft\Kerberos Configuration Manager pour SQL Server.
Pour plus d’informations sur le démarrage d’une application en tant qu’administrateur ou d’un autre utilisateur, consultez Utiliser l’exécution pour démarrer une application en tant qu’administrateur.
Utilisez l’une des options suivantes pour démarrer la résolution des problèmes :
Pour vous connecter à un ordinateur SQL Server distant, entrez les valeurs appropriées pour le nom du serveur, le nom d’utilisateur de domaine et le mot de passe.
Note
L’outil Kerberos Configuration Manager utilise une API Windows pour interroger et afficher des informations sur la configuration Kerberos pour l’ordinateur SQL Server. Par conséquent, entrez toujours le nom de l’ordinateur qui héberge l’instance SQL Server, même si vous résolvez les problèmes liés à Kerberos pour une instance nommée.
Pour vous connecter à un serveur local, sélectionnez Se connecter pour analyser votre configuration Kerberos. Dans ce cas, vous n’avez pas besoin de spécifier le nom du serveur, le nom de domaine ou le mot de passe.
Note
Le compte qui démarre l’outil doit être un compte d’administrateur local. Pour plus d’informations sur le démarrage d’une application en tant qu’administrateur ou d’un autre utilisateur, consultez Utiliser l’exécution pour démarrer une application en tant qu’administrateur.
Une fois la connexion établie, tous les SPN associés sont affichés dans la capture d’écran suivante.
Dans cette capture d’écran, l’interface utilisateur comporte les onglets suivants :
Système : affiche les informations utilisateur et les informations de l’ordinateur.
SPN : affiche les informations du nom de principal du service (SPN) sur chacune des instances SQL Server trouvées sur le serveur cible et fournit des détails tels que le SPN requis et son état.
Générer : vous aide à trouver des noms de principal de service manquants et configurés. Il vous aide également à générer le script de génération SPN.
- Sélectionnez Générer.
- Dans la boîte de dialogue qui s’ouvre, indiquez un nom (dans ce cas, « generateSPNs »), définissez le type Enregistrer sous comme fichier Kerberos Config Mgr(.cmd), puis sélectionnez Enregistrer.
Le fichier generateSPNss.cmd est créé et vous pouvez exécuter ce fichier à l’invite de commandes. Le contenu du fichier generateSPNss.cmd ressemble à l’exemple suivant :
:: This script is generated by the Microsoft® SQL Server® Kerberos Configuration Manager tool.
:: The script may update the system information, SPN settings and Delegation configurations of a given server.
:: SPN and Delegation configuration updates require Windows Domain Administrator permission to execute.
:: A Domain Admin should review the configurations recommended by this tool and take appropriate actions to enable Kerberos authentication.
:: Please contact Microsoft Support if Kerberos connection problem persists.
:: The file is intended to be run in domain `<DomainName>.com`"
:: Corrections for MSSQLSvc/`<HostName>.<DomainName>.com` **SetSPN -s MSSQLSvc/`<HostName>`. `<DomainName>`.com UserName**
Utilisez SetSPN pour créer un SPN sous le compte de service pour SQL Server.
Utilisez Correctif pour résoudre les problèmes et ajouter des noms de principal de service. Vous pouvez ajouter un SPN uniquement si vous disposez des autorisations requises. Lorsque vous sélectionnez Corriger, l’info-bulle suivante s’affiche :
Note
L’outil fournit les commandes Fix and Generate uniquement pour les instances par défaut et les instances nommées qui ont des ports statiques. Pour les instances nommées qui utilisent des ports dynamiques, nous vous recommandons de passer de la dynamique aux ports statiques ou de fournir les autorisations nécessaires pour que le compte de service inscrive et annule l’inscription du SPN chaque fois que le service SQL est démarré. Sinon, vous devez annuler manuellement l’inscription et réinscrire les SPN correspondants chaque fois que le service est démarré. Pour plus d’informations, consultez Inscrire un nom de principal du service pour les connexions Kerberos.
Délégation : utilisez la délégation pour identifier les problèmes qui affectent la configuration du compte de service pour la délégation. Cela est particulièrement utile pour résoudre les problèmes liés au serveur lié. Par exemple, si l’extraction spN est correcte, mais que vous rencontrez toujours des problèmes qui affectent les requêtes de serveur lié, cela peut indiquer que le compte de service n’est pas configuré pour déléguer les informations d’identification. Pour plus d’informations, consultez la rubrique en ligne de la documentation en ligne sur la configuration des serveurs liés pour la délégation.
Interprétation et action du diagnostic à partir de Kerberos Configuration Manager
Passez en revue le diagnostic de l’outil en faisant référence à la colonne État . En fonction de l’état, suivez les étapes appropriées pour résoudre le problème.
État - Bon
Plus d’informations : l’élément vérifié est configuré correctement. Accédez à l’élément suivant dans la sortie.
Action : aucune action n’est requise.
État - Le SPN requis est manquant
Informations supplémentaires : cet état est signalé si le nom du principal de service (SPN) mentionné dans la colonne SPN obligatoire est manquant pour le compte de démarrage SQL Server dans Active Directory.
Action : procédez comme suit pour vérifier si les problèmes spN sont résolus :
- Sélectionnez Correctif pour passer en revue les informations de la boîte de dialogue Avertissement .
- Sélectionnez Oui pour ajouter le SPN manquant à Active Directory.
- Si votre compte de domaine dispose des autorisations nécessaires pour mettre à jour Active Directory, le SPN requis est ajouté à Active Directory.
- Si votre compte de domaine n’a pas les autorisations nécessaires pour mettre à jour Active Directory, utilisez Générer ou Générer tout pour générer le script qui aidera l’administrateur Active Directory à ajouter les noms de principal de service manquants.
- Une fois les SPN ajoutés, réexécutez Kerberos Configuration Manager pour vérifier que les problèmes spN sont résolus.
État : TCP doit être activé pour utiliser la configuration Kerberos.
Plus d’informations : cet état s’affiche si TCP n’est pas activé sur l’ordinateur client.
Action : procédez comme suit pour activer le protocole TCP/IP pour l’instance SQL Server :
Dans Gestionnaire de configuration SQL Server - Console, développez la configuration du réseau SQL Server.
Dans la console, sélectionnez Protocoles pour
<instance name>
.Dans Détails, sélectionnez TCP/IP, puis activez.
Dans la console, sélectionnez SQL Server Services.
Dans Détails, sélectionnez SQL Server pour
<instance name>
.Sélectionnez Redémarrer pour arrêter et redémarrer le service SQL Server. Pour plus d’informations, consultez la section Activer ou désactiver un protocole réseau serveur.
État - Port dynamique
Plus d’informations : cet état s’affiche pour les instances nommées qui utilisent des ports dynamiques (configuration par défaut). Dans les environnements où vous devez utiliser Kerberos pour vous connecter à SQL Server, vous devez définir votre instance nommée pour utiliser un port statique et utiliser ce port lorsque vous inscrivez le SPN. Dans le cas contraire, le SPN inscrit dans Active Directory ne sera plus valide la prochaine fois qu’une instance nommée commence à écouter sur un nouveau port autre que celui sous lequel le SPN a été inscrit.
Note
Cette recommandation s’applique uniquement aux environnements qui dépendent de l’inscription manuelle du SPN.
Action : procédez comme suit pour configurer l’instance SQL Server pour utiliser un port statique :
- Dans Gestionnaire de configuration SQL Server - Console, développez Configuration réseau SQL Server, développez Protocoles pour
<instance name>
, puis double-cliquez sur TCP/IP. - Dans propriétés TCP/IP, sélectionnez Écouter tout dans le protocole.
- Si l’option Écouter tout est définie sur Oui, basculez vers les adresses IP et faites défiler jusqu’au bas de la fenêtre pour rechercher le paramètre IPAll .
- Supprimez la valeur actuelle dans les ports dynamiques TCP et entrez un numéro de port dans le port TCP.
- Sélectionnez OK, puis redémarrez l’instance SQL Server. Pour plus d’informations, consultez la section Configurer un serveur pour l’écoute sur un port TCP spécifique.
- Si l’option Écouter tout est définie sur Non, basculez vers les adresses IP et vérifiez chaque adresse IP qui apparaît dans les nœuds IP1 et IP2. Pour les adresses définies sur Activé, supprimez la valeur actuelle dans les ports dynamiques TCP, puis définissez une valeur dans le port TCP.
- Sélectionnez OK, puis redémarrez l’instance SQL Server pour que les paramètres prennent effet. Pour plus d’informations, consultez la section Configurer un serveur pour l’écoute sur un port TCP spécifique.
- Dans Gestionnaire de configuration SQL Server - Console, développez Configuration réseau SQL Server, développez Protocoles pour
État - SpN dupliqué
Plus d’informations : Vous pouvez rencontrer ce scénario si le même SPN est inscrit sous différents comptes dans Active Directory.
Actions : procédez comme suit pour ajouter un SPN à Active Directory :
Sélectionnez Corriger.
Cochez les informations de la boîte de dialogue Avertissement .
Sélectionnez Oui pour ajouter le SPN manquant à Active Directory.
Si votre compte de domaine dispose des autorisations nécessaires pour mettre à jour Active Directory, le spN incorrect est supprimé.
Si votre compte de domaine n’a pas les autorisations nécessaires pour mettre à jour Active Directory, utilisez Générer ou Générer tout pour générer le script nécessaire que vous pouvez fournir à votre administrateur Active Directory pour supprimer les spN dupliqués.
Une fois les SPN supprimés, réexécutez Kerberos Configuration Manager pour vérifier que les problèmes de SPN sont résolus.
Note
Lors du démarrage d’une instance Moteur de base de données SQL Server, SQL Server tente d’inscrire le nom SPN du service SQL Server. Lors de l’arrêt de l’instance, SQL Server tente d’annuler l’inscription du nom SPN. Pour ce faire, le compte de service SQL Server nécessite les autorisations appropriées dans Active Directory. Toutefois, si le compte de service ne dispose pas de ces droits, l’inscription spN automatique n’a pas lieu et vous devez collaborer avec votre administrateur Active Directory pour inscrire ces SPN afin que les instances SQL puissent activer l’authentification Kerberos. Pour plus d’informations, consultez Inscrire un nom de principal du service pour les connexions Kerberos.
Note
Dans les environnements où SQL est en cluster, l’inscription automatique des SPN n’est pas recommandée, car il peut prendre plus de temps pour annuler l’inscription du SPN et réinscrire le SPN dans Active Directory que le temps nécessaire à SQL Server pour qu’il soit en ligne. Si l’inscription spN ne se produit pas dans le temps, cela peut empêcher SQL Server d’être en ligne, car l’administrateur du cluster ne peut pas se connecter à l’instance SQL Server.
Options supplémentaires
Pour générer la liste SPN à partir de la ligne de commande :
Accédez à la ligne de commande.
Note
Pour résoudre le problème de connectivité qui affecte SSRS, ouvrez une fenêtre d’invite de commandes d’administration.
Basculez vers le dossier qui contient KerberosConfigMgr.exe.
Saisissez
KerberosConfigMgr.exe -q -l
.Pour plus d’options de ligne de commande, tapez
KerberosConfigMgr.exe -h
.
Pour enregistrer les informations de configuration Kerberos d’un serveur :
- Connectez-vous au serveur Windows cible.
- Cliquez sur Enregistrer.
- Spécifiez l’emplacement dans lequel vous souhaitez enregistrer le fichier. Il peut s’agir d’un lecteur local ou d’un partage réseau. Le fichier sera enregistré au format .xml .
Pour afficher les informations de configuration Kerberos d’un serveur à partir du fichier enregistré :
- Sélectionnez Charger.
- Ouvrez le fichier XML généré par Kerberos Configuration Manager.
Pour afficher les fichiers journaux de cet outil :
Par défaut, un fichier journal est généré chaque fois que l’application est exécutée dans votre dossier de données d’application : %APPDATA%\Microsoft\KerberosConfigMgr.
Pour obtenir de l’aide, utilisez l’une des méthodes suivantes :
- Placez le pointeur de la souris sur la commande pour générer une info-bulle.
- Exécutez à
KerberosConfigMgr.exe -h
l’invite de commandes. - Sélectionnez le bouton Aide dans la barre d’outils.