Privilegii de acces în PostgreSQL

Crearea bazelor de date PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Roluri și privilegii în PostgreSQL

  • Utilizatorii sunt un tip de rol
  • Se pot defini și roluri de grup
  • Accesul la obiectele bazei de date se acordă rolurilor
Crearea bazelor de date PostgreSQL

Comanda GRANT

  • Privilegiile sunt „acordate" rolurilor de către proprietar
  • Comanda GRANT atribuie privilegii
  • Se pot acorda multe privilegii, inclusiv:
    • SELECT
    • DELETE
    • UPDATE
      GRANT p ON obj TO grantee;
      
Crearea bazelor de date PostgreSQL

Exemplu: bază de date de finanțe personale

CREATE TABLE account (
    id SERIAL PRIMARY KEY,
    short_name VARCHAR(25),
    provider_id INTEGER REFERENCES provider(id),
    balance DECIMAL
);
CREATE USER fin WITH PASSWORD '38\5)uk1+3&}*Y';
Crearea bazelor de date PostgreSQL

Exemplu: bază de date de finanțe personale

  • Utilizatorul fin necesită acces la tabelul account
  • Accesul lui fin
    • Adăugare conturi noi
    • Actualizare conturi
    • Interogare conturi
  • Superutilizatorul acordă privilegii
    GRANT INSERT ON account TO fin;
    
GRANT UPDATE ON account TO fin;
GRANT SELECT ON account TO fin;
Crearea bazelor de date PostgreSQL

Privilegii de modificare a tabelelor

  • Unele privilegii nu pot fi acordate
  • Modificarea unui tabel necesită proprietate
ALTER TABLE account ADD COLUMN date_opened DATE;
ALTER TABLE account RENAME COLUMN short_name

TO nickname;
ALTER TABLE account OWNER TO fin;
Crearea bazelor de date PostgreSQL

Să exersăm!

Crearea bazelor de date PostgreSQL

Preparing Video For Download...