Benutzer für Datenbank komplett sperren - Wie?

Benutzer für Datenbank komplett sperren - Wie?

am 24.08.2011 17:10:58 von Thomas Uzunoff

Hallo liebe Leute,

habe lange gesucht, aber keine absolute Lösung gefunden und bin bald am=
=20
verzweifeln.

Wie kann ich einen Benutzer (Login-Rolle) komplett von einer Datenbank=20
ausschließen, und ihm nur Zugriff auf eine andere Datenbank auf dem=20
selben Server zu geben?

Was ich bisher geschafft habe: Benutzer kann sich die Inhalte der=20
Tabellen nicht mehr ansehen, aber immer noch die Datenbankstruktur.

Wie kann ich ihm auch noch den Zugriff auf die Struktur (+ wenn möglich=
=20
Funktionen/Sequenzen) sperren?

Danke + Grüße

Thomas


PS:

Konfiguration:
Debian 6.xx
Postgresql 9.xx

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: [pgsql-de-allgemein] Benutzer für Datenbank komplett sperren - Wie?

am 24.08.2011 18:09:09 von Hans-Juergen Schoenig

hallo =85

vermutlich musst du noch public "entrechten".
das ist oft ein thema, das vergessen wird.

lg,

hans



On Aug 24, 2011, at 5:10 PM, Thomas Uzunoff wrote:

> Hallo liebe Leute,
>=20
> habe lange gesucht, aber keine absolute Lösung gefunden und bin bald am=
verzweifeln.
>=20
> Wie kann ich einen Benutzer (Login-Rolle) komplett von einer Datenbank au=
sschließen, und ihm nur Zugriff auf eine andere Datenbank auf dem selben =
Server zu geben?
>=20
> Was ich bisher geschafft habe: Benutzer kann sich die Inhalte der Tabelle=
n nicht mehr ansehen, aber immer noch die Datenbankstruktur.
>=20
> Wie kann ich ihm auch noch den Zugriff auf die Struktur (+ wenn möglich=
Funktionen/Sequenzen) sperren?
>=20
> Danke + Grüße
>=20
> Thomas
>=20
>=20
> PS:
>=20
> Konfiguration:
> Debian 6.xx
> Postgresql 9.xx
>=20
> --=20
> Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-de-allgemein
>=20

--
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de


--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

RE: [pgsql-de-allgemein] Benutzer für Datenbank ko

am 25.08.2011 09:46:52 von Albe Laurenz

Thomas Uzunoff schrieb:
> habe lange gesucht, aber keine absolute Lösung gefunden und bin bald am
> verzweifeln.
>
> Wie kann ich einen Benutzer (Login-Rolle) komplett von einer Datenbank
> ausschließen, und ihm nur Zugriff auf eine andere Datenbank auf dem
> selben Server zu geben?
>
> Was ich bisher geschafft habe: Benutzer kann sich die Inhalte der
> Tabellen nicht mehr ansehen, aber immer noch die Datenbankstruktur.
>
> Wie kann ich ihm auch noch den Zugriff auf die Struktur (+ wenn möglich
> Funktionen/Sequenzen) sperren?

Wenn es darum geht, einen User in die Datenbank einsteigen zu lassen,
ihm dann aber die Leserechte auf die Metadaten zu entziehen, dann kann man

REVOKE USAGE ON SCHEMA pg_catalog FROM PUBLIC;
GRANT USAGE ON SCHEMA pg_catalog TO ;

Der so ausgesperrte User kann aber auch nicht mehr sinnvoll mit
Objekten arbeiten, auf die er Zugriffsrechte hat, weil viele Operationen
Zugriff auf pg_catalog erfordern.
Es gibt in PostgreSQL keine Möglichkeit, einen User in einer Datenbank
arbeiten zu lassen, ihm aber den Zugriff auf die Metadaten zu entziehen.

Allerdings ist es ziemlich sinnlos, einen User in die Datenbank zu
lassen, wenn der dort dann überhaupt nichts kann.
Besser ist, ihn gleich auszusperren:

REVOKE CONNECT, TEMPORARY ON DATABASE dbname FROM PUBLIC;
GRANT CONNECT, TEMPORARY ON DATABASE dbname TO ;

Liebe Grüße,
Laurenz Albe

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein