sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur förhindrar man att en användare kan se andra databaser och tabellerna från andra databaser?

Varje användare kan se andra databaser och roller listade, men bör aldrig kunna se tabeller i andra databaser.

Om du återkallar CONNECT-behörigheten på alla databaser utom den tilldelade, kommer användaren inte att kunna komma åt innehållet i andra databaser.

Roller och databasnamn är globala och inte lätt blockerbara. Du kan prova Frank Heikens förslag om selektiva återkallelser i systemtabellerna, men du tar risker för att göra det. PostgreSQL-utvecklare på usenets e-postlistor har avrådt från att manipulera åtkomst till systemkatalogerna.

Psql, bland andra verktyg, antar att de kommer att vara tillgängliga och fungerar dåligt utan dem.

Varför är det att känna till namnen av andra databaser och roller så dåliga?



  1. Öka värdet på ett tabell-ID för varje INSERT

  2. JOIN (VÄLJ ... ) ue PÅ 1=1?

  3. Skillnad mellan att lägga till parametrar till lagrad procedur i SQL Server?

  4. Flytta MySql från Windows-server till linux