Les utilisateurs correspondent aux comptes (login et mot de passe) permettant de demander une connexion au SGBD (une personne ou une application).



Documents pareils
Gestion des utilisateurs et de leurs droits

Bases de données et sites WEB

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K.

Partie II Cours 3 (suite) : Sécurité de bases de données

420-PK6-SL Banques de données Avancées. UTILISATEURS (suite)

420-PK6-SL Banques de données Avancées UTILISATEURS

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008

TP Administration Oracle

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Olivier Mondet

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

SQL Historique

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Administration des bases de données. Jean-Yves Antoine

Bases de Données relationnelles et leurs systèmes de Gestion

Notes de cours : bases de données distribuées et repliquées

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Auto-évaluation Oracle: cours de base

Pour les débutants. langage de définition des données

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Le Langage SQL version Oracle

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Le langage SQL (première partie) c Olivier Caron

Oracle : Administration

Les déclencheurs. Version 1.0. Grégory CASANOVA

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Cours: Administration d'une Base de Données

Configurer la supervision pour une base MS SQL Server Viadéis Services

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Gestion des droits d accès. Quelques exemples de vulnérabilité

MySQL / SQL EXEMPLES

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

Le Langage De Description De Données(LDD)

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Cours Bases de données 2ème année IUT

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Introduction à JDBC. Accès aux bases de données en Java

Présentation du module Base de données spatio-temporelles

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

TP11 - Administration/Tuning

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

Cours Bases de données 2ème année IUT

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Fascicule des Travaux Pratiques Oracle

OFPPT/DRPS/ISGI LAAYOUNE FILIERE : TECHNIQUES DE DEVELOPPEMENT INFORMATIQUE TDI2 MODULE : SYSTEME DE GESTION DE BASE DE DONNES I

CHAPITRE 1 ARCHITECTURE

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Master Exploration Informatique des données DataWareHouse

Des postes Des OS (Win/Linux) et logiciels Un réseau Un identifiant + un mot de passe Un compte personnel Une adresse électronique Un espace web Des

AGRÉGATION «ÉCONOMIE ET GESTION»

Architecture de la plateforme SBC

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation.

Installation des moteurs SQL Pour Micro-SESAME

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Administration des Bases de Données Oracle

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

PHP et les Bases de données - Généralités

Modélisation et Gestion des bases de données avec mysql workbench

Bases de données relationnelles

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Cours de SQL SERVER 2005 SQL SERVER 2005

Mysql. Les requêtes préparées Prepared statements

Devoir Data WareHouse

Bases de données avancées

TP Contraintes - Triggers

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

PHP 5. La base de données MySql. A. Belaïd 1

Guide d installation de SugarCRM Open Source version 4.5.1

Compétences Business Objects

Bases de Données Réparties

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

PHP 4 PARTIE : BASE DE DONNEES

A QUOI SERVENT LES BASES DE DONNÉES?

INTRODUCTION : Données structurées et accès simplifié

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

I. MySQL : Serveur et SGBD

Langage SQL : créer et interroger une base

A QUOI SERVENT LES BASES DE DONNÉES?

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Présentation de l'outil RMAN d'oracle

1. Qu'est qu'un tablespace?

Créer son propre serveur Mail.

Du 10 Fév. au 14 Mars 2014

Administration des bases de données sous Oracle. 10g. Fabien De Marchi, Jean-Marc Petit. Université de Lyon. November 22, /96

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Bases de données et sites WEB Licence d informatique LI345

Les bases de données

Administration des bases de données relationnelles Part I

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

TP Bases de données réparties

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Transcription:

