Authentification dans SQL ServerAuthentication in SQL Server

SQL Server prend en charge deux modes d'authentification, le mode d'authentification Windows et le mode mixte.SQL Server supports two authentication modes, Windows authentication mode and mixed mode.

  • L'authentification Windows correspond au mode par défaut et il est souvent qualifié de sécurité intégrée car ce modèle de sécurité SQL Server est étroitement intégré à Windows.Windows authentication is the default, and is often referred to as integrated security because this SQL Server security model is tightly integrated with Windows. Des comptes d'utilisateurs et de groupes Windows spécifiques sont approuvés pour se connecter à SQL Server.Specific Windows user and group accounts are trusted to log in to SQL Server. Les utilisateurs Windows qui ont déjà été authentifiés n'ont pas besoin de présenter d'informations d'identification supplémentaires.Windows users who have already been authenticated do not have to present additional credentials.

  • Le mode mixte prend en charge l'authentification par Windows et par SQL Server.Mixed mode supports authentication both by Windows and by SQL Server. Les paires nom d'utilisateur–mot de passe sont conservées dans SQL Server.User name and password pairs are maintained within SQL Server.

Important

Il est recommandé d'utiliser l'authentification Windows chaque fois que possible.We recommend using Windows authentication wherever possible. L'authentification Windows utilise une série de messages chiffrés pour authentifier les utilisateurs dans SQL Server.Windows authentication uses a series of encrypted messages to authenticate users in SQL Server. Lorsque les connexions SQL Server sont utilisées, les noms de connexion SQL Server et les mots de passe chiffrés sont passées via le réseau, ce qui les rend moins sûrs.When SQL Server logins are used, SQL Server login names and encrypted passwords are passed across the network, which makes them less secure.

Avec l'authentification Windows, les utilisateurs ont déjà ouvert une session Windows et n'ont pas besoin d'ouvrir une session SQL Server distincte.With Windows authentication, users are already logged onto Windows and do not have to log on separately to SQL Server. Ce qui suit SqlConnection.ConnectionString Spécifie l’authentification Windows sans obliger les utilisateurs à fournir un nom d’utilisateur ou le mot de passe.The following SqlConnection.ConnectionString specifies Windows authentication without requiring users to provide a user name or password.

"Server=MSSQL1;Database=AdventureWorks;Integrated Security=true;  

Notes

Les connexions sont différentes des utilisateurs de base de données.Logins are distinct from database users. Vous devez mapper les connexions ou les groupes Windows sur les utilisateurs de base de données ou les rôles dans une opération distincte.You must map logins or Windows groups to database users or roles in a separate operation. Vous accordez ensuite des autorisations aux utilisateurs ou aux rôles pour accéder aux objets de base de données.You then grant permissions to users or roles to access database objects.

Scénarios d'authentificationAuthentication Scenarios

L'authentification Windows représente généralement le meilleur choix dans les situations suivantes :Windows authentication is usually the best choice in the following situations:

  • Il existe un contrôleur de domaine.There is a domain controller.

  • L'application et la base de données se trouvent sur le même ordinateur.The application and the database are on the same computer.

  • Vous utilisez une instance de SQL Server Express ou LocalDB.You are using an instance of SQL Server Express or LocalDB.

Les connexions SQL Server sont souvent utilisées dans les situations suivantes :SQL Server logins are often used in the following situations:

  • si vous avez un groupe de travail ;If you have a workgroup.

  • les utilisateurs se connectent à partir de domaines différents, non approuvés ;Users connect from different, non-trusted domains.

  • Applications Internet, tels que ASP.NET.Internet applications, such as ASP.NET.

Notes

La spécification de l'authentification Windows ne désactive pas les connexions SQL Server.Specifying Windows authentication does not disable SQL Server logins. Utilisez l'instruction Transact-SQL ALTER LOGIN DISABLE pour désactiver des connexions SQL Server dotées de privilèges élevés.Use the ALTER LOGIN DISABLE Transact-SQL statement to disable highly-privileged SQL Server logins.

Types de connexionsLogin Types

