0% ont trouvé ce document utile (0 vote)
3 vues8 pages

PARTIE 1: Découverte

Le document traite des privilèges dans une base de données, expliquant leur importance pour l'accès et les actions des utilisateurs. Il distingue les privilèges système, objet et les rôles, tout en mettant en garde contre les risques associés aux options WITH GRANT et WITH ADMIN. Enfin, il recommande d'appliquer le principe du moindre privilège pour une gestion sécurisée des droits d'accès.

Transféré par

marafa hamidou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues8 pages

PARTIE 1: Découverte

Le document traite des privilèges dans une base de données, expliquant leur importance pour l'accès et les actions des utilisateurs. Il distingue les privilèges système, objet et les rôles, tout en mettant en garde contre les risques associés aux options WITH GRANT et WITH ADMIN. Enfin, il recommande d'appliquer le principe du moindre privilège pour une gestion sécurisée des droits d'accès.

Transféré par

marafa hamidou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

PARTIE 1 : Découverte

1. La liste affichée représente l’ensemble des privilèges disponibles pour l’utilisateur


connecté dans sa session actuelle.

2. Chaque élément est un privilège système ou objet qui permet d’effectuer une action
dans la base.

Exemples concrets :
• CREATE SESSION → se connecter à la base
• SELECT ANY TABLE → lire toutes les tables
• INSERT ANY TABLE → insérer des données
• CREATE USER → créer des utilisateurs

[Link] ne peut pas travailler sans ces privilèges parce que sans cela il est impossible de
se connecter, d’accéder aux données ou encore d’exécuter des requêtes
PARTIE 2 : Privilèges système
On cree dabord l’utilisateur user_test ;

1. Ça marche parce qu’on a accorde à l’utilisateur user_test le privilege système


CREATE TABLE lui permettant de créer des tables dans la base.

2. Le privilège système CREATE TABLE permet à utilisateur de créer des tables


dans son espace, définir des structures et Stocker des informations dans la base.

3. C’est un privilège global.


• Il s’applique à toute la base de données
• L’utilisateur peut créer des tables dans son propre schéma
• Il n’est pas limité à une seule table ou un seul objet existant

PARTIE 3: Révocation
REVOKE CREATE TABLE FROM user_test;

Creer une table

1. L’utilisateur ne peut plus créer de tables.


La commande CREATE TABLE est refusée par Oracle

2. Parce que le privilège CREATE TABLE a été retiré.

PARTIE 4 : Privilèges objet

1. Cela fonctionne parce que le privilège d’objet SELECT a été accordé à user_test sur
la table table_test.
2. Non, il ne peut pas modifier la table. Il ne possède que : SELECT.
3. Différence avec CREATE TABLE ?
CREATE TABLE (privilège système)

• Permet de créer des tables


• S’applique globalement à la base

C’est un droit global

SELECT ON table (privilège objet)

• Permet uniquement d’accéder à une table précise


• S’applique à un objet spécifique

C’est un droit localisé

PARTIE 5 : WITH GRANT OPTION

1. Que permet cette option ?

WITH GRANT OPTION permet à l’utilisateur d’utiliser le privilège (SELECT)


et de le transmettre à d’autres utilisateurs

Donc user_test devient un relais de privilèges

2. Est-ce dangereux ?

Oui, c’est potentiellement dangereux.

Pourquoi ?

• Propagation incontrôlée des droits


• Un utilisateur peut donner l’accès à n’importe qui
• Chaîne de privilèges difficile à contrôler
• Risque de fuite de données sensibles
PARTIE 6 : Rôles

1. Pourquoi ça fonctionne ?

Parce que user_test a reçu le rôle role_dev et ce rôle contient les privilèges :

• CREATE TABLE
• CREATE VIEW

Donc Oracle autorise ces actions même si elles ne sont pas données directement à l’utilisateur.

2. D’où viennent les privilèges ?

Les privilèges viennent du rôle role_dev

Donc :

• les privilèges ne sont pas directement liés à l’utilisateur


• ils sont hérités via le rôle

PARTIE 7 : Révocation de rôle


1. Que se passe-t-il ?

La création de la table échoue avec une erreur :

ORA-01031 : insufficient privileges

L’utilisateur ne peut plus créer de table ni de vue.

Explication

Avant, user_test avait le rôle role_dev

• Ce rôle contenait :
o CREATE TABLE
o CREATE VIEW

Donc il pouvait créer des objets

PARTIE 8 : WITH ADMIN OPTION

1. Que permet cette option ?


WITH ADMIN OPTION permet à l’utilisateur d’utiliser le rôle, de le donner à
d’autres utilisateurs et de le retirer (REVOKE) à d’autres utilisateurs

Donc user_test devient un administrateur du rôle

2. Différence entre WITH GRANT OPTION et WITH ADMIN OPTION

La clause WITH GRANT OPTION s’applique aux privilèges d’objet (comme SELECT,
INSERT, UPDATE sur une table ou une vue) et permet à un utilisateur non seulement d’utiliser
le privilège, mais aussi de le transmettre à d’autres utilisateurs. En revanche, la clause WITH
ADMIN OPTION s’applique aux rôles et aux privilèges système ; elle permet à un utilisateur
de gérer entièrement le rôle, c’est-à-dire de l’attribuer à d’autres utilisateurs mais aussi de le
révoquer (REVOKE). Ainsi, WITH GRANT OPTION se limite au partage d’un privilège sur
un objet, tandis que WITH ADMIN OPTION offre un contrôle plus avancé incluant la gestion
complète du rôle, ce qui le rend plus puissant mais aussi plus sensible en termes de sécurité.

PARTIE 9 : Synthèse

1. Différence entre privilège système, objet et rôle

• Privilège système : autorise des actions globales sur la base de données (ex :
CREATE TABLE, CREATE USER). Il s’applique à toute la base et non à un objet
précis.
• Privilège objet : autorise des actions sur un objet spécifique (ex : SELECT, INSERT
sur une table ou une vue). Il est lié à un objet précis.
• Rôle : ensemble de privilèges (système et/ou objet) regroupés pour simplifier leur
attribution aux utilisateurs.

2. Pourquoi utiliser les rôles ?

Les rôles permettent de regrouper plusieurs privilèges et de les attribuer en une seule fois à
un utilisateur. Cela simplifie la gestion des droits, améliore la maintenance, évite les erreurs
d’attribution et facilite l’administration de la sécurité dans la base de données.

3. Danger de WITH GRANT OPTION et WITH ADMIN OPTION

• WITH GRANT OPTION permet à un utilisateur de transmettre un privilège d’objet


à d’autres utilisateurs, ce qui peut entraîner une propagation incontrôlée des accès.
• WITH ADMIN OPTION permet à un utilisateur de gérer un rôle (l’attribuer ou le
révoquer), ce qui peut également entraîner une distribution excessive des privilèges.
Dans les deux cas, il existe un risque de perte de contrôle et de compromission de la
sécurité si ces options sont mal utilisées.

4. Donner une bonne pratique

Une bonne pratique consiste à appliquer le principe du moindre privilège, c’est-à-dire


n’accorder à chaque utilisateur que les droits strictement nécessaires. Il est également
recommandé d’utiliser les rôles pour centraliser la gestion des privilèges, et de limiter l’usage
des options WITH GRANT OPTION et WITH ADMIN OPTION aux utilisateurs de
confiance uniquement.

Vous aimerez peut-être aussi