Hiërarchische toegangscontrole

PostgreSQL-databases maken

Darryl Reeves

Industry Assistant Professor, New York University

Toegangsbeheer met schema’s

  • Schema: benoemde container voor db-objecten
  • Schema’s kunnen worden gebruikt voor toegangsbeheer
PostgreSQL-databases maken

Voorbeeld: schema’s in database finances

  • Partnertoegang tot database finances
  • public-schema is standaard
  • Twee nieuwe schema’s: me en spouse
CREATE SCHEMA me;
CREATE SCHEMA spouse;
CREATE TABLE me.account (...);
CREATE TABLE spouse.account (...);
PostgreSQL-databases maken

Schema-privileges verlenen

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;

Toegangsbeheer op basis van schema’s geïmplementeerd

PostgreSQL-databases maken

Groepen gebruiken

  • Groep: roltype voor één of meer gebruikers
  • Toegangsbeheer kan op groepsniveau
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;
PostgreSQL-databases maken

Gedeelde en individuele data-toegang

  • Gedeelde schema-toegang naar public
  • Individuele schema’s sturen data-toegang
PostgreSQL-databases maken

Laten we oefenen!

PostgreSQL-databases maken

Preparing Video For Download...