Serveur et rôles de base de données dans SQL ServerServer and Database Roles in SQL Server

Toutes les versions de SQL Server utilisent la sécurité basée sur les rôles, qui vous permet d'attribuer des autorisations à un rôle ou à un groupe d'utilisateurs au lieu de les attribuer à des utilisateurs individuels.All versions of SQL Server use role-based security, which allows you to assign permissions to a role, or group of users, instead of to individual users. Les rôles serveur fixes et de base de données fixes possèdent un ensemble fixe d'autorisations qui leur sont attribuées.Fixed server and fixed database roles have a fixed set of permissions assigned to them.

Rôles serveur fixesFixed Server Roles

Les rôles serveur fixes disposent d'un ensemble fixe d'autorisations et d'une portée à l'échelle du serveur.Fixed server roles have a fixed set of permissions and server-wide scope. Ils sont destinés à être utilisés pour administrer SQL Server et les autorisations qui leur sont attribuées ne peuvent pas être modifiées.They are intended for use in administering SQL Server and the permissions assigned to them cannot be changed. Des connexions peuvent être attribuées aux rôles serveur fixes sans qu'un compte d'utilisateur figure dans une base de données.Logins can be assigned to fixed server roles without having a user account in a database.

Important

Le rôle serveur fixe sysadmin englobe tous les autres rôles et a une portée illimitée.The sysadmin fixed server role encompasses all other roles and has unlimited scope. N'ajoutez pas de principaux à ce rôle à moins qu'ils soient dotés d'une confiance très élevée.Do not add principals to this role unless they are highly trusted. Les membres du rôle sysadmin possèdent des privilèges d'administrateur irrévocables sur toutes les bases de données et ressources de serveur.sysadmin role members have irrevocable administrative privileges on all server databases and resources.

Soyez sélectif lors de l'ajout d'utilisateurs à des rôles serveur fixes.Be selective when you add users to fixed server roles. Par exemple, le rôle bulkadmin permet aux utilisateurs d'insérer le contenu d'un fichier local quelconque dans une table, ce qui peut mettre en danger l'intégrité des données.For example, the bulkadmin role allows users to insert the contents of any local file into a table, which could jeopardize data integrity. Pour obtenir la liste complète des rôles serveur fixes et des autorisations, consultez la documentation en ligne de SQL Server.See SQL Server Books Online for the complete list of fixed server roles and permissions.

Rôles de base de données fixesFixed Database Roles

Les rôles de base de données fixes possèdent un ensemble prédéfini d'autorisations conçues pour vous permettre de gérer aisément des groupes d'autorisations.Fixed database roles have a pre-defined set of permissions that are designed to allow you to easily manage groups of permissions. Les membres du rôle db_owner peuvent effectuer toutes les activités de configuration et de maintenance sur la base de données.Members of the db_owner role can perform all configuration and maintenance activities on the database.

Pour plus d'informations sur les rôles prédéfinis de SQL Server, consultez les ressources répertoriées ci-dessous.For more information about SQL Server predefined roles, see the following resources.

RessourceResource DescriptionDescription
Rôles au niveau du serveurServer-Level Roles Décrit les rôles serveur fixes et les autorisations qui s’y rapportent dans SQL Server.Describes fixed server roles and the permissions associated with them in SQL Server.
Rôles au niveau de la base de donnéesDatabase-Level Roles Décrit les rôles de base de données fixes et les autorisations qui leur sont attribuéesDescribes fixed database roles and the permissions associated with them

Rôles de base de données et utilisateursDatabase Roles and Users

Les connexions doivent être mappées sur des comptes d'utilisateur de base de données afin de fonctionner avec des objets de base de données.Logins must be mapped to database user accounts in order to work with database objects. Les utilisateurs de base de données peuvent alors être ajoutés à des rôles de base de données et héritent de tous les jeux d'autorisations associés à ces rôles.Database users can then be added to database roles, inheriting any permission sets associated with those roles. Toutes les autorisations peuvent être accordées.All permissions can be granted.

Vous devez également prendre en compte le rôle public, le compte d'utilisateur dbo et le compte guest lors de la conception de la sécurité pour votre application.You must also consider the public role, the dbo user account, and the guest account when you design security for your application.

Rôle publicThe public Role

