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