Privilèges

15 min Niveau 9

Chaque fois qu'un objet est créé dans une base de données, un propriétaire lui est attribué. Le propriétaire est généralement celui qui a exécuté l'instruction de création. Pour la plupart des types d'objets, l'état initial est que seul le propriétaire (ou un superutilisateur) peut modifier ou supprimer l'objet. Pour permettre à d'autres rôles ou utilisateurs de l'utiliser, des privilèges ou des autorisations doivent être accordés.

Les différents types de privilèges dans PostgreSQL sont :

  • SELECT,
  • INSERT,
  • UPDATE,
  • DELETE,
  • TRUNCATE,
  • REFERENCES,
  • TRIGGER,
  • CREATE,
  • CONNECT,
  • TEMPORARY,
  • EXECUTE, and
  • USAGE

En fonction du type d'objet (table, fonction, etc.), des privilèges sont appliqués à l'objet. Pour attribuer des privilèges aux utilisateurs, on utilise la commande GRANT.

Syntaxe pour GRANT

La syntaxe de base de la commande GRANT est la suivante :

GRANT privilege [, ...]
ON object [, ...]
TO { PUBLIC | GROUP group | username }
  • privilege − Les valeurs peuvent être : SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
  • object − Le nom d'un objet auquel il faut accorder l'accès. Les objets possibles sont : table, vue, séquence.
  • PUBLIC − Un formulaire court représentant tous les utilisateurs.
  • GROUP group − Un groupe à qui accorder des privilèges.
  • username − Le nom d'un utilisateur à qui accorder des privilèges. PUBLIC est une forme abrégée représentant tous les utilisateurs.

Les privilèges peuvent être révoqués à l'aide de la commande REVOKE.

Syntaxe pour REVOKE

La syntaxe de base de la commande REVOKE est la suivante :

REVOKE privilege [, ...]
ON object [, ...]
FROM { PUBLIC | GROUP groupname | username }
  • privilege − Les valeurs peuvent être : SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
  • object − Le nom d'un objet auquel il faut accorder l'accès. Les objets possibles sont : table, vue, séquence.
  • PUBLIC − Un formulaire court représentant tous les utilisateurs.
  • GROUP group − Un groupe à qui accorder des privilèges.
  • username − Le nom d'un utilisateur à qui accorder des privilèges. PUBLIC est une forme abrégée représentant tous les utilisateurs.

Exemple

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus