Administration des bases de données



Documents pareils
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.

Gestion des utilisateurs et de leurs droits

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

Bases de données et sites WEB

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

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

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

TP Administration Oracle

INSIA Bases de données ORACLE Installation SQL*Plus SQL-Developer

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

Chapitre III Architecture de Base de Données Oracle

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

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

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

Auto-évaluation Oracle: cours de base

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

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

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

TP11 - Administration/Tuning

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

Olivier Mondet

Fascicule des Travaux Pratiques Oracle

TP Contraintes - Triggers

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

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

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

Qui est Sybase ianywhere?

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

INSIA SIGL Bases de données ARCHITECTURE ORACLE

Administration des Bases de Données Oracle

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

Du 10 Fév. au 14 Mars 2014

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

Bases de Données Réparties

Le Langage SQL version Oracle

SQL Historique

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

Historisation des données

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

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

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

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

Bases de données avancées

CHAPITRE 1 ARCHITECTURE

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

Rootkits sous Oracle

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

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

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

OpenPaaS Le réseau social d'entreprise

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

Master Exploration Informatique des données DataWareHouse

Administration des bases de données

Devoir Data WareHouse

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

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

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

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

Oracle : Administration

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

Le Langage De Description De Données(LDD)

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

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

Les bases de données

Cours: Administration d'une Base de Données

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

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

1. Qu'est qu'un tablespace?

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

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

Bases de Données. Avancées

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

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

CATALOGUE FORMATIONS DOMAINE Bases de données

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

Guide d installation de SugarCRM Open Source version 4.5.1

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

Base de données II Module 3b

Bases de Données Avancées

Procédure serveur : gestion des environnements X3 et bases de données ORACLE

PREPARATION AU PTI SGBD

Architecture de la plateforme SBC

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Intégrité des données

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

//////////////////////////////////////////////////////////////////// Administration bases de données

Administration des bases de données relationnelles Part I

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

PHP 4 PARTIE : BASE DE DONNEES

CREATION WEB DYNAMIQUE

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

Création d'une nouvelle base de données

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

et Groupe Eyrolles, 2006, ISBN :

Sécurité Oracle Gérard Schaller Grifes 28 Octobre 2003

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

WDpStats Procédure d installation

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

Transcription:

Administration des bases de données Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/

Administration des bases de données III Protection des données : contrôles d accès

OBJECTIFS 3.1. NOTIONS 3.1.1. Politiques de contrôle d accès aux données 3.1.2. Contrôle discrétionnaire : privilèges 3.1.3. Contrôle à base de rôles 3.2. PRATIQUES 3.2.1. Contrôle discrétionnaire sous Oracle 3.2.2. Contrôle d accès par rôle sous Oracle

POLITIQUES DE CONTRÔLE D ACCES 3.1.1 Trois modèles principaux de contrôle des accès dans les systèmes d information Politique de contrôle discrétionnaire (DAC) Politique de contrôle à base de rôles (RBAC) Politique de contrôle obligatoire (MAC)

POLITIQUES DE CONTRÔLE D ACCES 3.1.1 Politique de contrôle discrétionnaire Privilèges spécifiques de chaque utilisateur sur chaque objet Politique de contrôle à base de rôles Privilèges spécifiques à un rôle correspondant à une fonction dans l institution utilisant le système d information Utilisateurs rattachés à un rôle particulier. Politique de contrôle obligatoire Idée: les choix de protection ne doivent pas être pris par l utilisateur Niveaux de classification des objets Niveaux d habilitation des utilisateurs Exemple U peut accéder à objet O si Niveau habilit. U > Niveau classif O U peut modifier un O si Niveau habilit. U = Niveau classif O

CONTRÔLE DISCRETIONNAIRE 3.1.2 Norme SQL (2008) Autorise la gestion de privilèges : contrôle d accès discrétionnaire et/ou à base de rôles Ordres LCD (Langage de Contrôle de Données) GRANT [ ] TO utilisateur role REVOKE [ ] FROM utilisateur role CREATE ROLE nom Standard SQL assez général dans la gestion de privilèges : extensions / spécificités propres à chaque SGBD.

