Cours Administration BD



Documents pareils
Gestion des utilisateurs et de leurs droits

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

Bases de données et sites WEB

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

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

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

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

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

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

Olivier Mondet

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

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

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

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

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

Le Langage De Description De Données(LDD)

SQL Historique

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

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

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

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

TP Administration Oracle

Auto-évaluation Oracle: cours de base

Cours de SQL SERVER 2005 SQL SERVER 2005

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

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

Cours: Administration d'une Base de Données

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

Chapitre III Architecture de Base de Données Oracle

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

MySQL / SQL EXEMPLES

TP Contraintes - Triggers

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

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

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

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

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é

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

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

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

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

INSIA SIGL Bases de données ARCHITECTURE ORACLE

TP Bases de données réparties

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

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

Département Génie Informatique

TP11 - Administration/Tuning

BTS/CGO P10 SYSTEME INFORMATION Année

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

Fascicule des Travaux Pratiques Oracle

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

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

Le Langage SQL version Oracle

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

Bases de données avancées

Administration des Bases de Données Oracle

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

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

Devoir Data WareHouse

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

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

CREATION WEB DYNAMIQUE

Les bases de données

CATALOGUE FORMATIONS DOMAINE Bases de données

Historisation des données

Intégrité sémantique dans les bases de données relationnelles

Compétences Business Objects

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

SQL Server administration SERVEUR DE BASES DE DONNEES OLIVIER D.

Master Exploration Informatique des données DataWareHouse

I/ Présentation. On considère une BD CIRQUE dont le schema conceptuel : PERSONNEL _CIRQUE (NOM, ROLE) ;

Intégrité des données

Rootkits sous Oracle

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

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

Qui est Sybase ianywhere?

Setting Up PC MACLAN File Server

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

Création et Gestion des tables

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

Bases de données relationnelles

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

IFT3030 Base de données. Chapitre 1 Introduction

OpenPaaS Le réseau social d'entreprise

Installation d'un serveur FTP géré par une base de données MySQL

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

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

Langage SQL : créer et interroger une base

TP3 : Creation de tables 1 seance

Synchronisation Mysql (Replication)

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Bases de données Cours 4 : Le langage SQL pour ORACLE

Bases de Données Avancées

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

Transcription:

Faculté des Sciences de Gabès Cours Administration BD Chapitre 3 : Administrer la sécurité utilisateur Gestion des utilisateurs et de leurs droits (Partie 2) Faîçal Felhi felhi_fayssal@yahoo.fr 1

Privilèges système et objet Lorsqu'un utilisateur est créé avec l'instruction CREATE USER, il ne dispose encore d'aucun droit car aucun privilège ne lui a encore été assigné. Il ne peut même pas se connecter à la base! 2

Utilisateur Oracle Nom Utilisateur USER Mot de passe Ensembles de privilèges Droits des utilisateurs Profil Privilège Privilège Système Privilège Objet Le droit d exécuter un ordre SQL (Ex : créer une table) Le droit d accéder à un objet d un autre utilisateur (Ex : Mettre à jour les données De la table CLIENT) 3 3

Gestion des privilèges Gestion des privilèges au niveau system Attribution des privilèges systèmes Suppression des privilèges systèmes Listes de quelques privilèges systèmes Gestion des privilèges au niveau objet Attribution des privilèges objets Suppression de privilèges Listes des privilèges objets 4 4

Gérer les droits: A. Privilège système Définition Est le droit d exécuter un ordre SQL Chaque ordre SQL a au moins un privilège système associé qui porte le même nom que l ordre SQL Par exemple l ordre CREATE TABLE possède un privilège système associé CREATE TABLE qui donne le droit de créer une table dans son propre schéma 5

Attribution d un privilège système : Syntaxe (1) GRANT {<privilège_système> <rôle>} [,{<privilège_système> <rôle>}, ] TO {<nom_utilisateur> <rôle> PUBLIC } [,{<nom_utilisateur> <rôle> PUBLIC, }] [WITH ADMIN OPTION] ; La commande GRANT permet d accorder n importe quel privilège système ou rôle à un utilisateur, à un rôle, ou au groupe d utilisateurs 6 6

