![Free-eBooks.net](/resources/img/logo-nfe.png)
![All New Design](/resources/img/allnew.png)
GRANT permissiondebasededonnées
TO utilisateur
AS groupeourole
- Permissiondebasededonnées : La ou les permissions de base de données à accorder à
l’utilisateur de base de données.
- Utilisateur : L’utilisateur qui va recevoir les permissions de base de données précisées
après l’instruction GRANT.
- Groupeourole : Constitue le contexte de sécurité qui va nous permettre d’accorder les
privilèges.
Les rôles
On peut dire que les rôles sont des sortes de groupements de droits. Il existe trois niveaux
d’actions pour les rôles : Server, Base de données et Application. L’utilité des rôles réside
dans le fait qu’il est plus simple d’attribuer des droits à des rôles puis d’attribuer des rôles à
des utilisateurs ou des connexions plutôt que d’attribuer directement des droits à ces
derniers. Il faut donc retenir que les rôles sont des ensembles de droits qui portent un nom et
qu’on peut les attribuer aux utilisateurs.
Pour faciliter la gestion des droits, SQL Server propose des droits dits fixes. En effet, ils sont
prédéfinis et donc non modifiables. Ils sont définis à deux niveaux : Server et Base de
données. En revanche, les rôles définis par l’utilisateur de SQL Server atteignent deux niveaux
différents : Base de données et Application. Au final, un utilisateur de base de données peut
avoir accès à des droits de quatre manières différentes : Grâce aux droits de la connexion
qu’il utilise, grâce aux rôles fixes, grâce aux rôles créés par l’utilisateur et enfin grâce aux
droits qui lui ont été directement affectés.
Il existe un rôle qui est public et qui est attribué à tous les utilisateurs de base de données et
à toutes les connexions. Ce rôle ne peut pas être enlevé à aucun des utilisateurs. En
revanche, il peut être modifié. Il faut simplement prendre en compte que TOUS les
utilisateurs auront les droits ajoutés à public.
Les rôles prédéfinis
Rôles serveur :
- Sysadmin : Administrateur du serveur.
- Serveradmin : Permet de configurer les paramètres niveau serveur.
- Setupadmin : Permet d’exécuter certaines procédures stockées et d’ajouter des serveurs
liés.
- Securityadmin : Permet de gérer les connexions serveur.
- Processadmin : Permet de gérer les traitements au sein de SQL Server.
149
- Dbcreator : Permet de créer ou modifier des bases de données.
- Diskadmin : Permet de gérer les fichiers sur le disque.
- Bulkadmin : Permet d’exécuter l’instruction BULK INSERT.
Rôles base de données :
- Db_owner : Équivalent à propriétaire base de données.
- Db_accessadmin : Permet d’ajouter et supprimer des utilisateurs de base de données.
- Db_datareader : Permet d’utiliser l’instruction SELECT.
- Db_datawriter : Permet les instructions INSERT, UPDATE et DELETE.
- Db_ddladmin : Permet les opérations sur les objets de base de données.
- Db_securityadmin : Permet de gérer les éléments de sécurité sur la base de données.
- Db_backupoperator : Permet l’utilisation des backups.
- Db_denydatareader : Interdit l’instruction SELECT.
- Db_denydatawriter : Interdit l’écriture sur la base de données.
Les rôles définis par l’utilisateur
Il est possible de définir ses propres rôles afin de faciliter l’administration des droits dans SQL
Server. Logiquement, on créera un rôle dit personnaliser lorsque plusieurs utilisateurs doivent
avoir les mêmes droits et que ces droits n’existent pas dans les rôles prédéfinis. Les rôles
peuvent être accordés soit directement à un utilisateur, soit à un autre rôle.
En utilisant l’interface
Pour créer un nouveau rôle, procédez de la manière suivante. Déployez successivement le
nœud de votre base de données puis le nœud sécurité. Affichez alors le menu contextuel du
nœud rôles et sélectionnez « Nouveau rôle ».
Vous obtenez cette nouvelle fenêtre :
150
Il vous suffit alors de préciser le nom et le propriétaire du rôle. En revanche, vous n’êtes pas
obligé de préciser les autres informations de suite. Vous pouvez les modifier ultérieurement
en vous rendant dans les propriétés du rôle voulu.