Messages les plus consultés

vendredi 23 novembre 2012

SGBD 1 : Exercice sur la Sécurité


Soit le schéma relationnel GestStg Suivant :
nStagiaire(idStg, Nom, Prenom)
nMatiere (idMat, Libelle, Coeff)
nNote (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ée db_datareader
5)Donner les droits de modification (Insert, Update, Delete)
nsur Stagiaire avec Surveillant
nsur Matiere avec Directeur
nsur Note avec Formateur
6)Ajouter les utilisateurs
n Ali dans Survaillant
n Ahmed dans Formateur
n 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)

3 commentaires:

  1. --1
    Use Master
    create database GestStg
    Go

    use GestStg
    create 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)
    Go
    insert 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

    -- 2
    Use Master
    CREATE LOGIN ali WITH PASSWORD = '123', DEFAULT_DATABASE =GestStg;
    go
    CREATE LOGIN ahmad WITH PASSWORD = '321', DEFAULT_DATABASE =GestStg;
    go
    CREATE LOGIN imane WITH PASSWORD = 'abc', DEFAULT_DATABASE =GestStg;
    GO

    Use GestStg
    CREATE USER Ali FOR LOGIN ali
    CREATE USER Ahmad FOR LOGIN ahmad
    CREATE USER Imane FOR LOGIN imane
    GO

    --3
    USE GestStg
    CREATE ROLE Formateur
    CREATE ROLE Directeur
    CREATE ROLE Surveillant
    GO

    --4
    -- Soit avec le rôle db_datareader
    Exec sp_addrolemember db_datareader,Ali
    Exec sp_addrolemember db_datareader,Ahmed
    Exec sp_addrolemember db_datareader,Imane

    -- Ou avec Grant sur select
    GRANT SELECT
    ON stagiaire
    TO Formateur,Directeur,Surveillant
    GO
    GRANT SELECT
    ON matiere
    TO Formateur,Directeur,Surveillant
    GO
    GRANT SELECT
    ON note
    TO Formateur,Directeur,Surveillant
    GO

    --5
    GRANT INSERT, UPDATE,delete
    ON matiere
    TO directeur
    GO

    --
    GRANT INSERT, UPDATE, delete
    ON stagiaire
    TO surveillant
    GO
    --
    GRANT INSERT, UPDATE, delete
    ON note
    TO formateur
    --6
    Exec sp_addrolemember surveillant,Ali
    Exec sp_addrolemember formateur,ahmad
    Exec sp_addrolemember directeur,imane

    RépondreSupprimer
  2. Ce commentaire a été supprimé par l'auteur.

    RépondreSupprimer