Attribution d un privilège système : Syntaxe (2) GRANT {<privilège_système> <rôle>} [,{<privilège_système> <rôle>}, ] TO {<nom_utilisateur> <rôle> PUBLIC } [,{<nom_utilisateur> <rôle> PUBLIC, }] [WITH ADMIN OPTION] ; PUBLIC permet d affecter le privilège ou le rôle à tous les utilisateurs 7 7

Attribution d un privilège système : Syntaxe (3) GRANT {<privilège_système> <rôle>} [,{<privilège_système> <rôle>}, ] TO {<nom_utilisateur> <rôle> PUBLIC } [,{<nom_utilisateur> <rôle> PUBLIC, }] [WITH ADMIN OPTION] ; WITH ADMIN OPTION autorise celui qui a reçu le privilège ou le rôle à le transmettre à un autre utilisateur ou un autre rôle 8 8

Exemple GRANT CREATE TABLE, CREATE VIEW, TO nom_utilisateur ; 9 9

Suppression d un privilège système : Syntaxe REVOKE { <privilège_système> <rôle> } [, { <privilège_système> <rôle> }] FROM { <utilisateur> <rôle> PUBLIC } [, { <utilisateur> <rôle> PUBLIC }] ; REVOKE permet d enlever un privilège ou un rôle à un utilisateur ou un rôle 10 10

Gérer les droits: B. Privilège objet Définition Est le droit d accéder à un objet d un autre utilisateur Par exemple mettre à jour les données de la table CLIENT Par défaut, seul le propriétaire d un objet a le droit d y accéder Pour qu un autre utilisateur puisse accéder à l objet, le propriétaire de l objet doit lui donner un privilège objet Les principaux privilèges objets sont les suivants : Privilège Table Vue programme SELECT X X INSERT X X UPDATE X X DELETE X X EXECUTE X 11

Attribution d un privilège objet à un utilisateur Syntaxe: GRANT {nom_privilège *(liste de colonnes)+ *, + ALL PRIVILEGES} ON[nom_schema.] objet TO {nom_utilisateur PUBLIC} *, + [WITH GRANT OPTION] 12

Exemple GRANT SELECT,INSERT,UPDATE,DELETE ON SCOTT.EMP TO nom_utilisateur ; Pour pouvoir mettre à jour ou supprimer des lignes d'une table, les privilèges UPDATE ET DELETE ne suffisent pas. Le privilège SELECT est nécessaire 13

Révocation d un privilège objet à un utilisateur Syntaxe: REVOKE {nom_privilège *(liste de colonnes)+ *, + ALL PRIVILEGES} ON[nom_schema.] objet FROM {nom_utilisateur PUBLIC} *, + 14

Gérer les droits: C. Rôle Définition Est un regroupement nommé de privilèges (système ou objet) qui peut être attribué à un utilisateur Les principales caractéristique sont: Un rôle peut être attribué à un rôle Un utilisateur peut avoir plusieurs rôles La mise en œuvre s effectue en trois étapes: Création du rôle Attribution des privilèges Attribution de rôle aux utilisateurs 15

