sql >> Database >  >> RDS >> PostgreSQL

Hoe voorkom je dat een gebruiker andere databases en de tabellen uit andere databases kan zien?

Elke gebruiker kan andere databases en rollen zien, maar zou nooit tabellen in andere databases moeten kunnen zien.

Als u het CONNECT-recht voor alle databases intrekt, behalve de toegewezen database, heeft de gebruiker geen toegang tot de inhoud van andere databases.

Rollen en databasenamen zijn globaal en niet gemakkelijk te blokkeren. Je kunt Frank Heikens suggestie van selectieve intrekkingen op de systeemtabellen proberen, maar je neemt risico's om dat te doen. PostgreSQL-ontwikkelaars op de usenet-mailinglijsten hebben het knoeien met de toegang tot de systeemcatalogi ontmoedigd.

Psql, naast andere tools, gaat ervan uit dat ze beschikbaar zullen zijn en slecht zullen werken zonder hen.

Waarom is het kennen van de namen van andere databases en rollen zo slecht?



  1. Oracle Random Number Generator opgeslagen procedure zonder gebruik te maken van DBMS_RANDOM

  2. MySQL voegt geen backslash in

  3. Hoe maak ik verbinding met een MSSQL-database met behulp van Perl's DBI-module in Windows?

  4. Automatisch verhogen na verwijderen in MySQL