Le rôle public est inclus dans chaque base de données, y compris les bases de données système.The public role is contained in every database, which includes system databases. Il ne peut pas être supprimé et vous ne pouvez pas ajouter ni supprimer d’utilisateurs dans ce rôle.It cannot be dropped and you cannot add or remove users from it. Les autorisations accordées au rôle public sont héritées par tous les autres utilisateurs et rôles car ils appartiennent par défaut au rôle public.Permissions granted to the public role are inherited by all other users and roles because they belong to the public role by default. Accordez au rôle public uniquement les autorisations que vous souhaitez accorder à tous les utilisateurs.Grant public only the permissions you want all users to have.

Compte d'utilisateur dboThe dbo User Account

Le compte dbo, ou propriétaire de base de données, est un compte d'utilisateur qui possède des autorisations implicites pour effectuer toutes les activités dans la base de données.The dbo, or database owner, is a user account that has implied permissions to perform all activities in the database. Les membres du rôle serveur fixe sysadmin sont automatiquement mappés sur dbo.Members of the sysadmin fixed server role are automatically mapped to dbo.

Notes

dbo est également le nom d’un schéma, comme indiqué dans propriété et séparation utilisateur-schéma dans SQL Server.dbo is also the name of a schema, as discussed in Ownership and User-Schema Separation in SQL Server.

Le compte d'utilisateur dbo est fréquemment confondu avec le rôle de base de données fixe db_owner.The dbo user account is frequently confused with the db_owner fixed database role. La portée de db_owner est une base de données, tandis que la portée de sysadmin est le serveur dans son intégralité.The scope of db_owner is a database; the scope of sysadmin is the whole server. L'appartenance au rôle db_owner ne confère pas les privilèges d'utilisateur dbo.Membership in the db_owner role does not confer dbo user privileges.

Compte d'utilisateur guestThe guest User Account

Une fois qu'un utilisateur a été authentifié et autorisé à se connecter à une instance de SQL Server, un compte d'utilisateur distinct doit exister dans chaque base de données à laquelle l'utilisateur doit accéder.After a user has been authenticated and allowed to log in to an instance of SQL Server, a separate user account must exist in each database the user has to access. Exiger un compte d'utilisateur dans chaque base de données empêche les utilisateurs de se connecter à une instance de SQL Server et d'accéder à toutes les bases de données sur un serveur.Requiring a user account in each database prevents users from connecting to an instance of SQL Server and accessing all the databases on a server. L’existence d’un compte d’utilisateur guest dans la base de données permet de contourner cette exigence en permettant à une connexion sans compte d’utilisateur de base de données d’accéder à une base de données.The existence of a guest user account in the database circumvents this requirement by allowing a login without a database user account to access a database.

Le compte guest est un compte intégré dans toutes les versions de SQL Server.The guest account is a built-in account in all versions of SQL Server. Il est désactivé par défaut dans les nouvelles bases de données.By default, it is disabled in new databases. S'il est activé, vous pouvez le désactiver en révoquant son autorisation CONNECT, en exécutant l'instruction Transact-SQL REVOKE CONNECT FROM GUEST.If it is enabled, you can disable it by revoking its CONNECT permission by executing the Transact-SQL REVOKE CONNECT FROM GUEST statement.

Important

Évitez d'utiliser le compte guest ; toutes les connexions sans autorisations de base de données propres obtiennent les autorisations de base de données accordées à ce compte.Avoid using the guest account; all logins without their own database permissions obtain the database permissions granted to this account. Si vous devez utiliser le compte guest, accordez-lui des autorisations minimales.If you must use the guest account, grant it minimum permissions.

Pour plus d'informations sur les connexions, les utilisateurs et les rôles SQL Server, consultez les ressources répertoriées ci-dessous.For more information about SQL Server logins, users and roles, see the following resources.

RessourceResource DescriptionDescription
Mise en route avec les autorisations du moteur de base de donnéesGetting Started with Database Engine Permissions Contient des liens vers des rubriques qui décrivent les entités de sécurité, les rôles, les informations d'identification, les éléments sécurisables et les autorisations.Contains links to topics that describe principals, roles, credentials, securables and permissions.
PrincipauxPrincipals Décrit les entités de sécurité et contient des liens vers des rubriques qui décrivent les rôles serveur et de base de données.Describes principals and contains links to topics that describe server and database roles.

Voir aussiSee also