Bei CALL-DML-Tabellen ist es möglich, Kennwortschutz sowohl für Sätze einer Tabelle als auch attributbezogen einzurichten. Durch ein Kennwort schränken Sie den Zugriff ein auf
bestimmte Sätze einer Tabelle
bestimmte Attribute
eine bestimmte Zugriffsart.
Das Kennwort und Angaben über seine Zugriffsberechtigung stehen im Kennwortkatalog. Im Anwenderprogramm tragen Sie das Kennwort in den ersten drei Bytes der CALL-DML-Anweisungen ein.
Das Kennwortkonzept für die CALL-DML ermöglicht einen hierarchisch aufgebauten Kennwortschutz.
Es ist sinnvoll, Kennwörter tätigkeitsbezogen zu vergeben: Die Angabe eines einzigen Kennworts soll den Benutzer berechtigen, alle Operationen auszuführen, die zu einem bestimmten Arbeitsgang gehören (z.B. Vorgang bei UTM-Anwendungen, Transaktion).
Außerdem ist zu beachten, dass zur Ausführung von JOIN-Operationen die Leseberechtigung auf die JOIN-Attribute der beteiligten Tabellen erforderlich ist. Der Zugriff erfolgt nur mit den jeweiligen Kennwörtern der beteiligten Tabellen.
Zugriffsschutz für Sätze einer Tabelle
Sätze einer Tabelle werden über den Primärschlüsselwert identifiziert.
Die Zugriffsberechtigung eines Kennworts kann vergeben werden für die Zugriffsarten Lesen, Ändern und Löschen.
Jede Zugriffsart ist exklusiv. Es sind jedoch alle möglichen Kombinationen der einzelnen Zugriffsarten erlaubt.
Der Berechtigungsumfang eines Kennworts kann sich erstrecken auf
einzelne Sätze einer Tabelle bzw. Gruppen von Sätzen
alle Sätze einer Tabelle
alle Sätze einer Tabelle mit Ausnahme von einzelnen Sätzen oder Gruppen von Sätzen.
Damit für die Zugriffsarten "Lesen/Ändern" oder "Lesen und Ändern" alle dem Kennwort zugänglichen Sätze einer Tabelle vollständig, d.h. mit allen Attributen, angesprochen werden können, muss das Kennwort für die betreffende Zugriffsart die globale Attributberechtigung bekommen. Eine Berechtigung zum Löschen ist nur bei Sätzen einer Tabelle vorgesehen. Sie gilt auch bei Attributeinschränkungen.
Beispiele
Die Satzzugriffsberechtigung bei der Zugriffsart Lesen:
Die Tabelle FIRMA enthält die Attribute PERSNR, PNAME, PVNAM, PSTR, POSTLZ, PSTADT, PGEBDAT, PABTLG, PFREMD, PGEH.
Das Attribut PERSNR ist zum Primärschlüssel erklärt.
Das Kennwort XX1 ist leseberechtigt für Sätze einer Tabelle mit den Primärschlüsselwerten 013751 und 234781. Außerdem ist XX1 global leseberechtigt für alle Attribute der Tabelle:
PERSNR | PNAME | PVNAM | PSTR | POSTLZ | PSTADT | PGEBDAT | PABTLT | PFREM | PGEH |
013751 | read | read | read | read | read | read | read | read | read |
018392 | |||||||||
111111 | |||||||||
234781 | read | read | read | read | read | read | read | read | read |
333333 | |||||||||
. | |||||||||
673241 |
Tabelle 43: Leseberechtigung für das Kennwort XX1 (read/fett)
Das Kennwort XX2 ist leseberechtigt für alle Sätze einer Tabelle außer den Sätzen mit den Primärschlüsselwerten 111111 und 333333. Außerdem ist XX2 global leseberechtigt für alle Attribute der Tabelle.
PERSNR | PNAME | PVNAM | PSTR | POSTLZ | PSTADT | PGEBDAT | PABTLT | PFREM | PGEH |
013751 | read | read | read | read | read | read | read | read | read |
018392 | read | read | read | read | read | read | read | read | read |
111111 | |||||||||
234781 | read | read | read | read | read | read | read | read | read |
333333 | |||||||||
. nnnnnn | read | read | read | read | read | read | read | read | read |
673241 | read | read | read | read | read | read | read | read | read |
Tabelle 44: Leseberechtigung für das Kennwort XX2 (read/fett)
Zugriffsschutz für Attribute
Die Zugriffsberechtigung eines Kennworts kann eingeschränkt werden auf die Zugriffsarten Lesen und Ändern.
Zwischen beiden Zugriffsarten besteht keine hierarchische Beziehung, d.h. die Berechtigung zum Ändern beinhaltet nicht die Berechtigung zum Lesen und umgekehrt. Einem Kennwort können Sie aber auch beide Berechtigungen gleichzeitig einräumen.
Der Berechtigungsumfang eines Kennworts kann sich erstrecken auf
einzelne Attribute oder Attributintervalle
alle Attribute der Tabelle
alle Attribute der Tabelle, mit Ausnahme einzelner ausgewählter Attribute und Attributintervalle
Eine Sonderstellung bei der Vergabe von Attributberechtigungen nimmt der Primärschlüssel ein. Da Primärschlüsselwerte auch zur Identifizierung von Sätzen einer Tabelle dienen, unterliegt der Primärschlüssel nicht dem Zugriffschutz für Attribute. Damit bei einer bestimmten Zugriffsart die Attributberechtigung eines Kennworts in vollem Umfang wirksam ist, muss dem Kennwort eine globale Satzberechtigung für diese Zugriffsart erteilt sein.
Beispiele
Die Zugriffsberechtigung für Attribute bei der Zugriffsart Lesen:
Das Kennwort XX3 ist leseberechtigt für die Attribute PNAME, PVNAM, POSTLZ, PSTADT sowie für alle Sätze der Tabelle.
PERSNR | PNAME | PVNAM | PSTR | POSTLZ | PSTADT | PGEBDAT | PABTLG | PFREMD | PGEH |
013751 | read | read | read | read | |||||
018392 | read | read | read | read | |||||
111111 | read | read | read | read | |||||
234781 | read | read | read | read | |||||
333333 | read | read | read | read | |||||
. nnnnnn | read | read | read | read | |||||
673241 | read | read | read | read |
Tabelle 45: Leseberechtigung für das Kennwort XX3 (read/fett)
Das Kennwort XX4 ist leseberechtigt für alle Attribute außer PGEBDAT und PGEH.
Außerdem ist XX4 global leseberechtigt für alle Sätze der Tabelle.
PERSNR | PNAME | PVNAM | PSTR | POSTLZ | PSTADT | PGEBDAT | PABTLG | PFREMD | PGEH |
013751 | read | read | read | read | read | read | read | ||
018392 | read | read | read | read | read | read | read | ||
111111 | read | read | read | read | read | read | read | ||
234781 | read | read | read | read | read | read | read | ||
333333 | read | read | read | read | read | read | read | ||
. . | read | read | read | read | read | read | read | ||
673241 | read | read | read | read | read | read | read |
Tabelle 46: Leseberechtigung für das Kennwort XX4 (read/fett)
Kombinierter Zugriffsschutz für Sätze einer Tabelle und Attribute
Mit einem Kennwort können Sie gleichzeitig Berechtigungen für Satz- und Attributzugriff vergeben. Einschränkungen bei den einzelnen Zugriffsarten können Sie für Satz- und Attributzugriff unabhängig voneinander festlegen. Dabei ist jedoch zu beachten, dass sich bei derselben Zugriffsart die Beschränkungen für Satz- und Attributzugriff überlagern.
Beispiele
Der kombinierte Zugriffsschutz bei der Zugriffsart Lesen:
Das Kennwort XX5 ist leseberechtigt für die Attribute PNAME, PVNAM, POSTLZ, PSTADT.
Außerdem ist XX5 leseberechtigt nur für Sätze einer Tabelle mit den Primärschlüsselwerten 013751 und 234781.
PERSNR | PNAME | PVNAM | PSTR | POSTLZ | PSTADT | PGEBDAT | PABTLG | PFRED | PGEH |
013751 | read | read | read | read | |||||
018392 | |||||||||
111111 | |||||||||
234781 | read | read | read | read | |||||
333333 | |||||||||
. | |||||||||
673241 |
Tabelle 47: Leseberechtigung für das Kennwort XX5 (read/fett)
Das Kennwort XX6 ist leseberechtigt für alle Attribute der Tabelle außer PGEBDAT und PGEH.
Außerdem ist XX6 leseberechtigt für alle Sätze einer Tabelle, mit Ausnahme der Sätze mit den Primärschlüsselwerten 111111 und 333333.
PERSNR | PNAME | PVNAM | PSTR | POSTLZ | PSTADT | PGEBDAT | PABTLG | PFREMD | PGEH |
013751 | read | read | read | read | read | read | read | ||
018392 | read | read | read | read | read | read | read | ||
111111 | |||||||||
234781 | read | read | read | read | read | read | read | ||
333333 | |||||||||
. nnnnnn | read | read | read | read | read | read | read | ||
673241 | read | read | read | read | read | read | read |
Tabelle 48: Leseberechtigung für das Kennwort XX6 (read/fett)
Das Kennwort XX7 ist leseberechtigt für die Attribute PNAME, PVNAM, POSTLZ, PSTADT.
Bis auf den Satz mit dem Primärschlüsselwert 111111 dürfen alle Sätze einer Tabelle gelesen werden.
PERSNR | PNAME | PVNAM | PSTR | POSTLZ | PSTADT | PGEBDAT | PABTLG | PFREMD | PGEH |
013751 | read | read | read | read | |||||
018392 | read | read | read | read | |||||
111111 | |||||||||
234781 | read | read | read | read | |||||
333333 | read | read | read | read | |||||
. . | read | read | read | read | |||||
673241 | read | read | read | read |
Tabelle 49: Leseberechtigung für das Kennwort XX7 (read/fett)