Contrôles d'accès aux données

Slides:



Advertisements
Présentations similaires
Marta Rukoz Université Paris X - Nanterre
Advertisements

Bases de Données Avancées: Bases de Données Relationnelles
Les Systèmes de Gestion de Bases de Données (SGBD) Les vues.
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Bases de données : modèlisation et SGBD
SQL - Subtilités.
Fonctionnalités des SGBD
Le Modèle Logique de Données
Directeur de Thèse : Pr. Witold Litwin
Algèbre relationnelle

TP 3-4 BD21.
Optimisation de Requêtes
Bases de données orientées-objets
INTEGRITE ET BD ACTIVES
SGBDR : LA GESTION DES VUES
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Initiation aux bases de données et à la programmation événementielle
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
LMD: Langage de Manipulation de Données
Développement d’applications web
Rappel sur les bases de données et le vocabulaire
LE LANGAGE SQL Langage de manipulation de données (LMD)
Les fonctions de groupes Gestion des transactions
L’utilisation des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
SQL: Contraintes et Triggers
Cours N°2 Base de Données & Langage SQL
Inventé par T. Codd (IBM Recherche)
Les concepts et les méthodes des bases de données
Initiation aux bases de données et à la programmation événementielle
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Introduction.
SQL partie 4. SQL est un langage de protections d'accès Il est possible avec SQL de définir des permissions au niveau des utilisateurs d'une base de données.
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
Gérer la sécurité des mots de passe et les ressources
Fonctionnalités des SGBD
Le langage de requêtes SQL
Optimisation de requêtes
Copyright  Oracle Corporation, All rights reserved. 19 Gestion des Privilèges.
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Module 4 : Implémentation de l'intégrité des données.
Sélection de colonnes (la projection)
Le modèle relationnel Plan 1. Concepts descriptifs
Gérer les rôles.
1 J. PHILIPP d'après G. Gardarin SGBDR : la gestion des vues l 1. Contexte l 2. Vues externes l 3. Interrogation des vues l 4. Mises à jour des vues l.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Définition des contraintes Vérification des contraintes Triggers
Le Langage de Contrôle de Données LCD. 2 Contrôle des Données Notion de Sous–Schéma –Restriction de la vision –Restriction des actions Privilèges –Systèmes.
Les bases de données Séance 8 Jointures.
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
Bases de données : modèlisation et SGBD Séance 3.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Langages d’interrogation et de manipulation. N. ChaignaudGM4 - Base de données2 1. Algèbre relationnelle  Ensemble d’opérations permettant de manipuler.
Langage de manipulation de données (LMD)
Transcription de la présentation:

Contrôles d'accès aux données Droits d'accès Vues

1. CONTROLE DES DROITS D'ACCES Objectif : protéger les données de la base contre des accès non autorisés Deux niveaux : connexion au serveur restreinte aux usagers répertoriés (mot de passe) privilège d'accès aux objets de la base Granule d'objet : vue relation procédure stockée trigger

Hiérarchie des privilèges Administrateur Système {users login, …} Administrateur de la Base {connexion utilisateurs à BD, gestion des schémas} Propriétaires d'Objets {créateurs d'objets, distribution des droits} Autres (PUBLIC) {droits obtenus par GRANT}

Définition des droits GRANT <droits> ON <objet> TO <usagers> [WITH GRANT OPTION] <droits> ::= ALL | SELECT | DELETE | INSERT [<attribut>]| UPDATE [<attribut>]| REFERENCE [<attribut>] <objet> ::= TABLE <relation> * | VIEW <vue> * <usagers> : := PUBLIC| <username> * Exemple: GRANT SELECT , UPDATE (DEGRE) ON TABLE VINS TO DUPONT

Suppression des droits REVOKE <droits> ON <objet> FROM <usagers> Exemple: REVOKE ALL ON TABLE VINS FROM DUPONT

Règles d'octroi et de suppression des droits On ne peut transmettre que les droits que l'on possède ou qui nous ont été transmis avec “grant option” On ne peut supprimer que les droits que l'on a transmis La révocation des droits est récursive Si un utilisateur U1 a reçu le droit D de la part de plusieurs utilisateurs (U2, U3, ...), il ne perd ce droit que si tous les utilisateurs lui retirent Ces règles garantissent la cohérence des retraits même en cas de graphe d'octroi cycliques U3 U1 U2 Grant D on O to U2 Grant D on O to U3

Autorisations sur une vue Une vue est une relation virtuelle définie à partir des relations de base par une expression SQL Exemple : CREATE VIEW GROS_BUVEURS (NB, NOM, QTE_BUE) AS SELECT B.NB, B. NOM, SUM(A.QTE) FROM BUVEURS B, ABUS A WHERE B.NB = A.NB GROUP BY NB AUTORISATIONS SUR LES VUES: Permet un granule d'autorisation très fin Cependant, les mises à jour au travers des vues sont limitées

2. LES VUES EXTERNES Le concept de vues répond aux besoins suivants : Adaptation aux applications Intégration des applications existantes Dynamique du schéma de la base Confidentialité et sécurité Décentralisation de l'administration d'une BD Hétérogénéité des modèles Transparence à la localisation (dans le cas de bases réparties)

