PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment empêcher un utilisateur de voir d'autres bases de données et les tables d'autres bases de données ?

Chaque utilisateur peut voir d'autres bases de données et rôles répertoriés, mais ne devrait jamais pouvoir voir les tables d'autres bases de données.

Si vous révoquez le privilège CONNECT sur toutes les bases de données à l'exception de celle attribuée, l'utilisateur ne pourra pas accéder au contenu des autres bases de données.

Les rôles et les noms de base de données sont globaux et ne peuvent pas être facilement bloqués. Vous pouvez essayer la suggestion de Frank Heikens de révocations sélectives sur les tables système, mais vous prenez des risques pour le faire. Les développeurs PostgreSQL sur les listes de diffusion Usenet ont découragé la falsification de l'accès aux catalogues système.

Psql, entre autres outils, suppose qu'ils seront disponibles et fonctionne mal sans eux.

Pourquoi connaître les noms d'autres bases de données et rôles si mauvais ?