sgbd 1 exercice sur la sécurité
TRANSCRIPT
Soit le schéma relationnel GestStg Suivant :Stagiaire(idStg, Nom, Prenom)Matiere (idMat, Libelle, Coeff)Note (idStg, idMat, Note)
1)Créer la base de donnée avec un jeu de test2)Créer trois utilisateurs SQL Server login/Mot de pass (Ali/123, Ahmed/321, Imane/abc)3)Créer trois Rôles (Surveillant, Formateur, Directeur)4)Donnée le droit de lecture pour les trois utilisateurs avec le rôle fixe base de
donnéedb_datareader5)Donner les droits de modification (Insert, Update, Delete)sur Stagiaire avec Surveillantsur Matiere avec Directeursur Note avec Formateur6)Ajouter les utilisateurs Ali dans Survaillant Ahmed dans Formateur Imane dans Directeur7)Configurer le serveur sur authentification mixte, et Faire un test avec chaque
utilisateur sur les trois tables, avec les opérations (Select, Insert, Update, Delete)
--1Use Master create database GestStgGo
use GestStgcreate table stagiaire(idstg int, nom varchar(50), prenom varchar(50))create table matiere(idMat int, libelle varchar(50), Coeff real )create table note(idstg int, idmat int, note real)Goinsert into stagiaire values (1, 'stg 1', 'stg 1')insert into stagiaire values (2, 'stg 2', 'stg 2')insert into stagiaire values (3, 'stg 3', 'stg 3')Go
Insert into Matiere values (1, 'SGBD 1', 2)Insert into Matiere values (2, 'SGBD 2', 3)Go
Insert Into Note values (1,2,15.3)Insert Into Note values (1,1,13.5)Insert Into Note values (3,2,11.25)Insert Into Note values (2,2,16)Go
-- 2Use MasterCREATE LOGIN ali WITH PASSWORD = '123', DEFAULT_DATABASE =GestStg;goCREATE LOGIN ahmad WITH PASSWORD = '321', DEFAULT_DATABASE =GestStg;goCREATE LOGIN imane WITH PASSWORD = 'abc', DEFAULT_DATABASE =GestStg;GO
Use GestStgCREATE USER Ali FOR LOGIN aliCREATE USER Ahmad FOR LOGIN ahmadCREATE USER Imane FOR LOGIN imaneGO
--3USE GestStg
CREATE ROLE Formateur CREATE ROLE DirecteurCREATE ROLE SurveillantGO
--4-- Soit avec le rôle db_datareaderExec sp_addrolemember db_datareader,AliExec sp_addrolemember db_datareader,AhmedExec sp_addrolemember db_datareader,Imane
-- Ou avec Grant sur selectGRANT SELECTON stagiaireTO Formateur,Directeur,Surveillant GOGRANT SELECTON matiere TO Formateur,Directeur,Surveillant GOGRANT SELECTON note TO Formateur,Directeur,Surveillant GO
--5GRANT INSERT, UPDATE,deleteON matiereTO directeurGO
--GRANT INSERT, UPDATE, deleteON stagiaireTO surveillantGO--GRANT INSERT, UPDATE, deleteON noteTO formateur--6Exec sp_addrolemember surveillant,Ali
Exec sp_addrolemember formateur,ahmadExec sp_addrolemember directeur,imane