TECHNOLOGIES ORACLE Contrôle des utilisateurs © sebvita.com Objectifs En suivant ce cours, vous serez capable : • Différencier les privilèges systèmes des privilèges objets • Donner et retirer des accès aux utilisateurs © sebvita.com Contrôle des utilisateurs © sebvita.com Présentation Administrateur de base de données Nom d’utilisateur et passe Privilèges Utilisateurs Présentation • Sécurité de la base de données : – Sécurité du système – Sécurité des données • Privilèges systèmes : accès à la base données • Privilèges objets : manipuler le contenu des objets • Schéma : la collection des objets (tables, vues, synonymes, séquences) d’un utilisateur Privilèges système • Plus de 100 privilèges disponibles • L’administrateur de base de données a de hauts niveaux de privilèges systèmes comme : – Création des utilisateurs – Suppression des utilisateurs – Suppression des tables – Sauvegardes Privilèges systèmes • Après la création d’un utilisateur, le DBA peut lui attribuer des droits GRANT privilege [, privilege...] TO user [, user | role, PUBLIC...]; • Par exemple, pour un développeur d’applications : – CREATE SESSION – CREATE TABLE – CREATE SEQUENCE – CREATE VIEW – CREATE PROCEDURE Donner des privilèges GRANT create session, create table, create sequence, create view TO scott; Grant succeeded. Dictionnaire de données Data Dictionary View USER_SYS_PRIVS Description Privilèges systèmes accordés à l’utilisateur Gestion des utilisateurs • La clause CREATE USER : CREATE USER user IDENTIFIED BY password; CREATE USER HR IDENTIFIED BY HR; User created. Gestion des utilisateurs • Le DBA crée l’utilisateur avec un mot de passe • L’utilisateur peut le changer avec ALTER USER : ALTER USER HR IDENTIFIED BY employ; User altered. Privilèges objets Objets Privilèges objets ALTER DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE Table Vue Séquence Procédure Privilèges objets • Les privilèges objets varient selon les objets • Le propriétaire d’un objet a tous les droits dessus • Le propriétaire d’un objet peut déléguer ses droits GRANT object_priv [(columns)] ON object TO {user|role|PUBLIC} [WITH GRANT OPTION]; Donner des privilèges • Donner des privilèges sur la table EMPLOYEES : GRANT select ON employees TO sue, rich; Grant succeeded. • Donner des privilèges sur des colonnes spécifiques à des utilisateurs et rôles GRANT update (department_name, location_id) ON departments TO scott, manager; Grant succeeded. Déléguer des privilèges • Permettre à un utilisateur de déléguer un privilège GRANT select, insert ON departments TO scott WITH GRANT OPTION; Grant succeeded. • Permettre à tous les utilisateurs de récupérer des données de la table DEPARTMENTS d’Alice GRANT select ON alice.departments TO PUBLIC; Grant succeeded. Dictionnaire de données Vues USER_TAB_PRIVS_MADE USER_TAB_PRIVS_RECD USER_COL_PRIVS_MADE USER_COL_PRIVS_RECD Descriptions Privilèges objets donnés sur une table par un utilisateur Privilèges objets reçus par un utilisateur Privilèges objets donnés sur une colonne à un utilisateur Privilèges objects reçus sur une colonne par un utilisateur Retirer des privilèges • Utilisation de la clause REVOKE • Privilèges accordés grâce à WITH GRANT OPTION supprimés REVOKE {privilege [, privilege...] | ALL} ON object FROM {user[, user...] | role | PUBLIC} [CASCADE CONSTRAINTS]; Retirer des privilèges • Exemple : REVOKE select, insert ON departments FROM scott; Revoke succeeded. Rôles Utilisateurs Manager Privilèges Attribuer des privilèges sans rôles Attribuer des privilèges grâce aux rôles Rôles • Créer un rôle CREATE ROLE manager; Role Created. • Attribuer des privilèges au rôle GRANT create table, create view TO manager; Grant succeeded. • Attribuer le rôle aux utilisateurs DE_HAAN et KOCHHAR GRANT manager TO DE_HAAN, KOCHHAR; Grant succeeded. Dictionnaire de données Vues Descriptions ROLE_SYS_PRIVS Privilèges systèmes accordés à un rôle ROLE_TAB_PRIVS Privilèges d’une table accodés à un rôle USER_ROLE_PRIVS Rôles accessibles par l’utilisateur VOUS AVEZ DES QUESTIONS ? © sebvita.com Contrôle des utilisateurs © sebvita.com Résumé Les privilèges systèmes Les rôles L’attribution et le retrait de privilèges Les privilèges objets © sebvita.com Ressources • http://www.oracle.com • http://otn.oracle.com © sebvita.com