Un SGBD est équipé des mécanismes qui assurent la sécurité des données. Ainsi, on peut permettre ou interdire l’accès à des données .Des mécanismes du SGBD empêchent des personnes non autorisées de lire ou de modifier des données non autorisées. Découvrons la partie sql LCD (langage de contrôle de données)
Pour créer des utilisateurs sur une base de données, il faut créer des connexions (autant de connexions que l’utilisateur)
1-Créer une connexion
Nous avons dit que les ordres sql peuvent etre regrouper en trois groupes selon leurs fonctionnement : LDD ,LMD et LCD.
Les ordres sql qui sont inclus dans la partie LCD permettent de gérer et contrôler les autorisations, les utilisateurs, les connexions…
La première étape est d’avoir la connexion nécessaire (login) dans le serveur. Pour cela, on doit utiliser l’ordre sql create login . On propose la syntaxe la plus simple possible :
Create login nom_connexion with password= ‘1j@llp.23’ DEFAULT_DATABASE=nom_BD
Donc , on choisit le nom de notre nouvelle connexion et son mot de passe (qui ne doit pas être assez simple). On peut aussi définir la base de données qui sera utilisées par défaut pour cette connexion ( la définition de la base de données par défaut est facultative).
2-Créer des utilisateurs
Dans une base de données précise, on peut définir un nombre des utilisateurs (un utilisateur par connexion au niveau serveur). L’ordre sql qui nous permet de créer un nouvel utilisateur est : create user . Voilà la syntaxe complète :
Create user nom_utilisateurs for login nom_connexion
3-Attribuer des autorisations à un utilisateur
Pour les utilisateurs (ou les rôles qu’on va voir par la suite), on peur définir, retirer ou interdire des autorisations selon le besoin.Par exemple, si on veut donner à un utilisateur le droit le lecture, d’nsertion et de modification des données dans une table spécfique de la base dont on l’a crée, on a recours à l’ordre sql grant tel que :
Grant select, insert, update, delete
ON nom_table To nomUser
4- Interdire des autorisations à un utilisateur
On peut interdire des autorisations pour des utilisateurs ou des rôles .Par exemple, si on veut interdire à un utilisateur le droit le lecture, d’nsertion et de modification des données dans une table spécifique de la base dont on l’a crée, on a recours à l’ordre sql deny tel que :
Deny insert,select,update,delete
ON nom_table to nomUser
5-Retirer l’autorisation
Aussi, on peut retirer des autorisations aux utilisateurs de la base de données ou les rôles déjà crées .Par exemple, si on retirer à un utilisateur le droit le lecture, d’nsertion et de modification des données dans une table spécifique de la base dont on l’a crée, on a recours à l’ordre sql revoke tel que :
Revoke insert,select,update,delete
ON nom_table to nomUser
6-Creation des rôles (groupements de droits):
Create Role nom_Role AUTHORIZATION nomUser
Exec sp_addrolemember ‘nom_Role’ ,’nomUser’
Remarques : rôles prédéfinis
– Principaux rôles fixes de serveur :
- sysadmin : permet l’éxecution de toutes les activités
- dbcreator : Création et modification des bases de données
- processadmin : Gestion des processus SQL Server
- serveradmin : Gestion des connexions et autorisations
– Exemples rôles fixes de BD :
- public : Conservation de toutes les autorisations par défaut
- db_owner : Exécuttion de toutes les activités sur une base
- db_accessadmin : Ajout ou suppression d’utilisateurs , groupes et roles.
- db_ddladmin : Ajout, modification ou suppression d’objets de base de données
- db_securityadmin: affectation d’autorisations d’instruction et sur les objets
- db_backupoperator : sauvegarde et restauration de la base de données
- db_datareader : lecture des données dans toutes les tables
- db_datawriter : Ajout, modification ou suppression des données
- db_denydatareeader: impossible de lire les données
- db_denydatawriter : impossible de modifier les données
Exemple:
1- Créer trois utilisateurs a1(123), a2(321), a3 (abc)
2 -Créer trois rôles Surveillant, Formateur, Directeur
3- Donner le droit de modification (insert, update, delete )
-sur Etudiant par Surveillant
-sur Matière par Formateur
-sur Evaluer par Directeur
4- Ajouter des utilisateurs
-a1 dans Surveillant
-a2 dans Formateur
-a3 dans Directeur
Vous pouvez suivre la liste des vidéos du cours base de données (Merise + Sql + Transact sql) sur notre chaine youtube : Vidéos Bases de données.
