Bonjour,
J'utilise pgadmin4 pour accéder aux bases de données PostgreSQL et j'ai un soucis avec les privilèges. je vous donne mon cas:
J'ai deux utilisateur a et b et deux bases de données dbA et dbB. a est propriétaire de la base dbA et b dbB.
Pour empêcher a d'accéder à dbB et b à dbA, j'ai exécuté les commandes suivantes sur chacune des bases de données:
En ligne de commande, je n'ai aucun soucis. a ne peut pas accéder à dbB et b ne peut pas accéder à dbA.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 revoke all on database dba from PUBLIC; revoke all on database dbb from PUBLIC; revoke all on schema public from PUBLIC;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $ psql -U b -d dbb psql (12.5 (Ubuntu 12.5-1.pgdg18.04+1)) Type "help" for help.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 dbb=> \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges ------------+----------+----------+---------+---------+----------------------- dba | a | UTF8 | C.UTF-8 | C.UTF-8 | a=CTc/a dbb | b | UTF8 | C.UTF-8 | C.UTF-8 | b=CTc/bMaintenant avec pgadmin4, si je me connecte à la base de données dbA avec l'utilisateur a, je peux accéder à la base dbB, afficher la liste des tables et même leurs contenu!!! voir l'image.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 dbb=> \c dba FATAL: permission denied for database "dba" DETAIL: User does not have CONNECT privilege. Previous connection kept dbb=>
Pgadmin4 passe par Pgbouncer.
Pourriez-vous m'aider sur ce sujet et merci d'avance.
Partager