CONTRÔLE DISCRETIONNAIRE 3.1.2 Type de privilège Privilège système : droit global d exécuter un type d ordre SQL Exemple : CREATE TABLE, ALTER TABLE etc GRANT priv TO utilisateur role REVOKE priv FROM utilisateur role Privilège objet : droit d exécuter un type d action (lecture, mise à jour ) sur un objet précis Exemple: SELECT, UPDATE, INSERT etc Par défaut, un utilisateur a tous les privilèges objet sur les objets qui lui appartiennent, les autres aucun (sauf DBA) GRANT priv ON objet TO utilisateur role REVOKE priv ON objet FROM utilisateur role GRANT priv ON objet(att1, attn) TO utilisateur role REVOKE priv ON obj(att1,,attn) FROM utilisateur role

VUES ET CONTRÔLE D ACCES 3.1.1 Vues moyen aisé d avoir un contrôle direct sur les accès Table1 Att1 : select OK pour PUBLIC GRANT sur attributs GRANT sur vue GRANT SELECT ON Table1 (Att1) TO PUBLIC; CREATE VIEW S_ATT1 AS SELECT Attr1 FROM Table1; GRANT SELECT ON S_ATT1 TO PUBLIC;

ORACLE : UTILISATEURS 3.2.1. Création Droit de création limité au DBA (utilisateur prédéfini : SYSTEM) Accorde un droit de connexion à l utilisateur

