Je veux créer un utilisateur postgres qui ne peut accéder à aucune base de données sur le serveur postgres.Comment empêcher un utilisateur de voir d'autres bases de données et les tables d'autres bases de données?
Actuellement, mon flux est:
create database database1;
create user user1 with password 'pass';
grant all privileges on database database1 to user1;
mais user1 peut encore voir une liste des utilisateurs, dbs, tables, etc. Y at-il un moyen d'empêcher l'utilisateur de voir cette information? L'utilisateur doit pouvoir écrire et lire à partir de cette base de données.
Merci beaucoup.
les utilisateurs créeront des dbs de notre côté. Nous ne voulons pas que l'utilisateur puisse voir les bases de données des autres, les noms de tables, etc. comme mesure de confidentialité/sécurité des données. – Dan
C'est une mauvaise chose quand les utilisateurs peuvent lister les tables dans les bases de données, qui ne sont pas les leurs. – harmv
Il donne des données ce qui n'est pas sûrement voulu. Par exemple, une base de données nommée * "cicallc" * peut indiquer que "Cica Llc" est votre client. Une base de données nommée "cicaalfresco" peut indiquer ce que vous faites. Le nombre de bases de données peut montrer à partir de votre système combien d'utilisateurs (= clients) sont présents. Etc. C'est une erreur conceptuelle de la part des développeurs postgresql. Un utilisateur ordinaire devrait se trouver dans un environnement, où il a accès à * seulement * tout ce dont il a besoin, et pas plus. – peterh