Gestion rôles PostgreSql

De EjnTricks
Révision de 15 septembre 2020 à 16:26 par Etienne (discussion | contributions) (Page créée avec « Cet article se propose de présenter les opérations d'administration pour la gestion des rôles sur les bases <code>PostgreSql</code>. Les rôles peuvent être utilisés... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Cet article se propose de présenter les opérations d'administration pour la gestion des rôles sur les bases PostgreSql. Les rôles peuvent être utilisés comme des "groupes" auxquels des droits sont accordés sur les différents bases / tables / objets, ce qui peut être pratique pour apporter des permissions à un utilisateur.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Icon-database-init.png Création

La requête suivante permet de créer un rôle avec l'identifiant VIEWERS.

postgres=# CREATE ROLE VIEWERS;
CREATE ROLE

User-icon.png Ajout utilisateur

La commande suivante permet d'ajouter l'utilisateur VIEWER1 au role VIEWERS.

postgres=# GRANT VIEWERS TO VIEWER1;
GRANT ROLE

Icon ACL.png Affection des droits

La commande suivante permet de donner les droits de lecture sur toutes les tables du schema SCHEMA_NAME au rôle VIEWERS

postgres=# GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO VIEWERS;
GRANT

Toutefois, si une nouvelle table est ajoutée, ou une nouvelle base, le rôle n'aura pas forcément les droits d'accès. Il est possible de modifier les droits par défaut, ce qui peut être pratique pour les comptes de sauvegardes par exemple.

postgres=# ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO VIEWERS;
ALTER DEFAULT PRIVILEGES

Icon-database-delete.png Suppression

La commande suivante permet de supprimer le rôle VIEWERS.

postgres=# DROP ROLE VIEWERS;
DROP ROLE
postgres=#