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.