SQL Ch 10 DCL Utilisateurs, privilèges, rôles I. INTRODUCTION... 1 II. LES UTILISATEURS ( «USERS»)... 1 A. CREER UN UTILISATEUR : USER... 1 B. MODIFIER UN UTILISATEUR : ALTER USER... 2 C. SUPPRIMER UN UTILISATEUR : DROP USER... 2 III. LES PRIVILEGES ( «PRIVILEGES»)... 2 A. ATTRIBUER UN PRIVILEGE : GRANT... 3 B. RETIRER UN PRIVILEGE REVOKE... 4 IV. LES ROLES ( «ROLES»)... 4 A. CREER UN ROLE : ROLE... 5 B. ATTRIBUER ET RETIRER DES PRIVILEGES A UN ROLE : GRANT ET REVOKE... 5 C. ASSOCIER DES UTILISATEURS A UN ROLE : GRANT ET REVOKE... 5 D. SUPPRIMER UN ROLE... 5 E. ROLES PREDEFINIS... 6 I. Introduction Une fois les objets de la base de données créés par l administrateur de la base de données (tables, etc), ce dernier va devoir définir dans un premier temps, des comptes d utilisateurs dans un second temps, des privilèges associés à ces comptes d utilisateurs, nécessaires à la réalisation de leurs tâches (créer de nouvelles tables, ajouter des lignes à une table, etc.), o soit de manière individuelle, o soit en définissant des rôles au sein de l organisation, et en associant les utilisateurs à ces rôles. Documentation Oracle : http://www.oracle.com/technology/documentation/index.html Sur la version Oracle 10.2 : http://www.oracle.com/pls/db102/homepage II. Les utilisateurs ( «users») Les utilisateurs correspondent aux comptes (login et mot de passe) permettant de demander une connexion au SGBD (une personne ou une application). A. Créer un utilisateur : USER USER nomutilisateur IDENTIFIED BY motdepasse; (Pour créer un nouveau compte d utilisateur, il faut avoir le privilège «USER») Exemple 1 : créer l utilisateur «tim» avec le mot de passe «soleil» USER tim IDENTIFIED BY soleil ; SQL_ch10_droits.doc 30/03/2008 Page 1 / 6

Exemple 2 : créer l utilisateur «lea» avec le mot de passe «secret» et définir des caractéristiques pour le stockage de ses données et l utilisation du SGBD USER lea IDENTIFIED BY secret DEFAULT TABLESPACE donnees TEMPORARY TABLESPACE temporaire QUOTA 100Mo ON donnees PROFILE profil_base; (On associe à Lea un espace par défaut pour ses données (tables), un espace «temporaire» pour les tris et tables temporaires, un quota d utilisation de 100Mo sur l espace «données» ; le profil définit une configuration d utilisation des ressources du système, «profil_base»). B. Modifier un utilisateur : ALTER USER ALTER USER nomutilisateur IDENTIFIED BY motdepasse [ REPLACE ancientmotdepasse ]; Exemple : on change le mot de passe de «tim» ALTER USER tim IDENTIFIED BY neptune REPLACE soleil ; C. Supprimer un utilisateur : DROP USER DROP USER nomutilisateur [ CASCADE ] ; Exemple : supprimer l utilisateur «tim» et tous ses objets (tables, etc.)» : DROP USER tim CASCADE; III. Les Privilèges ( «privileges») Un privilège est le droit d'exécuter un type d'instruction SQL. Quelques exemples de privilèges : le droit de se connecter à une base de données (= ouvrir une session) (instruction CONNECT), le droit de créer une table (instruction TABLE), le droit de sélectionner des lignes dans une table (instruction ). Les privilèges d'une base de données Oracle sont répartis en deux catégories: les privilèges «système» : concernent des actions globales sur le SGBD (se connecter, créer des tables, etc.) les privilèges liés aux objets. : relatifs aux objets de la base (table, vue, etc) qu un utilisateur possède (en est le propriétaire, Owner). Pour se connecter au SGBD, il faut avoir le privilège SESSION SQL_ch10_droits.doc 30/03/2008 Page 2 / 6

UTILISATEURS Lea Bill Tim Lise Max Bob PRIVILEGES TABLE VIEW... SESSION TRIGGER USER INSERT UPDATE ON vue_employe SYSTEME OBJETS DE LA BASE A. Attribuer un privilège : GRANT C est un utilisateur administrateur (DataBase Administrateur, le «superutilisateur») qui attribue des privilèges «système» et c est le possesseur des objets qui attribue les privilèges liés aux objets dont il est le propriétaire. L'instruction GRANT est utilisée pour attribuer un privilège. GRANT typedeprivilege [ ON objetdelabase ] TO utilisateurs [WITH GRANT OPTION] typedeprivilege : o système : SESSION, TABLE, DROP TABLE, etc.. o objets :, INSERT, UPDATE, UPDATE (col1, col2), DELETE, ALTER, INDEX, ALL. objetdelabase : nom de la table sur laquelle porte le privilège utilisateurs : o nom du ou des utilisateurs auquel(s) sont accordés les privilèges o le mot clé PUBLIC peut être utilisé pour désigner tous les utilisateurs. WITH GRANT OPTION : on transmet le droit de donner ces privilèges Exemple 1 : accorder le privilège de se connecter au SGBD GRANT SESSION TO bob, tim, lise ; Exemple 2 : accorder le privilège d utiliser l ordre SQL sur la table «t_employe» GRANT TO bill, max, bob ; SQL_ch10_droits.doc 30/03/2008 Page 3 / 6

