Åtkomstbehörigheter i PostgreSQL

Skapa PostgreSQL-databaser

Darryl Reeves

Industry Assistant Professor, New York University

Roller och behörigheter i PostgreSQL

  • Användare är en typ av roll
  • Gruproller kan också definieras
  • Åtkomst till databasobjekt ges till roller
Skapa PostgreSQL-databaser

Kommandot GRANT

  • Behörigheter "tilldelas" roller av ägaren
  • Kommandot GRANT ger behörigheter
  • Många behörigheter kan tilldelas, bland annat:
    • SELECT
    • DELETE
    • UPDATE
      GRANT p ON obj TO grantee;
      
Skapa PostgreSQL-databaser

Exempel: databas för privatekonomi

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';
Skapa PostgreSQL-databaser

Exempel: databas för privatekonomi

  • Användaren fin behöver åtkomst till tabellen account
  • Åtkomst för fin
    • Lägga till nya konton
    • Uppdatera konton
    • Söka i konton
  • Superanvändaren tilldelar behörigheter
    GRANT INSERT ON account TO fin;
    
GRANT UPDATE ON account TO fin;
GRANT SELECT ON account TO fin;
Skapa PostgreSQL-databaser

Behörigheter för tabellmodifiering

  • Vissa behörigheter kan inte tilldelas
  • Att ändra en tabell kräver ägarskap
ALTER TABLE account ADD COLUMN date_opened DATE;
ALTER TABLE account RENAME COLUMN short_name

TO nickname;
ALTER TABLE account OWNER TO fin;
Skapa PostgreSQL-databaser

Nu kör vi en övning!

Skapa PostgreSQL-databaser

Preparing Video For Download...