PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Consenti solo i ruoli dell'elenco utenti postgres

Puoi revocare l'accesso alla tabella degli ID di autenticazione nei cataloghi di sistema:

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

Nota che revocare l'accesso a pg_roles non è sufficiente, in quanto pg_roles è solo una vista su pg_authid ed è banale eseguire manualmente la query di visualizzazione o definire una nuova visualizzazione con la stessa query. Lo information_schema le viste usano anche pg_authid direttamente e non sono interessati dalla revoca dell'accesso a pg_roles . Non è necessario revocare l'accesso a pg_roles se hai revocato l'accesso a pg_authid .

Tieni presente che la revoca dell'accesso alle tabelle globali è ancora un'operazione per database.

La revoca dell'accesso ai cataloghi di sistema può avere effetti collaterali, tra cui:

  • Alcune funzioni di sistema non funzionano come previsto
  • Alcune operazioni sui metadati in strumenti come il driver JDBC non riescono
  • ... ecc

e generalmente non è considerato supportato.