Création d un rôle Syntaxe: CREATE ROLE nom [IDENTIFIED { BY mdp EXTERNALLY NOT IDENTIFIED } IDENTIFIED BY mdp: indique qu un mdp est nécessaire pour activer le rôle IDENTIFIED EXTERNALLY indique qu une identification externe est nécessaire pour activer le rôle 16

Attribution d un privilège à un rôle Syntaxe pour les privilèges système: GRANT {nom_privilège *, + TO nom_rôle *, + [WITH ADMIN OPTION] Syntaxe pour les privilèges objet: GRANT {nom_privilège *(liste de colonnes)+ *, + ALL PRIVILEGES} ON[nom_schema.] objet TO nom_rôle *, + [WITH ADMIN OPTION] 17

Révocation d un privilège à un rôle Syntaxe pour les privilèges système: REVOKE nom_privilège *, + FROM nom_rôle *, + Syntaxe pour les privilèges objet: REVOKE {nom_privilège *(liste de colonnes)+ *, + ALL PRIVILEGES} ON[nom_schema.] objet FROM nom_rôle *, + 18

Attribution d un rôle à un utilisateur ou à un rôle Syntaxe: GRANT nom_rôle *, + TO {nom_utilisateur PUBLIC nom_rôle} *, + [WITH ADMIN OPTION] 19

Révocation d un rôle à un utilisateur ou à un rôle Syntaxe REVOKE nom_rôle *, + FROM {nom_utilisateur PUBLIC nom_rôle} *, + Suppression d un rôle Syntaxe DROP ROLE nom_rôle 20

Activation ou désactivation d un rôle (1) Un rôle attribué à un utilisateur est par défaut automatiquement activé lors de la connexion de l utilisateur Si l utilisateur est connecté au moment de l attribution du rôle, l activation immédiate n est pas automatique L utilisateur peut activer le rôle grâce à l ordre SQL SET ROLE L ordre ALTER USER permet de définir les rôles par défaut d un utilisateur 21

Activation ou désactivation d un rôle (2) Syntaxe ALTER USER nom_utilisateur DEFAULT ROLE {nom_rôle [,..] ALL EXCEPT nom_rôle [,..]] NONE}; ALL tous les rôles attribués à l utilisateur sont activés par défaut. EXCEPT permet d en enlever certains NONE aucun des rôles attribués à l utilisateur n est activé par défaut Cet ordre annule et remplace la situation actuelle des rôles par défaut, elle n enlève pas les rôles à la liste actuelle L ordre SET ROLE permet d activer ou désactiver un rôle 22

Rôles Standards Il existe trois rôles par défaut dans Oracle : CONNECT : Pour les utilisateurs occasionnels qui n ont normalement pas besoin de créer des tables (même s ils pourront le faire). Ce rôle autorise simplement d utiliser Oracle : il permet de créer des tables, des vues, etc. RESOURCE : Pour les utilisateurs réguliers. Accorde des droits supplémentaires pour la création de tables, de séquences, de procédures, de déclencheurs, d index, etc. DBA : Regroupe tous les privilèges de niveau système et la possibilité d accorder n importe quel privilège à un autre utilisateur. 23 23

Trouver les informations sur les droits (1) Privilège système Plusieurs vues du dictionnaire de données permettent d obtenir des informations sur les privilèges système DBA_SYS_PRIVS : Privilèges systèmes attribuées aux utilisateurs ou aux rôles SESSION_PRIVS : Privilège système actuellement actifs dans la session SYSTEM_PRIVILEGE_MAP liste de tous les Privilège système 24

Trouver les informations sur les droits (2) Privilège objet Plusieurs vues du dictionnaire de données permettent d obtenir des informations sur les privilèges objet DBA_TAB_PRIVS : Privilèges objet attribuées aux utilisateurs ou aux rôles sur la totalité de l objet DBA_COL_PRIVS : Privilèges objet attribuées aux utilisateurs ou aux rôles sur certaines colonnes de l objet TABLE_PRIVILEGE_MAP liste de tous les Privilège objet 25

Trouver les informations sur les droits (3) Rôle Plusieurs vues du dictionnaire de données permettent d obtenir des informations sur les rôle DBA_ROLE : listes des rôles existant dans la BD DBA_SYS_PRIVS : Privilèges système attribuées aux utilisateurs ou aux rôles sur la totalité de l objet DBA_COL_PRIVS : Privilèges objet attribuées aux utilisateurs ou aux rôles sur certaines colonnes de l objet DBA_ROLE_PRIVS : rôles attribués au utilisateurs ou au rôles SESSION_ROLE: rôles actuellement actifs dans la session 26

Quelques exemples CREATE ROLE comp; GRANT SELECT, INSERT, UPDATE, DELETE ON CPT.FACTURE TO comp; GRANT SELECT, INSERT, UPDATE, DELETE ON CPT.LIG_FAC TO comp ; GRANT SELECT, INSERT, UPDATE, DELETE ON CPT.JOURNAL TO comp ; Une fois le rôle créé, il peut être assigné à un utilisateur ou à un autre rôle GRANT comp TO nom_utilisateur ; 27

Superviser les utilisateurs La V$SESSION permet d identifier les utilisateurs actuellement connectés SELECT sid, serial#,username,osuser,status FROM V$SESSION 28