Chapitre 04
Chapitre 04
Chapitre 04
: Les Autorisations
1. Gestion des autorisations (droits) :
2. Types d'autorisations :
2.1. Autorisations d'instruction :
Les droits d’utilisation des instructions SQL pour créer de nouveaux objets au sein de la base sont des
autorisations pour réaliser l’exécution de certains ordres SQL un utilisateur qui dispose de tels droits
est capable par exemple de créer ses propres tables, ses procédures ...
Les droits principaux d’instructions disponibles sont :
• CREATE DATABASE
• CREATE FUNCTION
• CREATE PROCEDURE
• CREATE TABLE
• CREATE VIEW
• BACKUP DATABASE
• BACKUP LOG
2.2. Autorisations sur les objets
Ces droits permettent de fixer quelles opérations (lecture, modification, ajout ou
suppression) l’utilisateur peut réaliser sur des données contenues dans une table, ou bien
donner le droit d’exécution d’une procédure stockée, ces utile sont gérés par le propriétaire
de l’objet.
Les principaux droit d’utilisation des objets concernant les tables , les vues, procédure
stockées correspondent aux ordres :
insert.
Update
Delete
Select
EXECUTE
A. Autoriser
SQL Server Management studio
Ces droits sont administrés au niveau de la base de données par l’intermédiaire de la
fenêtre des propriétés.
1
A l'aide de T-SQL :
Syntaxe :
Grant permission [,…..]
To utilisateur [,…..]
Permission nom de la ou des permissions concernées par cette autorisation.il est possible
d’utiliser le mot clé ALL
Utilisateur nom de l’utilisateur ou des utilisateurs de base de données qui reçoivent les
permissions
2
B. Retirer
Il possible de retirer un privilège qui a été accordé à une entité de sécurité. Si le
privilège n’a pas été accordé à l’entité de sécurité, l’instruction est sans effet.
SQL Server Management studio
Ces droits sont administrés au niveau de la base de données par l’intermédiaire de la
fenêtre des propriétés.
A l'aide de T-SQL :
REVOKE permission from nom_utilisateur
Exemple2 : Cet exemple révoque plusieurs autorisations d'instruction aux utilisateurs naima_keroui
et inf.
Use stagebd
go
REVOKE CREATE TABLE, CREATE VIEW, BACKUP DATABASE TO [naima_keroui], [inf]
Go
3
Exemple3 : Cet exemple révoque les autorisations Select, Insert et Update pour le compte
naima_keroui sur la table Table1
USE Stagebd
GO
REVOKE SELECT, INSERT, UPDATE ON Table1 TO [naima_keroui]
GO
C. Interdire
L’instruction DENY permet d'interdire à un utilisateur l’utilisation d’un privilège, même s’il en
reçoit la permission soit directement, soit par son appartenance à ungroupe.
SQL Server Management studio
Comme pour l’accord et la suppression ce type de privilège est géré de façon centralisée au
niveau des propriétés de la base de données.
Exemple : par l’intermédiaire des propriétés de la base de données , l’utilisateur inf se voit
interdire le fait de créer une table.
A l'aide de T-SQL :
DENY permission to utilisateur
4
Exemple2 : Cet exemple refuse plusieurs autorisations d'instruction aux utilisateurs naima_keroui et
inf.
Use stagebd
go
DENY CREATE TABLE, CREATE VIEW, BACKUP DATABASE TO [naima_keroui], [inf]
Go
2.2. Droits d’utilisation des objets :
A. Autoriser
SQL Server Management studio
Les privilèges d’utilisation des objets peuvent être gérés à deux niveaux dans SQL Ser ver
management studio :
_ Au niveau utilisateur, ce qui permet de connaitre les possibilités de travail que possède chaque
utilisateur.
_ Au niveau des objets , afin de connaitre quels sont les utilisateurs qui peuvent utiliser l’objet en
question et comment ils peuvent l’utiliser.
Dans chacun des deux cas, les autorisations sont gérés par l’intermédiaire de la fenêtre des
propriétés.
Exemple :
Dans l’exemple suivant, l’utilisateur naima_keroui se voit accorder la possibilité d’exécuter les
instruction INSERT ,UPDATE et SELECT sur la table stagiaire.
A l'aide de T-SQL :
Syntaxe
Exemple :
Dans l’exemple suivant, l’utilisateur naima_keroui reçoit tous les privilèges d’utilisation sur la table
matière ainsi que la possibilité de mener des requêtes d’interrogation sur la table étudiant.
GRANT ALL on matière to naima_keroui;
GRANT SELECT on étudiant to naima_keroui;
5
B. Retirer
Lorsqu’une permission a été accordée, il est possible de retirer cet accord, il n’est
pas possible de retirer l’utilisation d’une permission à une entité de sécurité si cette
permission n’a pas été accordée à cette même entité de sécurité.
SQL Server Management studio
C’est par l’intermédiaire de la fenêtre des propriétés de l’entité de sécurité ou bien de l’objet, qu’il
est possible de retirer une permission qui a été accordée précédemment.
Exemple :
A partir des propriétés de la table stagiaire, l’utilisateur naima_keroui se voit retirer la possibilité
d’effectuer des requêtes de type UPDATE sur cette table.
A l'aide de T-SQL :
Syntaxe
Exemple :
Dans l’exemple suivant, l’utilisateur naima_keroui se voit retirer la possibilité de supprimer des
matières.
C. Interdire
L’interdiction d’utiliser une permission d’utilisation d’un objet est une instruction plus forte que
la suppression car elle peut être appliquée à une entité de sécurités, même si cette dernière n’a
pas encore reçu de privilège d’utilisation de l’objet de façon directe ou non.
Exemple :
6
Dans l’exemple suivant, l’utilisateur naima_keroui se voit interdire la possibilité de supprimer des
informations sur la table stagiaire, par l’intermédiaire de la fenêtre de propriétés de la table.
A l'aide de T-SQL :
Syntaxe
Exemple :
Dans l’exemple suivant, l’utilisateur naima_keroui se voit interdire la possibilité de supprimer des
informations depuis la table matière