next up previous contents
Nächste Seite: Entwurf eines Benutzerverwaltungssystems Aufwärts: Sicherheitskonzept unter PostgreSQL Vorherige Seite: REVOKE Privilegien   Inhalt

Realisierung der Datenbanksicherheit

Die Datenbanksicherheit in PostgreSQL umfasst das Management von Benutzern, Gruppen und Zugriffsberechtigungen. SQL bietet verschiedene Befehle, um Sichterheismechanismen in PostgreSQL zu realisieren.

Mit dem Befehl CREATE USER legt man einen Benutzer neu an und richtet damit einen Benutzernamen und ein Passwort für den Benutzer ein, gleichzeitig hat auch die Möglichkeit, den Benutzer in eine oder mehrerer bereits bestehenden Gruppen hinzuzufügen. Um den Zustand eines Datenbankbenutzers zu verändern (z.B. das Passwort zu ändern), wird der Befehl ALTER USER verwendet. Der Befehl DROP USER entfernt einen in der Datenbank schon exitierenden Benutzer wieder.

Eine Gruppe in PostgreSQL kann mit dem Befehl CREATE GROUP eingerichtet werden. In einer Gruppe werden die jenigen Datenbankbenutzer aufgenommen, die nach gewissen Kriterien zusammengehören können. Mit dem Befehl ALTER GROUP kann man neue Benutzer in eine Gruppe hinzufügen oder die Gruppenmitglieder entfernen. Der Befehl DROP GROUP löscht eine Gruppe.

Damit ein Benutzer überhaupt Arbeiten in der Datenbank ausführen kann, werden ihm die entsprechenden Zugriffsberechtigungen auf den Datenbankobjekten durch den Befehl GRANT gegeben. Die Objekte in PostgreSQL, auf die eine Zugriffsberechtigung vergeben kann, sind z.B. Tabellen, Sichten und Squenzen. Der Befehl REVOKE entzieht einem Benutzer oder einer Gruppe diese Berechtigungen wieder. Es gibt zwei Typen von Privilegien: Systemprivilegien und Objeteprivilegien. Die Systemprivilegien sind diejenigen Rechte, die einem Benutzer erlaubt, neue Datenbanken einzurichten oder neue Benutzer in die Datenbank hinzuzufügen, die Objekteprivilegien in PostgreSQL umfassen die vier Zugriffsberechtigungen(SELECT, INSERT, UPDATE/DELETE und RULE) auf unterschiedlichen Datenbankobjekten. Die Systemprivilegien können nur von einem Superuser erteilt werden, während die Objekteprivilegien von einem Superuser oder dem Besitzer (Owner) dieser Objekte in PostgreSQL vergeben können.

Nach dem Sichterheitskonzept unter PostgreSQL sollen alle Benutzer wie in Abbildung 2.2 gezeigt verwaltet werden. An jeden Datenbankbenutzer werden entsprechende Zugriffsberechtigungen auf bestimmte Objekte zugeordnet werden. In einer Gruppe haben alle Mitglieder gemeinsam die Zugriffsrechte, die direkt an diese Gruppe erteilt werden. Die Gruppenmitglieder können nicht nur die gemeinsamen als auch individuelle Zugriffsrechte erhalten. Ein Beispiel in der Praxis dafür: Während der Vorlesungszeit gibt es im Lehrstuhl mehrere Übungsbetriebe für entsprechende Vorlesungen, für eine Vorlesung (z.B. Info3) bilden dann die Tutoren als Benutzer eine eigne Gruppe in der Datenbank. Alle Tutoren in diese Gruppe bekommen den Zugriff auf die Objekte (wie z.B. Übungsaufgaben, Lösungen), die während der Übungsbetreuung von Bedeutung sind. Gleichzeitig erhält jeder Übungsleiter noch zusätzlich individuellen Zugriff auf die Information über die Übungsgruppe, die direkt von ihm betreut wird.

\includegraphics[width=1\textwidth]{Bilder/zugriffsrechte.eps}


next up previous contents
Nächste Seite: Entwurf eines Benutzerverwaltungssystems Aufwärts: Sicherheitskonzept unter PostgreSQL Vorherige Seite: REVOKE Privilegien   Inhalt
Zhongshi Wang 2002-04-11