sql >> Databasteknik >  >> RDS >> PostgreSQL

Tillåt endast postgres användarlistroller

Du kan återkalla åtkomsten till tabellen för autentiserings-ID i systemkatalogerna:

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

Observera att återkalla åtkomst till pg_roles är inte tillräckligt, eftersom pg_roles är bara en vy över pg_authid och det är trivialt att köra vyfrågan manuellt eller definiera en ny vy med samma fråga. information_schema vyer använder också pg_authid direkt och påverkas inte av att återkalla åtkomst till pg_roles . Det är inte nödvändigt att återkalla åtkomst till pg_roles om du har återkallat åtkomst till pg_authid .

Var medveten om att återkallande av åtkomst till globala tabeller fortfarande är en operation per databas.

Att återkalla åtkomst till systemkataloger kan ha biverkningar, inklusive:

  • Vissa systemfunktioner fungerar inte som förväntat
  • Vissa metadataoperationer i verktyg som JDBC-drivrutinen misslyckas
  • ... osv

och anses inte allmänt stöds.



  1. Finns det något som heter en tempfunktion?

  2. Proaktiva SQL Server Health Checks, Del 2:Underhåll

  3. Felaktig syntax nära nyckelordet "current_timestamp" - men bara på en databas

  4. Hämta information från en Rails-server till en annan