Uprawnienia dostępu w PostgreSQL

Tworzenie baz danych w PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Role i uprawnienia w PostgreSQL

  • Użytkownicy są typem roli
  • Można również definiować role grupowe
  • Dostęp do obiektów bazy danych przyznawany jest rolom
Tworzenie baz danych w PostgreSQL

Polecenie GRANT

  • Uprawnienia są „nadawane" rolom przez właściciela
  • Polecenie GRANT przyznaje uprawnienia
  • Można nadawać wiele uprawnień, m.in.:
    • SELECT
    • DELETE
    • UPDATE
      GRANT p ON obj TO grantee;
      
Tworzenie baz danych w PostgreSQL

Przykład: baza danych finansów osobistych

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';
Tworzenie baz danych w PostgreSQL

Przykład: baza danych finansów osobistych

  • Użytkownik fin potrzebuje dostępu do tabeli account
  • Dostęp użytkownika fin
    • Dodawanie nowych kont
    • Aktualizowanie kont
    • Pobieranie danych z kont
  • Superużytkownik nadaje uprawnienia
    GRANT INSERT ON account TO fin;
    
GRANT UPDATE ON account TO fin;
GRANT SELECT ON account TO fin;
Tworzenie baz danych w PostgreSQL

Uprawnienia do modyfikacji tabel

  • Niektórych uprawnień nie można nadać
  • Modyfikacja tabeli wymaga własności
ALTER TABLE account ADD COLUMN date_opened DATE;
ALTER TABLE account RENAME COLUMN short_name

TO nickname;
ALTER TABLE account OWNER TO fin;
Tworzenie baz danych w PostgreSQL

Czas na ćwiczenia!

Tworzenie baz danych w PostgreSQL

Preparing Video For Download...