ORACLE : UTILISATEURS 3.2.1. Création CREATE USER <nom_id> IDENTIFIED BY { <password> EXTERNALLY } [ DEFAULT TABLESPACE <nomtablesp> [QUOTA { <n> [ K M ] UNLIMITED]] [PROFILE <NomProfile>] [PASSWORD EXPIRE] [ACCOUNT { LOCK UNLOCK } ] DEFAULT TABLESPACE espace disque de travail EXTERNALLY récupère le password du compte utilisateur sur l O.S. PROFILE caractéristiques d utilisation du serveur PASSWORD EXPIRE Demander à l utilisateur de changer son password ACCOUNT LOCK création mais compte encore verrouillé

ORACLE : UTILISATEURS 3.2.1. Modification Privilège DBA par défaut Mot de passe ALTER USER <nom_id> IDENTIFIED BY <new_password> [REPLACE <old_password> ] Toute autre propriété Exemple ALTER USER <nom_id> ACCOUNT LOCK Suppression DROP USER <nom_id> [CASCADE] CASCADE suppression des objets de l utilisateur (nécessite sinon de les supprimer avant)

ORACLE : UTILISATEURS 3.2.2. Dictionnaire Oracle ALL_USERS USER_USERS USERNAME USER_ID CREATED DBA_USERS USERNAME USER_ID PASSWORD ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE DEFAULT_TABLESPACE TEMPORARY_TABLESPACE CREATED PROFILE

ORACLE : PRIVILEGES 3.2.1. Privilèges systèmes : CREATE, ALTER et DROP Exemple : CREATE TABLE, CREATE VIEW, CREATE SESSION Par défaut, pour les objets «courants» (table, vue, séquence, synonyme), droit généralement limité à CREATE. Définition de privilège système GRANT { privilège_système ALL_PRIVILEGES} TO { utilisateur PUBLIC } [WITH ADMIN OPTION] ADMIN OPTION Transfert au bénéficiaire du droit d attribuer les mêmes privilèges systèmes aux utilisateurs de son choix Retrait de privilège système REVOKE { privilege_systeme ALL_PRIVILEGES} FROM { utilisateur PUBLIC }

ORACLE : PRIVILEGES 3.2.1. Dictionnaire Oracle ALL_TAB_PRIVS USER_TAB_PRIVS ALL_COL_PRIVS USER_COL_PRIVS GRANTOR GRANTEE TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE GRANTABLE HIERARCHY ALL_ROLE_PRIVS Gestion des privilèges sous Oracle Interface SQL*Plus : ordres LCD SQL (GRANT, REVOKE) Interface Oracle Entreprise Manager

ORACLE : PRIVILEGES 3.2.1. Privilèges objets ALTER modification de la structure de l objet DELETE suppression de l objet INDEX définition d un index sur l objet INSERT insertion de tuple dans l objet REFERENCES référence à des contraintes définies sur un objet SELECT consultation (droit de lecture) UPDATE droit de modification de l objet (tuple, attribut) EXECUTE programmes PL/SQL Privilège et type d objet Table Vue Séquence ALTER, DELETE, INDEX, INSERT, REFERENCES, SELECT, UPDATE ALTER, DELETE, INSERT, SELECT, UPDATE ALTER, SELECT droit "ALL"

ORACLE : PRIVILEGES 3.2.1. Définition de privilège sur un objet GRANT { privilège_objet [, privilège objet...] ALL } ON objet TO { utilisateur [, utilisateur2 ] PUBLIC } [WITH GRANT OPTION] GRANT OPTION droit au bénéficiaire d accorder ce privilège à d autres utilisateurs Définition de privilège sur l attribut d un objet Exemple GRANT SELECT ON ma_table(col1, col2) TO PUBLIC;

ORACLE : PRIVILEGES 3.2.1. Retrait de privilège REVOKE [GRANT OPTION FOR] Priv1 [,Priv2 ] ON objet FROM { utilisateur [, utilisateur2 ] PUBLIC } [ RESTRICT CASCADE ] GRANT OPTION FOR retrait uniquement du droit de transfert CASCADE retrait des droits accordés à des tiers (ADMIN option) par celui à qui on retire le privilège RESTRICT refus du retrait en cascade A B C GRANT GRANT REVOKE?

CONTRÔLE A BASE DE ROLES 3.1.3 Rôle Regroupement d utilisateurs qui partagent les mêmes privilèges Association d un rôle à chaque utilisateur Attribution de privilèges à chaque rôle

CONTRÔLE A BASE DE ROLES 3.1.3 Création /suppression de rôles CREATE ROLE DROP ROLE Rôle prédéfinis ORACLE CONNECT connexion, CREATE et SELECT sur les objets courants RESOURCE droits en création plus avancés (index, cluster, trigger ) DBA Modification de rôle ALTER ROLE Ne concerne ni l attribution de droits, ni l affectation d utilisateurs, qui sont gérés par les ordres GRANT / REVOKE

CONTRÔLE A BASE DE ROLES 3.1.3 Association d un utilisateur GRANT role TO utilisateur Héritage de rôles GRANT role TO role [WITH ADMIN OPTION] Affectation d un privilège Les rôles s utilisent aussi bien comme identifiant d utilisateur que de privilège (ils représentent alors les droits assocés au rôle GRANT { priv_objet role } ON objet TO { utilisateur role PUBLIC } GRANT priv_system TO { utilisateur role PUBLIC }

ORACLE : ROLES 3.2.2. Rôles prédéfinis CONNECT Utilisateur de base : CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE, CREATE VIEW RESOURCE Complément pour utilisateur un peu plus avancé : CREATE PROCEDURE, CREATE TRIGGER DBA Tous les privilèges avec WITH ADMIN OPTION EXP_FULL_DATABASE IMP_FULL_DATABASE SELECT_CATALOG_ROLE EXECUTE_CATALOG_ROLE Privilèges requis pour l exportation Privilèges requis pour l importation SELECT sur les objets du dictionnaire EXECUTE sur les objets du dictionnaire

ORACLE : ROLES 3.2.2. Dictionnaire Oracle ROLE_TAB_PRIVS ROLE_SYS_PRIVS DBA_ROLES DBA_ROLE_PRIVS USER_ROLE_PRIVS ROLE_ROLE_PRIVS ROLE OWNER TABLE_NAME COLUMN_NAME PRIVILEGE GRANTABLE USERNAME GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE OS_GRANTED

CONCLUSION 3.1. Sécurisation des données Politique de contrôle des accès Mais également Gestion des accès concurrents à une même donnée Gestion des pannes Chap. IV : SGBD Transactionnels

BIBLIOGRAPHIE Ouvrages disponibles à la B.U.

RESSOURCES ELECTRONIQUES Sur la Toile Petit didacticiel sur la gestion des utilisateurs sous Oracle http://oracle.developpez.com/guide/administration/adminuser/ Serveur de documentation Emery du département Oracle SQL Reference Oracle Database reference Part. II The Static Data Dictionary