• 05/24/2017
  • 4 minutes de lecture
    • V
    • w
    • .

    • M
    • j
    • D
    • +8

APPLIES A : SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse

SQL Server fournit des rôles de niveau serveur pour vous aider à gérer les autorisations sur un serveur. Ces rôles sont des principaux de sécurité qui regroupent d’autres principaux. Les rôles de niveau serveur sont à l’échelle du serveur dans la portée de leurs permissions. (Les rôles sont comme des groupes dans le système d’exploitation Windows.)

Des rôles de serveur fixes sont fournis pour des raisons de commodité et de rétrocompatibilité. Attribuez des autorisations plus spécifiques chaque fois que possible.

SQL Server fournit neuf rôles de serveur fixes. Les autorisations qui sont accordées aux rôles de serveur fixes (sauf public) ne peuvent pas être modifiées. À partir de SQL Server 2012 (11.x), vous pouvez créer des rôles de serveur définis par l’utilisateur et ajouter des autorisations de niveau serveur aux rôles de serveur définis par l’utilisateur.

Vous pouvez ajouter des principaux de niveau serveur (connexions SQL Server, comptes Windows et groupes Windows) dans les rôles de niveau serveur. Chaque membre d’un rôle de serveur fixe peut ajouter d’autres logins à ce même rôle. Les membres des rôles de serveur définis par l’utilisateur ne peuvent pas ajouter d’autres principaux de serveur au rôle.

Note

Les autorisations de niveau serveur ne sont pas disponibles dans SQL Database ou Azure Synapse Analytics. Pour plus d’informations sur SQL Database, voir Contrôler et accorder l’accès aux bases de données.

Rôles fixes de niveau serveur

Le tableau suivant présente les rôles fixes de niveau serveur et leurs capacités.

Rôle fixe de niveau serveur Description
sysadmin Les membres du rôle fixe de serveur sysadmin peuvent effectuer toute activité dans 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 logins et leurs propriétés. Ils peuvent GRANT, DENY et REVOKE les autorisations de niveau serveur. Ils peuvent également GRANT, DENY, et REVOKE autorisations de niveau 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 au serveur SQL.
IMPORTANT : La capacité d’accorder l’accès au moteur de base de données et de configurer les autorisations des utilisateurs permet à l’administrateur de sécurité d’attribuer la plupart des autorisations du serveur. Le rôle securityadmin doit être traité comme équivalent au rôle sysadmin.
processadmin Les membres du rôle serveur fixe processadmin peuvent mettre fin aux processus qui s’exécutent dans une instance de SQL Server.
setupadmin Les membres du rôle serveur fixe setupadmin peuvent ajouter et supprimer des serveurs liés en utilisant des instructions Transact-SQL. (L’adhésion sysadmin est nécessaire lors de l’utilisation de Management Studio.)
bulkadmin Les membres du rôle de serveur fixe bulkadmin peuvent exécuter l’instruction BULK INSERT.
diskadmin Le rôle de serveur fixe diskadmin est utilisé pour gérer les fichiers disques.
dbcreator Les membres du rôle de serveur fixe dbcreator peuvent créer, modifier, déposer et restaurer n’importe quelle base de données.
public Chaque login SQL Server appartient au rôle de serveur public. Lorsqu’un principal de serveur n’a pas reçu ou s’est vu refuser des autorisations spécifiques sur un objet sécable, l’utilisateur hérite des autorisations accordées à public sur cet objet. N’attribuez des autorisations publiques sur un objet que lorsque vous souhaitez que l’objet soit disponible pour tous les utilisateurs. Vous ne pouvez pas modifier l’appartenance à public.
Note : public est mis en œuvre différemment des autres rôles, et les permissions peuvent être accordées, refusées ou révoquées à partir des rôles de serveur fixe public.

Important

La plupart des permissions fournies par les rôles de serveur suivants ne sont pas applicables à Synapse SQL – processadmin, serveradmin, setupadmin et diskadmin.

Permissions des rôles de serveur fixes

Chaque rôle de serveur fixe a certaines permissions qui lui sont attribuées. Le graphique suivant montre les permissions attribuées aux rôles de serveur.

Important

La permission CONTROL SERVER est similaire mais pas identique au rôle de serveur fixe sysadmin. Les permissions n’impliquent pas l’appartenance à un rôle et l’appartenance à un rôle n’accorde pas de permissions. (Par exemple, CONTROL SERVER n’implique pas l’appartenance au rôle de serveur fixe sysadmin). Cependant, il est parfois possible d’usurper l’identité entre des rôles et des permissions équivalentes. La plupart des commandes DBCC et de nombreuses procédures système nécessitent l’appartenance au rôle de serveur fixe sysadmin. Pour obtenir une liste de 171 procédures stockées du système qui nécessitent l’adhésion au rôle sysadmin, consultez le billet de blog suivant d’Andreas Wolter CONTROL SERVER vs. sysadmin/sa : permissions, procédures système, DBCC, création automatique de schémas et escalade de privilèges – mises en garde.

Permissions de niveau serveur

Seules les permissions de niveau serveur peuvent être ajoutées aux rôles serveur définis par l’utilisateur. Pour répertorier les permissions de niveau serveur, exécutez l’instruction suivante. Les permissions de niveau serveur sont :

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

Pour plus d’informations sur les permissions, voir Permissions (moteur de base de données) et sys.fn_builtin_permissions (Transact-SQL).

Travail avec les rôles de niveau serveur

Le tableau suivant explique les commandes, les vues et les fonctions que vous pouvez utiliser pour travailler avec les rôles de niveau serveur.

Feature Type Description
sp_helpsrvrole (Transact-SQL) Metadata Retourne une liste des rôles de niveau serveur.
sp_helpsrvrolemember (Transact-SQL) Metadata Retourne des informations sur les membres d’un rôle de niveau serveur.
sp_srvrolepermission (Transact-SQL) Metadata Affiche les permissions d’un rôle de niveau serveur.
IS_SRVROLEMEMBER (Transact-SQL) Metadata Indique si un login SQL Server est membre du rôle de niveau serveur spécifié.
sys.server_role_members (Transact-SQL) Metadata Retourne une ligne pour chaque membre de chaque rôle de niveau serveur.
sp_addsrvrolemember (Transact-SQL) Commande Ajoute un login comme membre d’un rôle de niveau serveur. Déprécié . Utilisez plutôt ALTER SERVER ROLE.
sp_dropsrvrolemember (Transact-SQL) Commande Supprime un login SQL Server ou un utilisateur ou groupe Windows d’un rôle de niveau serveur. Déclassé. Utilisez plutôt ALTER SERVER ROLE.
CREATE SERVER ROLE (Transact-SQL) Commande Crée un rôle de serveur défini par l’utilisateur.
ALTER SERVER ROLE (Transact-SQL) Commande Change l’appartenance à un rôle serveur ou change le nom d’un rôle serveur défini par l’utilisateur.
DROP SERVER ROLE (Transact-SQL) Commande Supprime un rôle serveur défini par l’utilisateur.
IS_SRVROLEMEMBER (Transact-SQL) Fonction Détermine l’appartenance à un rôle de serveur.

Voir aussi

Rôles de niveau base de données
Vues du catalogue de sécurité (Transact-SQL)
Fonctions de sécurité (Transact-.SQL)
Sécurisation de SQL Server
Permissions principales du serveur GRANT (Transact-SQL)
Permissions principales du serveur REVOKE (Transact-SQL)
Permissions principales du serveur DENY (Transact-SQL)
Créer un rôle de serveur

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.