Controllo accessi gerarchico

Creare database PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Controllo accessi con gli schemi

  • Schema: contenitore nominato per oggetti del db
  • Gli schemi possono servire per il controllo accessi
Creare database PostgreSQL

Esempio: uso degli schemi nel database finances

  • Accesso del coniuge al database finances
  • Schema public usato di default
  • Due nuovi schemi: me e spouse
CREATE SCHEMA me;
CREATE SCHEMA spouse;
CREATE TABLE me.account (...);
CREATE TABLE spouse.account (...);
Creare database PostgreSQL

Concessione di privilegi sullo schema

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;

Controllo accessi basato su schema implementato

Creare database PostgreSQL

Uso dei gruppi

  • Gruppo: un tipo di ruolo che identifica uno o più utenti
  • Il controllo accessi può essere applicato a livello di gruppo
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;
Creare database PostgreSQL

Accesso ai dati condiviso e individuale

  • Accesso condiviso allo schema public
  • Schemi individuali controllano l'accesso ai dati
Creare database PostgreSQL

Esercitiamoci!

Creare database PostgreSQL

Preparing Video For Download...