Privilegi di accesso in PostgreSQL

Creare database PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Ruoli e privilegi in PostgreSQL

  • Gli utenti sono un tipo di ruolo
  • Si possono definire anche ruoli di gruppo
  • L'accesso agli oggetti del database è dato ai ruoli
Creare database PostgreSQL

Il comando GRANT

  • I privilegi sono "concessi" ai ruoli dal proprietario
  • Il comando GRANT assegna i privilegi
  • Si possono concedere molti privilegi, tra cui:
    • SELECT
    • DELETE
    • UPDATE
      GRANT p ON obj TO grantee;
      
Creare database PostgreSQL

Esempio: database di finanza 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';
Creare database PostgreSQL

Esempio: database di finanza personale

  • L'utente fin ha bisogno di accedere alla tabella account
  • Accesso di fin
    • Aggiungere nuovi account
    • Aggiornare account
    • Interrogare account
  • Il superuser concede i privilegi
    GRANT INSERT ON account TO fin;
    
GRANT UPDATE ON account TO fin;
GRANT SELECT ON account TO fin;
Creare database PostgreSQL

Privilegi di modifica delle tabelle

  • Alcuni privilegi non si possono concedere
  • Modificare una tabella richiede la proprietà
ALTER TABLE account ADD COLUMN date_opened DATE;
ALTER TABLE account RENAME COLUMN short_name

TO nickname;
ALTER TABLE account OWNER TO fin;
Creare database PostgreSQL

Esercitiamoci!

Creare database PostgreSQL

Preparing Video For Download...