Contrôle d'accès hiérarchique

Créer des bases de données PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Contrôle d'accès avec des schémas

  • Schéma — conteneur nommé pour des objets BD
  • Les schémas peuvent servir au contrôle d'accès
Créer des bases de données PostgreSQL

Exemple : usage de schémas dans la base finances

  • Accès du conjoint à la base finances
  • Schéma public utilisé par défaut
  • Deux nouveaux schémas : me et spouse
CREATE SCHEMA me;
CREATE SCHEMA spouse;
CREATE TABLE me.account (...);
CREATE TABLE spouse.account (...);
Créer des bases de données PostgreSQL

Octroi d'autorisations sur un schéma

CREATE USER better_half WITH PASSWORD 'changeme';
GRANT USAGE ON SCHEMA spouse TO better_half;
GRANT USAGE ON SCHEMA public TO better_half;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA spouse;

TO better_half;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public

TO better_half;

Contrôle d'accès par schéma mis en place

Créer des bases de données PostgreSQL

Utiliser des groupes

  • Groupe — type de rôle identifiant un ou plusieurs utilisateurs
  • Le contrôle d'accès peut s'appliquer au niveau du groupe
CREATE GROUP family;
GRANT USAGE ON SCHEMA public TO family;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA

public TO family;
ALTER GROUP family ADD USER fin
ALTER GROUP family ADD USER better_half;
Créer des bases de données PostgreSQL

Accès partagé et individuel aux données

  • Accès partagé au schéma public
  • Les schémas individuels contrôlent l'accès aux données
Créer des bases de données PostgreSQL

Passons à la pratique !

Créer des bases de données PostgreSQL

Preparing Video For Download...