sql >> Database >  >> RDS >> PostgreSQL

Alleen postgre-gebruikerslijstrollen toestaan

U kunt de toegang tot de authenticatie-ID's-tabel in de systeemcatalogi intrekken:

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

Houd er rekening mee dat het intrekken van de toegang tot pg_roles is niet voldoende, omdat pg_roles is slechts een weergave van pg_authid en het is triviaal om de weergavequery handmatig uit te voeren of een nieuwe weergave met dezelfde query te definiëren. Het information_schema weergaven gebruiken ook pg_authid rechtstreeks en worden niet beïnvloed door het intrekken van de toegang tot pg_roles . Het is niet nodig om de toegang tot pg_roles in te trekken als je de toegang tot pg_authid . hebt ingetrokken .

Houd er rekening mee dat het intrekken van toegang tot globale tabellen nog steeds een bewerking per database is.

Het intrekken van de toegang tot systeemcatalogi kan bijwerkingen hebben, waaronder:

  • Sommige systeemfuncties werken niet zoals verwacht
  • Sommige metadatabewerkingen in tools zoals het JDBC-stuurprogramma werken niet
  • ... enz

en wordt over het algemeen niet als ondersteund beschouwd.



  1. REGEXP_COUNT hoofdlettergevoeligheid negeren

  2. Index maken in mysql werkt niet

  3. Hoe MySQL Query Alias ​​onbekende kolom te repareren? 2018

  4. Lijst van alle indexen in een SQLite-database