Voici une liste de commandes qui semblent fonctionner pour créer un nouvel utilisateur (connexion) et accorder un accès en lecture seule à une table spécifiée sur PostgreSQL.
Supposons que ces commandes soient exécutées lors de la connexion avec des privilèges suffisants (c'est-à-dire la postgres
connexion dans l'installation par défaut).
CREATE ROLE user_name NOSUPERUSER NOCREATEDB
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
Maintenant, je veux accorder select
sur la table tab_abc
sur la base de données db_xyz
, alors voilà (la base de données db_xyz
est sélectionnée comme actuelle via PgAdmin ou quelque chose comme ça):
grant select on tab_abc to user_name;
La question est: est-ce suffisant ou devrait-il y avoir plus de subventions (base de données connect
, usage
peut - être)?
Ces commandes semblent fonctionner pour moi, mais mon installation par défaut a des paramètres de sécurité par défaut. Quelles autorisations supplémentaires dois-je ajouter si l'administrateur du serveur a configuré une sécurité renforcée?
Il semble que je ne ai pas besoin d'accorder , connect
ni usage
- sont que Implicite tout en accordant select
? En est-il toujours ainsi?
la source