Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour gérer facilement les autorisations dans vos bases de données, SQL Server fournit plusieurs rôles qui sont des principaux de sécurité qui regroupent d’autres principaux. Ils sont comme des groupes dans le système d’exploitation Microsoft Windows. Les rôles au niveau de la base de données ont une portée d'autorisations à l'échelle de la base de données.
Il existe deux types de rôles au niveau de la base de données dans SQL Server : les rôles de base de données fixes prédéfinis dans la base de données et les rôles de base de données flexibles que vous pouvez créer.
Les rôles de base de données fixes sont définis au niveau de la base de données et existent dans chaque base de données. Les membres du rôle de base de données db_owner peuvent gérer l’appartenance à un rôle de base de données fixe. Il existe également des rôles de base de données fixes à usage spécial dans la base de données msdb.
Vous pouvez ajouter n’importe quel compte de base de données et d’autres rôles SQL Server dans des rôles au niveau de la base de données. Chaque membre d’un rôle de base de données fixe peut ajouter d’autres connexions à ce même rôle.
Important
N’ajoutez pas de rôles de base de données flexibles en tant que membres de rôles fixes. Cela peut activer l’escalade involontaire des privilèges.
Le tableau suivant présente les rôles de niveau base de données fixes et leurs fonctionnalités. Ces rôles existent dans toutes les bases de données.
| Nom du rôle au niveau de la base de données | Descriptif |
|---|---|
| db_owner | Les membres du rôle de base de données fixe db_owner peuvent effectuer toutes les activités de configuration et de maintenance sur la base de données, et peuvent également supprimer la base de données. |
| db_securityadmin | Les membres du rôle de base de données fixe db_securityadmin peuvent modifier l’appartenance au rôle et gérer les autorisations. L’ajout de principaux à ce rôle peut activer l’escalade involontaire des privilèges. |
| db_accessadmin | Les membres du rôle de base de données fixe db_accessadmin peuvent ajouter ou supprimer l’accès à la base de données pour les connexions Windows, les groupes Windows et les connexions SQL Server. |
| db_backupoperator | Les membres du rôle de base de données fixe db_backupoperator peuvent sauvegarder la base de données. |
| db_ddladmin | Les membres du rôle de base de données fixe db_ddladmin peuvent exécuter n’importe quelle commande DDL (Data Definition Language) dans une base de données. |
| db_datawriter | Les membres du rôle de base de données fixe db_datawriter peuvent ajouter, supprimer ou modifier des données dans toutes les tables utilisateur. |
| db_datareader | Les membres du rôle de base de données fixe db_datareader peuvent lire toutes les données de toutes les tables utilisateur. |
| db_denydatawriter | Les membres du rôle de base de données fixe db_denydatawriter ne peuvent pas ajouter, modifier ou supprimer des données dans les tables utilisateur d’une base de données. |
| db_denydatareader | Les membres du rôle de base de données fixe db_denydatareader ne peuvent pas lire de données dans les tables utilisateur d’une base de données. |
Rôles msdb
La base de données msdb contient les rôles à usage spécial présentés dans le tableau suivant.
| nom du rôle msdb | Descriptif |
|---|---|
db_ssisadmindb_ssisoperator db_ssisltduser |
Les membres de ces rôles de base de données peuvent administrer et utiliser SSIS. Les instances de SQL Server mises à niveau à partir d’une version antérieure peuvent contenir une version antérieure du rôle nommé à l’aide de Data Transformation Services (DTS) au lieu de SSIS. Pour plus d’informations, consultez Rôles Integration Services (Service SSIS). |
dc_admindc_operator dc_proxy |
Les membres de ces rôles de base de données peuvent administrer et utiliser le collecteur de données. Pour plus d’informations, consultez Collecte de données. |
| PolicyAdministratorRole | Les membres du rôle de base de données policyAdministratorRole db_ peuvent effectuer toutes les activités de configuration et de maintenance sur les stratégies et conditions de gestion basée sur des stratégies. Pour plus d’informations, consultez Administrer des serveurs à l’aide de la gestion basée sur des stratégies. |
|
ServerGroupAdministratorRole ServerGroupReaderRole |
Les membres de ces rôles de base de données peuvent administrer et utiliser des groupes de serveurs inscrits. |
| dbm_monitor | Créé dans la base de données lorsque la première base de données msdb est inscrite dans le Moniteur de mise en miroir de base de données. Le rôle dbm_monitor n’a pas de membres tant qu’un administrateur système n’affecte pas les utilisateurs au rôle. |
Important
Les membres du rôle db_ssisadmin et du rôle dc_admin peuvent être en mesure d’élever leurs privilèges à sysadmin. Cette élévation de privilège peut se produire, car ces rôles peuvent modifier les packages Integration Services et les packages Integration Services peuvent être exécutés par SQL Server à l’aide du contexte de sécurité sysadmin de l’Agent SQL Server . Pour vous prémunir contre cette élévation de privilège lors de l'exécution de plans de maintenance, de jeux d'éléments de collecte de données et d'autres packages Integration Services , configurez des travaux de l'Agent SQL Server qui exécutent des packages pour l'utilisation d'un compte proxy doté de privilèges limités ou ajoutez uniquement des membres sysadmin aux rôles db_ssisadmin et dc_admin.
Utilisation des rôles Database-Level
Le tableau suivant décrit les commandes, vues et fonctions permettant d’utiliser des rôles au niveau de la base de données.
| Caractéristique | Catégorie | Descriptif |
|---|---|---|
| sp_helpdbfixedrole (Transact-SQL) | Métadonnées | Retourne une liste des rôles de base de données fixes. |
| sp_dbfixedrolepermission (Transact-SQL) | Métadonnées | Affiche les autorisations d’un rôle de base de données fixe. |
| sp_helprole (Transact-SQL) | Métadonnées | Retourne des informations sur les rôles dans la base de données actuelle. |
| sp_helprolemember (Transact-SQL) | Métadonnées | Retourne des informations sur les membres d’un rôle dans la base de données actuelle. |
| sys.database_role_members (Transact-SQL) | Métadonnées | Retourne une ligne pour chaque membre de chaque rôle de base de données. |
| IS_MEMBER (Transact-SQL) | Métadonnées | Indique si l’utilisateur actuel est membre du groupe Microsoft Windows spécifié ou du rôle de base de données Microsoft SQL Server. |
| CREATE ROLE (Transact-SQL) | Commande | Crée un rôle de base de données dans la base de données courante. |
| ALTER ROLE (Transact-SQL) | Commande | Modifie le nom d’un rôle de base de données. |
| DROP ROLE (Transact-SQL) | Commande | Supprime un rôle de la base de données. |
| sp_addrole (Transact-SQL) | Commande | Crée un rôle de base de données dans la base de données actuelle. |
| sp_droprole (Transact-SQL) | Commande | Supprime un rôle de base de données de la base de données active. |
| sp_addrolemember (Transact-SQL) | Commande | Ajoute un utilisateur de base de données, un rôle de base de données, une connexion Windows ou un groupe Windows à un rôle de base de données dans la base de données active. |
| sp_droprolemember (Transact-SQL) | Commande | Supprime un compte de sécurité d’un rôle SQL Server dans la base de données active. |
Rôle de base de données public
Chaque utilisateur de base de données appartient au rôle de base de données public . Lorsqu’un utilisateur n’a pas reçu ou refusé des autorisations spécifiques sur un objet sécurisable, l’utilisateur hérite des autorisations accordées au public sur cet objet.
Contenu associé
Affichages catalogue liées à la sécurité (Transact-SQL)
Procédures stockées liées à la sécurité (Transact-SQL)