Control ierarhic al accesului

Crearea bazelor de date PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Controlul accesului cu scheme

  • Schema - container cu nume pentru obiecte din baza de date
  • Schemele pot fi utilizate pentru controlul accesului
Crearea bazelor de date PostgreSQL

Exemplu: utilizarea schemelor în baza de date finances

  • Acces al soțului/soției la baza de date finances
  • Schema public utilizată implicit
  • Două scheme noi: me și spouse
CREATE SCHEMA me;
CREATE SCHEMA spouse;
CREATE TABLE me.account (...);
CREATE TABLE spouse.account (...);
Crearea bazelor de date PostgreSQL

Acordarea privilegiilor pe schemă

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;

Controlul accesului bazat pe schemă implementat

Crearea bazelor de date PostgreSQL

Utilizarea grupurilor

  • Grup - tip de rol care identifică unul sau mai mulți utilizatori
  • Controlul accesului poate fi aplicat la nivel de grup
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;
Crearea bazelor de date PostgreSQL

Acces partajat și individual la date

  • Accesul partajat la schema public activat
  • Schemele individuale controlează accesul la date
Crearea bazelor de date PostgreSQL

Să exersăm!

Crearea bazelor de date PostgreSQL

Preparing Video For Download...