sql >> Base de Datos >  >> RDS >> PostgreSQL

Permitir solo roles de lista de usuarios de postgres

Puede revocar el acceso a la tabla de ID de autenticación en los catálogos del sistema:

REVOKE SELECT ON pg_catalog.pg_authid FROM public;
REVOKE SELECT ON pg_catalog.pg_auth_members FROM public;

Tenga en cuenta que revocar el acceso a pg_roles no es suficiente, ya que pg_roles es solo una vista sobre pg_authid y es trivial ejecutar la consulta de vista manualmente o definir una nueva vista con la misma consulta. El information_schema las vistas también usan pg_authid directamente y no se ven afectados al revocar el acceso a pg_roles . No es necesario revocar el acceso a pg_roles si ha revocado el acceso a pg_authid .

Tenga en cuenta que revocar el acceso a las tablas globales sigue siendo una operación por base de datos.

Revocar el acceso a los catálogos del sistema puede tener efectos secundarios, que incluyen:

  • Algunas funciones del sistema no funcionan como se esperaba
  • Algunas operaciones de metadatos en herramientas como el controlador JDBC fallan
  • ... etc.

y generalmente no se considera compatible.