sgbd 1 exercice sur la sécurité

4
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 test 2)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_datareader 5)Donner les droits de modification (Insert, Update, Delete) sur Stagiaire avec Surveillant sur Matiere avec Directeur sur Note avec Formateur 6)Ajouter les utilisateurs Ali dans Survaillant Ahmed dans Formateur Imane dans Directeur 7)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)

Upload: fouad-abatouy

Post on 22-Oct-2015

43 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: SGBD 1  Exercice sur la Sécurité

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)

Page 2: SGBD 1  Exercice sur la Sécurité

--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

Page 3: SGBD 1  Exercice sur la Sécurité

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

Page 4: SGBD 1  Exercice sur la Sécurité

Exec sp_addrolemember formateur,ahmadExec sp_addrolemember directeur,imane