Exemple 3 : accorder le privilège d utiliser l ordre SQL INSERT sur la table «t_employe» à Bill et Tim et on transmet à Bill et Tim le privilège d accorder à leur tour ce privilège à d autres : GRANT INSERT TO bill, tim WITH GRANT OPTION; L utilisateur Administrateur de la base de données (DBA, DataBase Administrator) peut suivre l attribution des privilèges en utilisant les tables systèmes suivantes : DBA_TAB_GRANTS : Tous les droits sont accordés sur tous les objets de la base. DBA_USERS : Informations sur tous les utilisateurs de la base. B. Retirer un privilège REVOKE L'utilisateur ayant accordé un privilège à un autre utilisateur sur les objets qu il possède peut les lui retirer en utilisant la commande REVOKE : Syntaxe générale : REVOKE typedeprivilege ON objetdelabase FROM utilisateur; IV. Les rôles ( «roles») Les rôles permettent le regroupement d un certain nombre de privilèges communs à un groupe d utilisateurs. Ils facilitent ainsi l administration des privilèges. UTILISATEURS Lea Bill Tim Lise Max Bob ROLES Directeur_general Responsable_RH Employe_RH PRIVILEGES TABLE VIEW... SESSION TRIGGER USER INSERT ON vue_employe UPDATE SYSTEME OBJETS DE LA BASE SQL_ch10_droits.doc 30/03/2008 Page 4 / 6

A. Créer un rôle : ROLE ROLE nomrole; Exemple : création d un rôle nommé «responsable_rh» : ROLE responsable_rh; Exemple : création d un rôle nommé «employe_rh» : ROLE employe_rh; (Pour créer un rôle, l utilisateur doit avoir le privilège «ROLE»). B. Attribuer et retirer des privilèges à un rôle : GRANT et REVOKE De la même manière qu on a attribué ou rétiré des privilèges à un utilisateur, on pourra faire de même pour un rôle. Exemple : attribution des droits pour un employé des RH (Ressources Humaines, service du personnel): GRANT SESSION TO employe_rh ; GRANT TO employe_rh ; Exemple : attribution des droits pour un responsable des RH (Ressources Humaines, service du personnel): GRANT SESSION TO responsable_rh ; GRANT TO responsable _RH ; GRANT INSERT TO responsable _RH ; GRANT UPDATE TO responsable _RH ; Exemple : supprimer un privilège (tous les utilisateurs associés à ce rôle voient leurs privilèges modifiés): REVOKE UPDATE FROM responsable _RH ; C. Associer des utilisateurs à un rôle : GRANT et REVOKE De la même manière qu on a attribué ou retiré des privilèges à un utilisateur, on pourra faire de même pour un rôle. Exemple : attribuer aux utilisateurs bill et tim les droits relatifs au rôle responsable_rh : GRANT responsable_rh TO bill, tim; Exemple : retirer aux utilisateurs bill et tim les droits relatifs au rôle responsable_rh : REVOKE responsable_rh FROM bill, tim; D. Supprimer un rôle La suppression d un rôle entraîne la suppression des droits qui lui avait été attribués ; cette suppression de privilèges s applique en cascade aux utilisateurs qui y étaient liés. SQL_ch10_droits.doc 30/03/2008 Page 5 / 6

Exemple : Supprimer le rôle responsable_rh : DROP ROLE responsable_rh; E. Rôles prédéfinis Certains rôles sont pré-définis dans Oracle : CONNECT : Autorise la connexion à une base Oracle ainsi qu un certain nombre d autres actions (privilèges associés TABLE, VIEW, SESSION, etc.) RESOURCE : Permet, en plus de la création de table et de vue, l'utilisation de trigger et de procédure DBA : Ce rôle regroupe tous les privilèges système pour la gestion des utilisateurs et de leurs tables. Chacun de vos comptes ont été créés de la manière suivante : create user votrelogin identified by votremotdepasse; grant connect, resource to votrelogin; On aurait pu utiliser la syntaxe suivante : create role etudiantannee1; grant connect, resource to etudiantannee1; create user votrelogin identified by votremotdepasse; grant etudiantannee1 to votrelogin ; De cette manière toute modification extension ou restriction appliquée au rôle «etudiantannee1» s appliquerait automatiquement à tous les étudiants bénéficiant de ce rôle. SQL_ch10_droits.doc 30/03/2008 Page 6 / 6