notebook/IT/SQL/SCRIPTS SQL QSA ORSYS/Exo 4.sql
2020-11-26 18:38:25 +01:00

64 lines
1.5 KiB
Transact-SQL

-- le compte de connexion CNX_ADMIN, doit être doté des privilèges suivants :
USE master;
GO
GRANT VIEW SERVER STATE,
ADMINISTER BULK OPERATIONS,
CREATE ANY DATABASE
-- ON SERVER::[HPZ840FB\SQL2019FBIN2]
TO CNX_ADMIN;
GO
USE DB_GRAND_HOTEL;
GO
-- l'utilisateur USR_LECTEUR, doit être doté des privilèges suivants :
--> SELECT sur l'intégralité de la base
GRANT SELECT
-- ON DATABASE::DB_GRAND_HOTEL
TO USR_LECTEUR;
-- l'utilisateur USR_ECRIVAIN, doit être doté des privilèges suivants :
-->SELECT, INSERT, UPDATE, DELETE sur l'intégralité de la base
--> mais aussi EXECUTE sur la base, sauf sur le schema dbo.
GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE
-- ON DATABASE::DB_GRAND_HOTEL
TO USR_ECRIVAIN;
DENY EXECUTE
ON SCHEMA::dbo
TO USR_ECRIVAIN;
-- l'utilisateur USR_ADMIN, doit avoir tous les privilèges sur la base
GRANT CONTROL
-- ON DATABASE::DB_GRAND_HOTEL
TO USR_ADMIN;
-- l'utilisateur USR_REPORT, doit être doté des privilèges de lecture sur la base sauf schéma dbo.
GRANT SELECT
-- ON DATABASE::DB_GRAND_HOTEL
TO USR_REPORT;
DENY SELECT
ON SCHEMA::dbo
TO USR_REPORT;
/*
GRANT <liste de privilèges>
ON <objet à privilégier>
TO <liste des entités bénéficiaires>
<liste de privilèges> ::=
<nom_privilège> [, <nom_privilège2> [, <nom_privilège3> [, ... ] ]
<nom_prilège> ::= identifiant_SQL
<objet à privilégier> ::=
{ <nom_objet> | <classe_conteneur>::<nom_conteneur> }
*/