Rôles de niveau serveur

SQL Server fournit des rôles au niveau du serveur pour vous aider à gérer les autorisations sur les serveurs. Ces rôles sont des principaux de sécurité qui regroupent d'autres principaux. Les autorisations des rôles serveur ont une portée à l'échelle du serveur. (Lesrôles sont semblables aux groupes du système d’exploitation Microsoft Windows.)

Les rôles serveur fixes sont fournis pour des raisons de commodité et de compatibilité descendante. Attribuez des autorisations plus spécifiques chaque fois que cela est possible.

SQL Server fournit neuf rôles serveur fixes. Les autorisations attribuées aux rôles serveur fixes ne peuvent pas être modifiées. À compter de SQL Server 2012, vous pouvez créer des rôles serveur définis par l’utilisateur et ajouter des autorisations de niveau serveur aux rôles serveur définis par l’utilisateur.

Vous pouvez ajouter des principaux au niveau du serveur (connexionsSQL Server , comptes et groupes Windows) à des rôles serveur. Chaque membre d'un rôle serveur fixe peut ajouter des connexions à ce rôle. Les membres de rôles serveur définis par l'utilisateur ne peuvent pas ajouter d'autres principaux de serveur à ces rôles.

Rôles serveur fixes

Le tableau ci-dessous répertorie les rôles serveur fixes et leurs fonctionnalités.

Rôles serveur fixes Description
administrateur système Les membres du rôle serveur fixe sysadmin peuvent effectuer n'importe quelle activité sur le serveur.
serveradmin Les membres du rôle serveur fixe serveradmin peuvent modifier les options de configuration à l'échelle du serveur et arrêter le serveur.
securityadmin Les membres du rôle serveur fixe securityadmin gèrent les connexions et leurs propriétés. Ils peuvent assigner des autorisations GRANT, DENY et REVOKE au niveau du serveur. Ils peuvent également attribuer des autorisations GRANT, DENY et REVOKE au niveau de la base de données s'ils ont accès à une base de données. En outre, ils peuvent réinitialiser les mots de passe pour les connexions SQL Server .

** Note de sécurité ** La possibilité d’accorder l’accès au moteur de base de données et de configurer des autorisations utilisateur permet à l’administrateur de la sécurité d’attribuer la plupart des autorisations de serveur. Le securityadmin rôle doit être traité comme équivalent au sysadmin rôle.
processadmin Les membres du rôle serveur fixe processadmin peuvent mettre fin aux processus en cours d’exécution dans une instance de SQL Server.
setupadmin Les membres du rôle serveur fixe setupadmin peuvent ajouter et supprimer des serveurs liés à l’aide d’instructions Transact-SQL. (L’appartenance au rôle sysadmin est nécessaire pour utiliser Management Studio.)
bulkadmin Les membres du rôle serveur fixe bulkadmin peuvent exécuter l'instruction BULK INSERT.
diskadmin Le rôle serveur fixe diskadmin permet de gérer les fichiers disque.
dbcreator Les membres du rôle serveur fixe dbcreator peuvent créer, modifier, supprimer et restaurer n'importe quelle base de données.
public Chaque connexion SQL Server appartient au rôle serveur public. Lorsqu'un principal de serveur ne s'est pas vu accorder ou refuser des autorisations spécifiques sur un objet sécurisable, l'utilisateur hérite des autorisations accordées à public sur cet objet. Vous ne devez affecter des autorisations publiques à un objet que lorsque vous souhaitez que ce dernier soit disponible pour tous les utilisateurs. Vous ne pouvez pas modifier l’appartenance au rôle public.

Remarque : le rôle public est implémenté différemment des autres rôles. Toutefois, les autorisations peuvent être accordées, refusées ou révoquées à partir du rôle public.

Autorisations des rôles serveur fixes

Certaines autorisations sont assignées à chaque rôle serveur fixe. Pour un graphique des autorisations assignées aux rôles serveur, consultez Serveur fixe du moteur de base de données et rôles de base de données fixes.

Important

L'autorisation CONTROL SERVER ressemble, mais n'est pas identique au rôle serveur fixe sysadmin. Les autorisations n'impliquent pas les appartenances au rôle et les appartenances au role n'accordent pas d'autorisation. (Par exemple CONTROL SERVER , n’implique pas l’appartenance au sysadmin rôle serveur fixe.) Toutefois, il est parfois possible d’emprunter l’identité entre des rôles et des autorisations équivalentes. La plupart des commandes DBCC et de nombreuses procédures système exigent l'appartenance au rôle serveur fixe sysadmin. Pour obtenir la liste des 171 procédures stockées système qui nécessitent sysadmin une appartenance, consultez le billet de blog suivant par Andreas Wolter CONTROL SERVER et sysadmin/sa : autorisations, procédures système, DBCC, création automatique de schémas et escalade de privilèges - mises en garde.

Autorisations au niveau serveur

Seules des autorisations au niveau du serveur peuvent être ajoutées aux rôles serveur définis par l'utilisateur. Pour répertorier les autorisations au niveau du serveur, exécutez l'instruction suivante. Les autorisations au niveau du serveur sont :

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;  

Pour plus d’informations sur les autorisations, consultez Autorisations (moteur de base de données) et sys.fn_builtin_permissions (Transact-SQL).

Utilisation des rôles au niveau du serveur

Le tableau ci-dessous explique les commandes, vues et fonctions permettant d'utiliser les rôles serveur.

Fonctionnalité Type Description
sp_helpsrvrole (Transact-SQL) Métadonnées Retourne la liste des rôles au niveau du serveur.
sp_helpsrvrolemember (Transact-SQL) Métadonnées Retourne des informations sur les membres d'un rôle au niveau du serveur.
sp_srvrolepermission (Transact-SQL) Métadonnées Affiche les autorisations d'un rôle au niveau du serveur.
IS_SRVROLEMEMBER (Transact-SQL) Métadonnées Indique si une connexion SQL Server est un membre du rôle au niveau du serveur spécifié.
sys.server_role_members (Transact-SQL) Métadonnées Retourne une ligne pour chaque membre de chaque rôle serveur.
sp_addsrvrolemember (Transact-SQL) Commande Ajoute une connexion en tant que membre d'un rôle serveur. Action déconseillée. Utilisez plutôt ALTER SERVER ROLE .
sp_dropsrvrolemember (Transact-SQL) Commande Supprime une connexion SQL Server ou un utilisateur ou un groupe Windows d'un rôle serveur. Action déconseillée. Utilisez plutôt ALTER SERVER ROLE .
CREATE SERVER ROLE (Transact-SQL) Commande Crée un rôle serveur défini par l'utilisateur.
ALTER SERVER ROLE (Transact-SQL) Commande Modifie l'appartenance d'un rôle serveur ou modifie le nom d'un rôle serveur défini par l'utilisateur.
DROP SERVER ROLE (Transact-SQL) Commande Supprime un rôle de serveur défini par l'utilisateur.
IS_SRVROLEMEMBER (Transact-SQL) Fonction Détermine l'appartenance du rôle serveur.

Voir aussi

Rôles au niveau de la base de données
Affichages catalogue liées à la sécurité (Transact-SQL)
Fonctions de sécurité (Transact-SQL)
Sécurisation de SQL Server
GRANT – octroi d'autorisations de principal de serveur (Transact-SQL)
REVOKE – révocation d'autorisations de principal de serveur (Transact-SQL)
DENY – refus d'autorisations du principal de serveur (Transact-SQL)
Créer un rôle serveur