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

Autoriser uniquement les rôles de liste d'utilisateurs postgres

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.