PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Nur Postgres-Benutzerlistenrollen zulassen

Sie können den Zugriff auf die Authentifizierungs-IDs-Tabelle in den Systemkatalogen widerrufen:

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

Beachten Sie, dass das Widerrufen des Zugriffs auf pg_roles ist nicht ausreichend, da pg_roles ist nur ein Blick auf pg_authid und es ist trivial, die Ansichtsabfrage manuell auszuführen oder eine neue Ansicht mit derselben Abfrage zu definieren. Das information_schema Ansichten verwenden auch pg_authid direkt und sind vom Widerruf des Zugriffs auf pg_roles nicht betroffen . Es ist nicht erforderlich, den Zugriff auf pg_roles zu widerrufen wenn Sie den Zugriff auf pg_authid widerrufen haben .

Beachten Sie, dass das Widerrufen des Zugriffs auf globale Tabellen immer noch eine Operation pro Datenbank ist.

Das Widerrufen des Zugriffs auf Systemkataloge kann Nebenwirkungen haben, darunter:

  • Einige Systemfunktionen funktionieren nicht wie erwartet
  • Einige Metadatenoperationen in Tools wie dem JDBC-Treiber schlagen fehl
  • ... usw.

und wird im Allgemeinen nicht unterstützt.