Die weiß hinterlegeten Relationen in Abbildung 2.1 modellieren die
Rechteverwaltung der VPD Umsetzung am IPK. Sie speichern eine Vielzahl von
Informationen ab. Es wird die Art des Schutzes gespeichert. Hinzu kommen noch
Informationen welche Objekte geschützt werden sollen. Der wichtigste und größte
Teil bildet die Relation T015_GRANT
.
Im folgenden werden die einzelnen Relationen benannt und ihre Funktion erläutert.
Die Relation r(T014_GRANT_TYPE)
speichert alle Arten des Schutzes. "'Bei
einem Zugriffsschutz, der auf vier SQL-Operationen wie SELECT
,
INSERT
, UPDATE
und DELETE
basieren
soll,"'[9, S.79] sind in der Relation nur diese vier Tupel
vorhanden.
Informationen über die zu schützende Tabelle befinden sich in
T000_OBJECT_TYPE
. Wichtige Attribute sind der Name der Tabelle, der Name
des Schema in der sich die Tabelle befindet und der Name des Primärschlüssels.
Mit Hilfe des Primärschlüssels kann ermittelt werden, welche Tupel geschützt
werden sollen. Nur Tabellen die in T000_OBJECT_TYPE
eingetragen sind,
stehen auch unter VPD Schutz. Ist dies nicht der Fall, gelten die in Abschnitt
2.2 beschriebenen Mechanismen.
Das zentrale Element der VPD Umsetzung ist die Relation r(T015_GRANT)
.
Sie enthält alle nötigen Informationen für den VPD Schutz. Jeder Eintrag
beschreibt die Ausprägung eines Tupels aus der in T000_OBJECT_TYPE
eingetragenen Tabelle. Im folgenden werden die wichtigsten Elemente näher
erläutert und geben einen ersten Eindruck über die Funktionsweise der VPD.
TO15_T000_ID
verweist auf die Relation T000_OBJECT_TYPE
und beschreibt, zu welcher Tabelle der Tupel gehört.
TO15_T014_ID
verweist auf die Relation r(T014_GRANT_TYPE)
und gibt Auskunft, für welche Operation der Schutz aktiv ist.
TO15_T002_ID_GRANTEE
verweist auf die Relation
T002_SUBJECT
. Es enthält die Informationen für welchen Nutzer das
vergebene Recht gilt. Der Nutzer "'all"' nimmt eine Sonderstellung ein. Er
steht stellvertretend für alle im VPD eingetragenen Nutzer und Gruppen. Wird
ein Recht für diesen User erstellt, so gilt es auch für alle anderen Nutzer im
VPD.
TO15_T002_ID_GRANTOR
verweist ebenfalls auf die Relation
T002_SUBJECT
. Der hier eingetragene Nutzer hat das vergebene Recht
erteilt. Im allgemeinen ist das die ID des Nutzers "'admin"'. Er verwaltet das
VPD und hat eine ähnliche Funktion wie der User "'root"' unter Linux. Genau
wie für "'root"' gelten für "'admin"' keine Einschränkungen. D.h. die
vergebenen Rechte haben keine Auswirkungen mehr auf die SQL-Abfragen.
TO15_TNNN_ID
enthält den Wert des Primärschlüssels des Tupels der
geschützten Tabelle. Zu beachten ist, dass der Primärschlüssel numerisch sein
muss. Außerdem gibt es hier zwei Sonderwerte. Wie weiter oben erläutert
wurde, wird für jedes geschütze Tupel und jeden Nutzer ein Eintrag in
TO15_GRANT
angelegt. Bei großen Tabellen und Nutzerzahlen würde das zu
sehr vielen Einträgen führen. Um dem entgegen zu wirken, wurden
besondere Werte und Nutzer (siehe oben) eingeführt. Nimmt TO15_TNNN_ID
den Wert
INSERT
Operation auszuführen. Dieses Recht kann nur einmal pro Tabelle
gegeben oder entzogen werden. Eine Ausprägung für jeden einzelnen Tupel würde
keinen Sinn ergeben.
Durch die Vielfalt der Informationen in TO15_GRANT
ist eine angemessene
Feinheit vorhanden um den VPD Schutz zu erstellen. Die nötigen Mechanismen und
das Zusammenspiel von VPD-Technolgie mit den im Schema PDW_SECURE
enthaltenen Informationen wird im folgenden Abschnitt erklärt.
Karl Spies 2006-01-09