Exemple (1)

Exemple (2) Schéma conceptuel : VINS (NV, CRU, ANNEE, DEGRE, NVIT) VITICULTEURS (NVIT, NOM, PRENOM, VILLE) BUVEURS (NB, NOM, PRENOM, VILLE) COMMANDE (NB, NV, QTE, DATE) on peut définir de nombreuses applications particulières qui n'utilisent qu'une partie des données du schéma.

Exemple (3) APPLICATION = INFLUENCE GEOGRAPHIQUE SUR LA CONSOMMATION DE L'ANNEE 1996 • VUES = RESTRICTION-PROJECTION DES RELATIONS DE BASE BUVEURS-1 (NB, VILLE) ACHETE-1 (NB, NV, QTE, DATE) // restreint aux dates de l'année 96 VINS-1 (NV, CRU) • VUE = RESTRUCTURATION DU SCHEMA LOGIQUE ACHAT-2 (NB, VILLE, CRU, QTE, DATE) • VUE = RESTRUCTURATION et AGREGATION CONSOMMATION-PAR-VILLE CPV (VILLE, CRU, QTE)

Définition des vues CREATE VIEW <nom_vue> [(liste_attributs)] AS <expression_de_sélection> [WITH CHECK OPTION] L'expression de sélection peut porter sur des tables de base et/ou des vues Dans le cas de vues modifiables, la clause WITH CHECK OPTION garantit que les tuples insérés (ou modifiés) dans la vue vérifient bien le critère de la vue

Exemple de définition (1) CREATE VIEW BUVEURS-1 AS SELECT NB, VILLE FROM BUVEURS CREATE VIEW ACHETE-1 AS SELECT NB, NV, QTE, DATE FROM COMMANDE WHERE DATE BETWEEN '01.01.96' AND '31.12.96' CREATE VIEW ACHAT-2 (NB, VILLE, CRU, QTE, DATE) AS SELECT B.NB, B.VILLE, V.CRU, C.QTE, C.DATE FROM BUVEURS B, VINS V, COMMANDES C WHERE C.NB = B.NB AND C.NV = V.NV AND C.DATE BETWEEN '01.01.96' AND '31.12.96'

Exemple de définition (2) CREATE VIEW CPV (VILLE, CRU, QTE) AS SELECT B.VILLE, V.CRU, SUM (C.QTE) FROM BUVEURS B, COMMANDES C, VINS V WHERE B.NB = C.NB AND C.NV = V.NV AND C.DATE BETWEEN '01.01.96' AND '31.12.96' GROUP BY B.VILLE, V.CRU

Déclaration et interrogation CREATE VIEW CPV AS SELECT... Analyseur SQL Gestionnaire de vues Métabase VUE NOM DEF CPV Select... (1) • • • SELECT ... FROM CPV WHERE ... Résultat (2) Relations de base

Interrogation des vues (1) MODIFICATION DE QUESTION PAR RESTRUCTURATION SYNTAXIQUE EXEMPLE : SELECT CRU, QTE FROM CPV WHERE VILLE = "PARIS" DEVIENT : SELECT V.CRU, SUM (C.QTE) FROM BUVEURS B, COMMANDES C, VINS V WHERE B.NB = C.NB AND C.NV = V.NV AND C.DATE BETWEEN '01.01.96' AND '31.12.96' AND B.VILLE = 'PARIS' GROUP BY VILLE, CRU

Interrogation des vues (2) MODIFICATION DE QUESTION PAR RESTRUCTURATION D'ARBRES ALGEBRIQUES Arbre algébrique de la vue CPV Arbre algébrique de la requête BUVEURS COMMANDES VINS CPV Date Group By CPV Ville = Paris Cru, Qte Résultat

Les arbres sont mis bout à bout BUVEURS COMMANDES VINS CPV Date Group By Ville = Paris Cru, Qte Résultat

Puis l'arbre résultat est optimisé BUVEURS COMMANDES VINS CPV Date Group By Ville = Paris Cru, Qte Résultat

Mises à jour au travers des vues Les mises à jour au travers des vues sont rarement définies Ex: Comment reporter une mise à jour sur CPV dans les relations de base ? Pour rendre le report de mises à jour possible, la définition de la vue doit respecter certaines contraintes: la clause SELECT doit conserver les clés de toutes les relations de base la clause SELECT ne doit pas contenir de calcul d'agrégat la définition ne doit pas contenir de clause GROUP BY ni HAVING Dans SQL2, en plus des conditions précédentes, seules les vue définies à partir d'une relation unique seront considérées comme modifiables

Vues concrètes Vue concrète : Intérêts : Problèmes : Vue dont on a demandé l'implantation dans la base de données (virtuel ---> réel) Intérêts : interrogations fréquentes, systèmes répartis Problèmes : Maj des données de base à répercuter sur la vue L'objectif est d'éviter de réévaluer complètement la vue à chaque mise a jour

3. CONCLUSION Le modèle relationnel offre Problèmes difficiles : des contraintes d'intégrités riches des droits d'accès intégrés un concept de vue très puissant des methodes d'interrogation simples et efficaces Problèmes difficiles : maj au travers des vues vues concrètes