Privilèges d'accès PostgreSQL

Créer des bases de données PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Rôles et privilèges PostgreSQL

  • Les utilisateurs sont un type de rôle
  • Des rôles de groupe peuvent aussi être définis
  • L'accès aux objets de BD est accordé aux rôles
Créer des bases de données PostgreSQL

La commande GRANT

  • Les privilèges sont « accordés » aux rôles par le propriétaire
  • La commande GRANT confère des privilèges
  • Plusieurs privilèges peuvent être accordés, dont :
    • SELECT
    • DELETE
    • UPDATE
      GRANT p ON obj TO grantee;
      
Créer des bases de données PostgreSQL

Exemple : base de données de finances personnelles

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';
Créer des bases de données PostgreSQL

Exemple : base de données de finances personnelles

  • L'utilisateur fin a besoin d'accès à la table account
  • Accès de fin
    • Ajouter de nouveaux comptes
    • Mettre à jour des comptes
    • Interroger des comptes
  • Le superutilisateur accorde les privilèges
    GRANT INSERT ON account TO fin;
    
GRANT UPDATE ON account TO fin;
GRANT SELECT ON account TO fin;
Créer des bases de données PostgreSQL

Privilèges de modification de table

  • Certains privilèges ne peuvent pas être accordés
  • Modifier une table exige d'en être propriétaire
ALTER TABLE account ADD COLUMN date_opened DATE;
ALTER TABLE account RENAME COLUMN short_name

TO nickname;
ALTER TABLE account OWNER TO fin;
Créer des bases de données PostgreSQL

Passons à la pratique !

Créer des bases de données PostgreSQL

Preparing Video For Download...