Entre
Compte Rendu : Entre. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresouvez octroyer (grant) ou révoquer (revoke) des privilèges de niveau objet aux utilisateurs des bases de données
Privilège
SELECT INSERT UPDATE DELETE ALTER EXECUTE READ REFERENCE INDEX Année 2006-2007
Action autorisée
Visualiser des données dans une table / vue Insérer des lignes dans une table / vue Modifier une ou plusieurs colonnes dans une table/vue Supprimer une ou plusieurs lignes dans une table/vue Modifier la définition d'un objet Compiler, exécuter, accéder à une unité de programme Lire des fichiers dans un répertoire Créer une contrainte qui se réfere à une table Créer un index sur une table Sécurité des Bases de Données / Implémentation de la Sécurité Page 6
3.1. Les Privilèges et les Rôles
Les Privilèges Objet ( octroi et révocation )
• La syntaxe pour octroyer des privilèges objet est la suivante :
Grant on to [ with grant option] Exemple : grant select on employes to marie;
• La syntaxe pour révoquer des privilèges objet est la suivante : • On nomme celui qui donne le droit le GRANTOR • Celui qui a reçu le droit est le GRANTEE
Revoke on from ; Exemple : revoke select on employes from marie;
Année 2006-2007
Sécurité des Bases de Données / Implémentation de la Sécurité
Page 7
3.1. Les Privilèges et les Rôles
Les Privilèges Objet ( with grant option )
• La clause [with grant option] va permettre à la personne autorisée (grantee) par le grantor, de pouvoir transmettre le droit qu'elle a reçu (en transmettant éventuellement la clause with grant option). • Cette option n'est pas valable pour un octroi à un rôle • Si les deux conditions ci-dessous sont vraies, le Grantee pourra créer des vues sur la table et octroyer les privilèges correspondants sur la vue à n'importe quel autre utilisateur/rôle
Le grantee reçoit le privilège objet avec with grant option Le grantee possède le privilège système CREATE VIEW ou CREATE ANY VIEW
Année 2006-2007
Sécurité des Bases de Données / Implémentation de la Sécurité
Page 8
3.1. Les Privilèges et les Rôles
Les Privilèges Objet ( column-based )
• On peut octroyer des droits (INSERT, UPDATE ou REFERENCES) à des colonnes individuelles d'une table • Attention : en octroyant un INSERT (column_based), il faut penser soit à :
Inclure toutes les colonnes NOT NULL de la table dans les grants Vérifier que ces colonnes ont une DEFAULT VALUE
• Exemples :
GRANT INSERT (Num_facture) ON facture TO Arielle; GRANT INSERT(Nom_Emp, Id_Job) ON employe TO Michel, Pascale;
Année 2006-2007 Sécurité des Bases de Données / Implémentation de la Sécurité Page 9
3.1. Les Privilèges et les Rôles
Les Privilèges Système ( system privileges )
• Bon nombre de privilèges système possèdent une forme spécifique et une forme générique correspondante. • La première forme va permettre à un utilisateur de manipuler des objets dans son schéma : privilège = CREATE TABLE (créer des tables) • La deuxième forme va permettre à un utilisateur de manipuler des objets situés dans d'autres schémas: privilège : CREATE ANY TABLE
Année 2006-2007
Sécurité des Bases de Données / Implémentation de la Sécurité
Page 10
3.1. Les Privilèges et les Rôles
Les Privilèges Système ( octroi et révocation )
• La syntaxe pour octroyer des privilèges système est la suivante :
Grant to [ with admin option] Exemple : grant create table to marie;
• La syntaxe pour révoquer des privilèges objet est la suivante : • On nomme celui qui donne le droit le GRANTOR • Celui qui a reçu le droit est le GRANTEE
Revoke from ; Exemple : revoke create table from marie;
Année 2006-2007
Sécurité des Bases de Données / Implémentation de la Sécurité
Page 11
3.1. Les Privilèges et les Rôles
Les Privilèges Système ( with admin option )
• La clause [with admin option] va permettre à la •
personne autorisée (grantee) par le grantor, de pouvoir transmettre le privilège système qu'elle a reçu. Quand un utilisateur crée un rôle, ce rôle est automatiquement octroyé au créateur avec la clause WITH ADMIN OPTION.
Année 2006-2007
Sécurité des Bases de Données / Implémentation de la Sécurité
Page 12
3.1. Les Privilèges et les Rôles
Les Privilèges Système ( with admin option )
• Un grantee qui aurait reçu un privilège système ou un
rôle WITH ADMIN OPTION a plusieurs possibilités étendues :
Le grantee peut octroyer à son tour ce privilège ou rôle, mais peut également le révoquer de n'importe qui Le grantee peut également transmettre cette clause WITH ADMIN OPTION Le grantee d'un rôle peut modifier ou supprimer (!) ce rôle ➔On comprend donc qu'il faut vraiment donner l'ADMIN OPTION avec beaucoup de prudence et de contrôle (avec un audit des grants et revoke)
Année 2006-2007 Sécurité des Bases de Données / Implémentation de la Sécurité Page 13
3.1. Les Privilèges et les Rôles
Les Privilèges Système ( rôle CONNECT )
• Oracle permet de créer directement un utilisateur en
lançant la commande :
• Remarque : CONNECT est un rôle qui, jusqu'à la version 9i •
GRANT CONNECT TO newuser identified by jolipass;
(incluse) d'Oracle comprenait un ensemble de privilèges système « create table, create synonym, ... ! » Depuis la 10g, ce rôle ne contient plus que le privilège système « create session ».
Année 2006-2007
Sécurité des Bases de Données / Implémentation de la Sécurité
Page 14
3.1. Les Privilèges et les Rôles
Transmission des privilèges système - exemples
• MARLENE octroie à AARON le privilège CREATE TABLE avec la clause
Marlene> grant create table to aaron with admin option;
• AARON transmet le même privilège à STEVE (grâce au qu'il a reçu
Aaron> grant create table to steve;
• Attention : Si Marlène décide de révoquer le droit CREATE TABLE à AARON, STEVE le conservera
Marlene> revoke create table on employes from aaron; Steve> create table toto (id number); /* continuera à fonctionner */
Année 2006-2007 Sécurité des Bases de Données / Implémentation de la Sécurité Page 15
3.1. Les Privilèges et les Rôles
Privilèges système requis pour les utilisateurs
• UN SEUL privilège système est nécessaire pour qu'un utilisateur puisse se connecter à une instance Oracle : CREATE SESSION. • Tous les autres privilèges systèmes doivent être donnés avec parcimonie et analysés au cas par cas si une application en demande plus. • Un OWNER d'application ( USER + Objets = SCHEMA) a besoin de privilèges supplémentaires pour créer ses objets (si c'est lui qui les crée) , mais surtout des quotas d'occupation dans les tablespaces pour y stocker les objets.
Année 2006-2007 Sécurité des Bases de Données / Implémentation de la Sécurité Page 16
3.1. Les
...