Databases Reference
In-Depth Information
Donald darf jetzt in der Tabelle personen nur die Werte der Spalte name ändern.
Verschiedene Rechte können in einer Anweisung an mehrere Benutzer und meh-
rere Rollen vergeben werden:
grant select, delete
to entenhausener, asterix
Jeder Benutzer einer H2-Datenbank darf Tabellen anlegen, bei anderen Systemen
kann der Administrator das unterbinden. Rechte für ein Datenbankobjekt dür-
fen ein DBA oder der Besitzer, also derjenige Benutzer vergeben, der das Objekt
erzeugt hat. Neben den Rechten, die den vier DML-Anweisungen entsprechen,
unterstützen einige Dialekte beispielsweise
grant index on personen
to donald
um Donald das Recht zu geben, einen Index (siehe Kapitel 20) auf die Tabelle
personen anzulegen. Auch wenn Donald keine select -Rechte hat, können wir
ihn in einigen Systemen vermöge
grant references on personen
to donald
immerhin in die Lage versetzen, die Tabelle personen mit einem Fremdschlüssel
zu referenzieren.
Gerade bei Datenbanken, auf die viele Benutzer zugreifen, müssen wir - nicht
zuletzt aufgrund der vielen Unterschiede, die es in den einzelnen SQL-Dialekten
gibt - aufpassen, dass wir nicht versehentlich zu viele Rechte verteilt haben. Eini-
ge System sind ausgesprochen großzügig mit der Vergabe von Standardrechten.
Es ist im Zweifelsfall kein Fehler, allen Benutzern für jede Tabelle zunächst alle
Rechte zu entziehen:
revoke all on <tabname>
from public
Der Platzhalter <tabname> repräsentiert dabei eine beliebige Tabelle. Wir können
uns solche Anweisungen für alle Tabellen mit Hilfe von select -Anweisungen
auf den Systemkatalog erzeugen lassen. Nach dem Entzug können wir dann ge-
zielt die geeigneten Rechte vergeben.
16.3
Rechte auf Views
Wir haben gesehen, dass update -Rechte auch spaltenweise vergeben wer-
den können. Diese praktische Eigenschaft kann gelegentlich auch für select -
Anweisungen nützlich sein. Nehmen wir mal an, dass wir die Daten unserer Mit-
arbeiter in der folgenden Tabelle ablegen:
Search WWH ::




Custom Search