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 postgresconnexion dans l'installation par défaut).
CREATE ROLE user_name NOSUPERUSER NOCREATEDB 
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
Maintenant, je veux accorder selectsur la table tab_abcsur la base de données db_xyz, alors voilà (la base de données db_xyzest 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, usagepeut - ê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 , connectni usage- sont que Implicite tout en accordant select? En est-il toujours ainsi?