Możesz odwołać dostęp do tabeli identyfikatorów uwierzytelniania w katalogach systemowych:
REVOKE SELECT ON pg_catalog.pg_authid FROM public;
REVOKE SELECT ON pg_catalog.pg_auth_members FROM public;
Pamiętaj, że odbieranie dostępu do pg_roles
nie wystarczy, ponieważ pg_roles
to tylko widok na pg_authid
i trywialne jest ręczne uruchomienie zapytania widoku lub zdefiniowanie nowego widoku za pomocą tego samego zapytania. information_schema
widoki również używają pg_authid
bezpośrednio i nie ma na nie wpływu odwołanie dostępu do pg_roles
. Nie ma potrzeby odwoływania dostępu do pg_roles
jeśli odwołałeś dostęp do pg_authid
.
Należy pamiętać, że odwołanie dostępu do tabel globalnych jest nadal operacją na bazę danych.
Odwołanie dostępu do katalogów systemowych może mieć skutki uboczne, w tym:
- Niektóre funkcje systemu nie działają zgodnie z oczekiwaniami
- Niektóre operacje na metadanych w narzędziach, takich jak sterownik JDBC, nie działają
- ... itd.
i nie jest ogólnie uważany za obsługiwany.