5.7. Privil�ges

Quand vous cr�ez un objet base de donn�es, vous en devenez le propri�taire. Avec les param�tres par d�faut, seul le propri�taire d'un objet peut faire quelque chose avec. Pour que d'autres utilisateurs puissent s'en servir, des privil�ges doivent �tre accord�s. (N�anmoins, les utilisateurs qui sont superutilisateurs ont toujours acc�s � n'importe quel objet.)

Il y a plusieurs privil�ges diff�rents : SELECT, INSERT, UPDATE, DELETE, RULE, REFERENCES, TRIGGER, CREATE, TEMPORARY, EXECUTE, et USAGE. Les droits applicables � un objet particulier varient suivant le type d'objet (table, fonction, etc.) Pour une information compl�te sur les diff�rents types de privil�ges g�r�s par PostgreSQL, lisez la page de r�f�rence GRANT. La section et les chapitres suivants vous montreront aussi comment ces privil�ges sont utilis�s.

Le droit de modifier ou de d�truire est le privil�ge du propri�taire seul.

Note�: Pour modifier le propri�taire d'une table, d'un index, d'une s�quence ou d'une vue, utilisez la commande ALTER TABLE. Il existe des commandes ALTER correspondant aux autres types d'objets.

Pour accorder des privil�ges, la commande GRANT est utilis�. Par exemple, si joe est un utilisateur existant et accounts une table existante, le privil�ge de mettre la table � jour peut �tre accord� avec

GRANT UPDATE ON accounts TO joe;

Pour accorder un privil�ge � un groupe, utilisez

GRANT SELECT ON accounts TO GROUP staff;

Le nom d'<<�utilisateur�>> sp�ciale PUBLIC peut �tre utilis� pour accorder un privil�ge � tout les utilisateurs du syst�me. �crire ALL au lieu d'un privil�ge sp�cifique accorde tous les privil�ges ad�quats pour ce type d'objet.

Pour r�voquer un privil�ge, utilisez la commande appropri� ci dessous; REVOKE :

REVOKE ALL ON accounts FROM PUBLIC;

Les privil�ges sp�ciaux du propri�taire de l'objet (c'est-�-dire, le droit de faire des DROP, GRANT, REVOKE, etc.) sont toujours implicitement ceux du propri�taire et ne peuvent �tre ni accord�s ni r�voqu�s. Mais le propri�taire de l'objet peut choisir de r�voquer ses propres privil�ges ordinaires pour, par exemple, mettre une table en lecture seule pour soi-m�me en plus que pour les autres.

Habituellement, seul le propri�taire de l'objet (ou un superutilisateur) peut donner ou r�voquer les droits sur un objet. N�anmoins, il est possible de donner un droit <<�avec une option de don de droits�>>, qui donne � celui qui le re�oit de le donner � d'autres. Si cette option est ensuite r�voqu�e, alors tous ceux qui ont re�u le droit de cet utilisateur (directement ou indirectement via la cha�ne des dons) perdront leur droit. Pour des d�tails, voir les pages de r�f�rences GRANT et REVOKE.