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

From: "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "Thomas Uzunoff *EXTERN*" <info(at)grizzlycrm(dot)de>, <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: RE: [pgsql-de-allgemein] Benutzer für Datenbank komplett sperren - Wie?
Date: 2011-08-25 07:46:52
Message-ID: D960CB61B694CF459DCFB4B0128514C206C77934@exadv11.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

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 <wer darf>;

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 <wer darf>;

Liebe Grüße,
Laurenz Albe

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Andreas 'ads' Scherbaum 2011-08-31 23:58:45 == Wöchentlicher PostgreSQL Newsletter - 28. August 2011 ==
Previous Message Susanne Ebrecht 2011-08-25 05:40:02 Re: Plain text emails