PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann verhindert werden, dass ein Benutzer andere Datenbanken und die Tabellen aus anderen Datenbanken sehen kann?

Jeder Benutzer kann andere aufgelistete Datenbanken und Rollen sehen, sollte aber niemals Tabellen in anderen Datenbanken sehen können.

Wenn Sie das CONNECT-Privileg für alle Datenbanken außer der zugewiesenen entziehen, kann der Benutzer nicht auf den Inhalt anderer Datenbanken zugreifen.

Rollen und Datenbanknamen sind global und nicht ohne weiteres blockierbar. Sie können den Vorschlag von Frank Heiken zum selektiven Sperren der Systemtabellen ausprobieren, aber Sie gehen dabei Risiken ein. PostgreSQL-Entwickler auf den Usenet-Mailinglisten haben davon abgeraten, den Zugriff auf die Systemkataloge zu manipulieren.

Psql geht neben anderen Tools davon aus, dass sie verfügbar sein werden, und funktioniert ohne sie schlecht.

Warum ist es, die Namen zu kennen? anderer Datenbanken und Rollen so schlecht?