SQL Server prend en charge trois types de connexions :SQL Server supports three types of logins:

  • Compte d'utilisateur Windows local ou compte de domaine approuvé.A local Windows user account or trusted domain account. SQL Server s'appuie sur Windows pour authentifier les comptes d'utilisateurs Windows.SQL Server relies on Windows to authenticate the Windows user accounts.

  • Groupe Windows.Windows group. Accorder l'accès à un groupe Windows permet d'accorder l'accès à toutes les connexions utilisateur Windows membres du groupe.Granting access to a Windows group grants access to all Windows user logins that are members of the group.

  • Connexion SQL Server.SQL Server login. SQL Server stocke le nom d'utilisateur et un hachage du mot de passe dans la base de données MASTER, en utilisant des méthodes d'authentification internes pour vérifier les tentatives de connexion.SQL Server stores both the username and a hash of the password in the master database, by using internal authentication methods to verify login attempts.

Notes

SQL Server fournit les connexions créées à partir de certificats ou clés asymétriques qui sont utilisés uniquement pour la signature de code.SQL Server provides logins created from certificates or asymmetric keys that are used only for code signing. Elles ne peuvent pas être utilisées pour se connecter à SQL Server.They cannot be used to connect to SQL Server.

Authentification en mode mixteMixed Mode Authentication

Si vous devez utiliser l'authentification en mode mixte, vous devez créer des connexions SQL Server qui sont stockées dans SQL Server.If you must use mixed mode authentication, you must create SQL Server logins, which are stored in SQL Server. Vous devez ensuite fournir le nom d'utilisateur et le mot de passe SQL Server au moment de l'exécution.You then have to supply the SQL Server user name and password at run time.

Important

SQL Server est installé avec une connexion SQL Server nommée sa (abréviation de « system administrator »).SQL Server installs with a SQL Server login named sa (an abbreviation of "system administrator"). Attribuez un mot de passe fort à la connexion sa et n'utilisez pas la connexion sa dans votre application.Assign a strong password to the sa login and do not use the sa login in your application. La connexion sa correspond au rôle serveur fixe sysadmin, qui possède des informations d'identification d'administration irrévocables sur le serveur entier.The sa login maps to the sysadmin fixed server role, which has irrevocable administrative credentials on the whole server. Si un attaquant bénéficie de l'accès en tant qu'administrateur système, les dommages potentiels sont sans limite.There are no limits to the potential damage if an attacker gains access as a system administrator. Tous les membres du groupe BUILTIN\Administrators Windows (groupe des administrateurs locaux) sont membres du rôle sysadmin par défaut, mais peuvent être supprimés de ce rôle.All members of the Windows BUILTIN\Administrators group (the local administrator's group) are members of the sysadmin role by default, but can be removed from that role.

SQL Server fournit des mécanismes de stratégie de mot de passe Windows pour les connexions SQL Server lorsqu’il s’exécute Windows Server 2003Windows Server 2003 ou versions ultérieures.SQL Server provides Windows password policy mechanisms for SQL Server logins when it is running on Windows Server 2003Windows Server 2003 or later versions. Les stratégies de complexité des mots de passe sont conçues pour prévenir les attaques en force brute en augmentant le nombre de mots de passe possibles.Password complexity policies are designed to deter brute force attacks by increasing the number of possible passwords. SQL Server peut appliquer les mêmes stratégies de complexité et d’expiration utilisés dans Windows Server 2003Windows Server 2003 aux mots de passe à l’intérieur de SQL Server.SQL Server can apply the same complexity and expiration policies used in Windows Server 2003Windows Server 2003 to passwords used inside SQL Server.

Important

La concaténation des chaînes de connexion à partir des entrées utilisateur peut vous rendre vulnérable à une attaque par injection de chaîne de connexion.Concatenating connection strings from user input can leave you vulnerable to a connection string injection attack. Utilisez le SqlConnectionStringBuilder pour créer des chaînes de connexion valides du point de vue de la syntaxe au moment de l'exécution.Use the SqlConnectionStringBuilder to create syntactically valid connection strings at run time. Pour plus d’informations, consultez Builders de chaînes de connexion.For more information, see Connection String Builders.

Ressources externesExternal Resources

Pour plus d'informations, voir les ressources ci-dessous.For more information, see the following resources.

RessourceResource DescriptionDescription
PrincipauxPrincipals Décrit les connexions et autres entités de sécurité dans SQL Server.Describes logins and other security principals in SQL Server.

Voir aussiSee also