Anlegen von Login- und Gruppenrollen

Ich möchte für unsere Gruppe von 9 Benutzern für PostgreSQL 9 Login- und Gruppenrollen vergeben.
Da ich bei den letzten Installationen Die Rechtsvergabe nur über die Login-Rollen geregelt habe, möchte ich es jetzt richtig machen, was die Sache ja auch deutlich vereinfacht.

Folgende Schritte habe ich mit pg-Admin vorgenommen:

  • Anlegen der Login-Rollen (z.B. CREATE ROLE umn_user…)
  • Anlegen der Gruppenrollen (kann nicht einloggen) (z.B. CREATE ROLE read_only NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE)
  • Zuweisung der Login-Rollen zu den Gruppen (z.B. ALTER GROUP read_only ADD USER umn_user)
  • Vergabe der Rechte mit GRANT an den einzelnen Tabellen für die Gruppen (z.B. GRANT SELECT ON TABLE xyz TO GROUP read_only)

Wenn ich jetzt versuche, mit einer Login-Rolle auf bestimmte Tabellen zuzugreifen, die für die Gruppe freigegeben sind, wird mir der Zugriff verweigert.
Ist mein Verständnis für die Rechtevergabe richtig?
In pg-admin und den Tabellen pg_user und pg_group lassen sicht die Eintragungen auch nachvollziehen.

Danke im Voraus für eure Antworten

Thomas

Warum setzt du NOINHERIT?
Bzw. solltest du bei den einzelnen Personen-Rollen INHERIT setzen.

Die Dokumentation erzählt mehr dazu:

PostgreSQL: Documentation: Manuals: PostgreSQL 9.0: CREATE ROLE

Hallo,

der Haken war die Lösung. :rolleyes:

Danke und schönes Fest

Thomas