Vous pouvez révoquer l'accès à la table des identifiants d'authentification dans les catalogues système :
REVOKE SELECT ON pg_catalog.pg_authid FROM public;
REVOKE SELECT ON pg_catalog.pg_auth_members FROM public;
Notez que la révocation de l'accès à pg_roles n'est pas suffisant, car pg_roles est juste une vue sur pg_authid et il est trivial d'exécuter la requête de vue manuellement ou de définir une nouvelle vue avec la même requête. Le information_schema les vues utilisent également pg_authid directement et ne sont pas affectés par la révocation de l'accès à pg_roles . Il n'est pas nécessaire de révoquer l'accès à pg_roles si vous avez révoqué l'accès à pg_authid .
Sachez que la révocation de l'accès aux tables globales reste une opération par base de données.
La révocation de l'accès aux catalogues système peut avoir des effets secondaires, notamment :
- Certaines fonctions système ne fonctionnent pas comme prévu
- Échec de certaines opérations de métadonnées dans des outils tels que le pilote JDBC
- ...etc
et n'est généralement pas considéré comme pris en charge.