DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 909801 - Dernière mise à jour: lundi 2 octobre 2006 - Version: 2.3

 

Sommaire

INTRODUCTION

Cet article explique comment pour vous assurer que vous utilisez l'authentification Kerberos comme une méthode d'authentification Microsoft Windows lorsque vous créez une connexion à distance à une instance de Microsoft SQL Server 2005.

Plus d'informations

SQL Server 2005 prend en charge l'authentification Kerberos indirectement via le Windows prise en charge interface SSPI (Security Provider) lorsque vous utilisez l'authentification intégrée de Windows au lieu de l'authentification SQL. Toutefois, SQL Server va utiliser uniquement l'authentification Kerberos dans certaines circonstances lorsque SQL Server peut utilisez SSPI pour négocier le protocole d'authentification à utiliser. Si SQL Server ne peut pas utiliser Kerberos l'authentification, Windows va utiliser NTLM l'authentification. Pour des raisons de sécurité, nous vous recommandons d'utiliser l'authentification Kerberos au lieu de l'authentification NTLM. Les administrateurs et les utilisateurs doivent savoir comment assurez-vous qu'ils utilisez l'authentification Kerberos pour les connexions distantes.

Pour utiliser l'authentification Kerberos, vous devez Assurez-vous que toutes les conditions suivantes sont remplies :
  • Le serveur et les ordinateurs clients doivent être membres du même domaine de Windows ou des membres de domaines approuvés.
  • Nom principal de service du serveur (SPN) doit être enregistré dans le service d'annuaire Active Directory.
  • L'instance de SQL Server 2005 doit activer le protocole TCP/IP protocole.
  • Le client doit se connecter à l'instance de SQL Server 2005 à l'aide du protocole TCP/IP. Par exemple, vous pouvez placer le protocole TCP/IP en haut de la commande de protocole du client. Ou vous pouvez ajouter le préfixe « tcp: » dans la chaîne de connexion permet de spécifier que la connexion utilise le protocole TCP/IP.

Comment enregistrer un nom principal de service dans un domaine

Lorsque vous vous inscrivez un SPN pour un service de SQL Server, vous créez essentiellement un mappage entre un nom principal de service et le Windows compte qui a démarré le service d'instance de serveur.

Vous devez enregistrer le nom principal de service car le client doit utiliser un SPN enregistré pour vous connecter à l'instance de serveur. Le nom principal de service est composée à l'aide nom de l'ordinateur ’s le serveur et le port TCP/IP. Si vous n'enregistrez pas le nom principal de service, le SSPI ne peut pas déterminer le compte associé avec le nom principal de service. Par conséquent, l'authentification Kerberos n'est pas utilisable.

Lorsque SQL Server s'exécute sous le compte système local ou sous un compte d'administrateur de domaine, l'instance inscrire automatiquement le nom principal de service dans le format suivant au démarrage de l'instance :
FQDN : tcpport
note FQDN est le nom de domaine pleinement qualifié du serveur. tcpport est le numéro de port TCP/IP.

Parce que le numéro de port TCP est inclus dans le nom principal de service, SQL Server doit activer le protocole TCP/IP pour un utilisateur à se connecter à l'aide de l'authentification Kerberos. Les mêmes règles s'appliquent des configurations en clusters. En outre, si l'instance enregistrée automatiquement un nom principal de service au démarrage de l'instance, le nom principal de service sera annulé automatiquement lorsque l'instance s'arrête.

Seul un compte d'administrateur de domaine ou le compte système local possède les autorisations requises enregistrer un nom principal de service. Par conséquent, si le service SQL Server est démarré sous un compte non administrateur, SQL Server ne peut pas enregistrer le nom SPN pour l'instance. Ce problème n'empêchera pas l'instance de démarrage. Toutefois, le message suivant sera enregistré dans le journal Applications du journal des événements de Windows :

Type d'événement : informations
Source de l'événement : MSSQL $ InstanceName
Catégorie d'événement: (2)
L'ID d'événement : 26037
Date : Date
Heure : Time
Utilisateur: n / A
Ordinateur : ComputerName
Description :
La bibliothèque SQL Network Interface Impossible d'inscrire le nom principal service (SPN) pour le service SQL Server. Erreur : 0x54b. Échec d'inscrire un nom principal de service peut entraîner intégrée l'authentification revenir à NTLM au lieu de Kerberos. Ceci est un message d'information. Action supplémentaire n'est obligatoire si Kerberos authentification est requise par les stratégies d'authentification.
Pour plus d'informations, voir le Centre d'aide et de support à l'adresse suivante : http://support.microsoft.com.

Si ce message est enregistré, vous devez enregistrer manuellement le nom SPN pour l'instance sous un compte d'administrateur de domaine pour utiliser l'authentification Kerberos. Pour enregistrer le nom principal de service, vous pouvez utiliser l'outil SetSPN.exe qui est inclus dans le Kit de ressources Microsoft Windows 2000 Server. Cet outil est également inclus dans les outils de support de Microsoft Windows Server 2003. Les outils de support Windows Server 2003 sont inclus dans Microsoft Windows Server 2003 Service Pack 1 (SP1).

Pour plus d'informations sur la façon d'obtenir les outils de support Windows Server 2003 Service Pack 1, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
892777  (http://support.microsoft.com/kb/892777/ ) Outils de support de Windows Server 2003 Service Pack 1
Vous pouvez utiliser une commande semblable au suivant pour enregistrer un SPN pour une instance :
<computername> SetSPN –A MSSQLSvc/<nom_ordinateur>. <domainname> : 1433 <accountname>
note Si un nom principal de service existe déjà, vous devez supprimer le nom principal de service avant de vous pouvez le réenregistrer. Vous devrez peut-être faire si le mappage de compte a été modifié. Supprimé un SPN existant, vous pouvez utiliser l'outil SetSPN.exe avec le commutateur - D .

Comment s'assurer que vous utilisez l'authentification Kerberos

Après que vous connecté à une instance de SQL Server 2005, exécutez l'instruction Transact-SQL suivante dans SQL Server Management Studio :
select auth_scheme from sys.dm_exec_connections where session_id=@@spid
si SQL Server utilise l'authentification Kerberos, une chaîne de caractères qui est répertoriée comme « KERBEROS » apparaît dans la colonne auth_scheme dans la fenêtre Résultat.

Références

Pour plus d'informations, consultez les rubriques suivantes dans documentation en ligne de Microsoft SQL Server 2005 :
  • L'inscription de nom principal de service
  • Comment faire pour activer l'authentification Kerberos y compris SQL Server clusters de serveurs virtuels sur le serveur

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
Mots-clés : 
kbmt kbsql2005connect kbinfo KB909801 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 909801  (http://support.microsoft.com/kb/909801/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store