Anwendungsbereich: | SECURITY-ADMINISTRATION |
Privilegierung: | STD-PROCESSING, GUARD-ADMINISTRATION |
Mit diesem Kommando werden Zugriffsbedingungen in ein oder mehrere Guards eingetragen. Die Zugriffsbedingungen können dabei durch wiederholte Kommandoaufrufe nacheinander für jeweils einen der möglichen Subjekttypen *USER, *GROUP, *OTHERS und *ALL-USERS eingetragen werden.
ADD-ACCESS-CONDITIONS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
GUARD-NAME = <filename 1..24 without-gen-vers with-wild(40)>
Angabe eines oder mehrerer Guards, in die Zugriffsbedingungen eingetragen werden sollen. Im Namen dürfen Musterzeichen (wildcards) enthalten sein.
Wird der Name ohne Musterzeichen angegeben und das genannte Guard ist noch nicht eingerichtet, wird es neu angelegt und erhält den Guardtyp STDAC.
Wird der Guardname mit Hilfe von Musterzeichen angegeben, werden nur die Guards berücksichtigt, die den Guardtyp STDAC besitzen.
Musterzeichen in der Benutzerkennung darf nur ein Guard-Administrator angeben.
Die Angabe der System-Standardkennung im Guardnamen, wie zum Beispiel $<filename> oder $.<filename>, wird nicht unterstützt.
SUBJECTS =
Angabe, für welchen Subjekttyp die einzutragenden Zugriffsbedingungen gelten sollen. Mögliche Subjekttypen sind:
*USER (Benutzerkennungen),
*GROUP (Benutzergruppen)
*OTHERS (alle nicht explizit genannten Benutzerkennungen).
Zusätzlich existiert noch der Pseudo-Subjekttyp *ALL-USERS, mit dem Zusatzbedingungen festgelegt werden können.
Sollen Zugriffsbedingungen für mehrere dieser Subjekttypen festgelegt werden, muss das Kommando entsprechend oft eingegeben werden.
SUBJECTS = *NONE
Es werden keine Zugriffsbedingungen definiert. Mit diesem Operandenwert kann einem Guard des Typs UNDEF der Typ STDAC zugewiesen werden. Dann kann das Guard nur noch Zugriffsbedingungen aufnehmen.
SUBJECTS=*NONE darf nur zusammen mit ADMISSION=*YES angegeben werden.
SUBJECTS = *OTHERS
Angabe, dass die mit dem Operanden ADMISSION festgelegten Bedingungen für die Benutzer gelten sollen, die keiner der beiden Listen SUBJECTS=*USER oder *GROUP enthalten sind.
SUBJECTS = *ALL-USERS
Angabe, dass es sich bei den mit dem Operanden ADMISSION festgelegten Bedingungen um Zusatzbedingungen handelt.
Falls Zusatzbedingungen festgelegt sind, gilt: Ein Subjekttyp erhält nur dann Zugriffserlaubnis, wenn ihm sowohl die für den Subjekttyp selbst festgelegten Bedingungen, als auch die für den Pseudo-Subjekttyp *ALL-USERS festgelegten Bedingungen den Zugriff erlauben.
Weitere Information zur Festlegung und Überprüfung von Zugriffsbedingungen finden Sie im Abschnitt „Zugriffsbedingungen definieren".
SUBJECTS = *USER(...)
Angabe, dass die mit dem Operanden ADMISSION festgelegten Bedingungen für bestimmte Benutzerkennungen gelten sollen.
USER-IDENTIFICATION = list-poss(20): <name 1..8>
Angabe von maximal 20 Benutzerkennungen, für die die mit dem Operanden ADMISSION definierten Zugriffsbedingungen gelten sollen. Sollen mehr als 20 Benutzerkennungen aufgezählt werden, muss der Kommandoaufruf entsprechend oft wiederholt werden.
SUBJECTS = *GROUP(...)
Angabe, dass die mit dem Operanden ADMISSION festgelegten Bedingungen für bestimmte Benutzergruppen gelten sollen.
GROUP-IDENTIFICATION = *UNIVERSAL / list-poss(20): <name 1..8>
Angabe von maximal 20 Gruppenkennungen, für die die mit dem Operand ADMISSION definierten Zugriffsbedingungen gelten sollen. Sollen mehr als 20 Gruppenkennungen aufgezählt werden, muss der Kommandoaufruf entsprechend oft wiederholt werden.
ADMISSION =
Legt die Zugriffsbedingungen für den mit dem Operand SUBJECTS angegebenen Subjekttyp (*USER, *GROUP, *OTHERS) oder Zusatzbedingungen für alle Subjekttypen (*ALL-USERS) fest.
ADMISSION = *YES
Legt fest, dass dem mit dem Operanden SUBJECTS angegebenen Subjekttyp der Zugriff gestattet ist.
Falls Zusatzbedingungen festgelegt sind, gilt: Ein Subjekttyp erhält nur dann Zugriffserlaubnis, wenn ihm sowohl die für den Subjekttyp selbst festgelegten Bedingungen als auch die für den Pseudo-Subjekttyp *ALL-USERS festgelegten Bedingungen den Zugriff erlauben.
Weitere Information zur Festlegung und Überprüfung von Zugriffsbedingungen finden Sie im Abschnitt „Zugriffsbedingungen definieren".
Bei Angabe von SUBJECTS=*NONE muss ADMISSION=*YES gesetzt sein. Andernfalls wird ein Fehler gemeldet.
ADMISSION = *NO
Legt fest, dass dem mit dem Operanden SUBJECTS angegebenen Subjekttyp oder Pseudo-Subjektyp der Zugriff verboten ist.
ADMISSION = *PARAMETERS(...)
Genauere Spezifizierung der Zugriffsbedingungen, die dem mit dem Operanden SUBJECTS angegebenen Subjekttyp oder Pseudo-Subjektyp gelten sollen.
Falls Zusatzbedingungen festgelegt sind, gilt: Ein Subjekttyp erhält nur dann Zugriffserlaubnis, wenn ihm sowohl die für den Subjekttyp selbst festgelegten Bedingungen als auch die für den Pseudo-Subjekttyp *ALL-USERS festgelegten Bedingungen den Zugriff erlauben.
Weitere Information zur Festlegung und Überprüfung von Zugriffsbedingungen finden Sie im Abschnitt „Zugriffsbedingungen definieren".
DATE =
Angabe von Kalenderdaten, an denen der Zugriff erlaubt oder untersagt ist. Jahresangaben müssen zwischen 1991 und 2099 liegen. SDF erlaubt die Angabe des Datums sowohl mit vierstelliger als auch mit zweistelliger Jahreszahl. Ein Datum mit zweistelliger Jahreszahl (jj-mm-tt) wird ergänzt zu:
20jj-mm-tt, falls jj < 60 oder
19jj-mm-tt, falls jj >= 60.
DATE = *ANY
Es kann jederzeit auf das Objekt zugegriffen werden.
DATE = *EXCEPT(DATE = list-poss(4): *INTERVAL(...))
Es können maximal 4 Intervalle definiert werden, in denen der Zugriff untersagt ist.
FROM = <date 8..10 with-compl>
Gibt den Anfang des Intervalls an.
TO = *SAME
Gibt an, dass das Ende gleich dem Anfang des Intervalls ist. (Bedingung gilt nur an einem Tag).
TO = <date 8..10 with-compl>
Gibt das Ende des Intervalls an.
DATE = list-poss(4): *INTERVAL(...)
Es können maximal 4 Intervalle definiert werden, in denen der Zugriff erlaubt ist.
FROM = <date 8..10 with-compl>
Gibt den Anfang des Intervalls an.
TO = *SAME
Gibt an, dass das Ende gleich dem Anfang des Intervalls ist. (Bedingung gilt nur an einem Tag).
TO = <date 8..10 with-compl>
Gibt das Ende des Intervalls an.
TIME =
Angabe von Tageszeiten, an denen der Zugriff erlaubt oder untersagt ist. Sekundenangaben werden ignoriert. Stunden- und Minutenangaben sind durch Doppelpunkte voneinander zu trennen. Angaben ohne Doppelpunkt werden als Stundenangabe interpretiert.
TIME = *ANY
Es kann jederzeit auf das Objekt zugegriffen werden.
TIME = *EXCEPT(TIME = list-poss(4): *INTERVAL(...))
Es können maximal 4 Intervalle definiert werden, in denen der Zugriff untersagt ist.
FROM = <time 1..8>
Gibt den Anfang des Intervalls an.
TO = <time 1..8>
Gibt das Ende des Intervalls an.
TIME = list-poss(4): *INTERVAL(...)
Es können maximal 4 Intervalle definiert werden, in denen der Zugriff erlaubt ist.
FROM = <time 1..8>
Gibt den Anfang des Intervalls an.
TO = <time 1..8>
Gibt das Ende des Intervalls an.
WEEKDAY =
Legt einen oder mehrere Wochentage fest, an denen der Zugriff erlaubt ist.
WEEKDAY = *ANY
Zugriff ist an jedem Wochentag erlaubt.
WEEKDAY = *EXCEPT(...)
Legt die Tage fest, an denen der Zugriff untersagt ist.
WEEKDAY = list-poss(7): *MONDAY / *TUESDAY / *WEDNESDAY /
*THURSDAY / *FRIDAY / *SATURDAY / *SUNDAY
Hier wird die Liste der Tage festgelegt, an denen der Zugriff untersagt ist.
WEEKDAY = list-poss(7): *MONDAY / *TUESDAY / *WEDNESDAY / *THURSDAY / *FRIDAY / *
SATURDAY / *SUNDAY
Zugriff ist nur an den angegebenen Tagen erlaubt.
PRIVILEGE =
Spezifiziert die Privilegien, mit denen der Zugriff erlaubt ist.
PRIVILEGE = *ANY
Es ist kein besonderes Privileg für den Zugriff notwendig.
PRIVILEGE = *EXCEPT(...)
PRIVILEGE = list-poss(31): <text>
Untersagt ist ein Zugriff mit den angegebenen Privilegien. Mögliche Privilegien siehe "Funktionelle Übersicht".
PRIVILEGE = list-poss(31): <text>
Nur Benutzer mit den angegebenen Privilegien dürfen zugreifen. Mögliche Privilegien siehe "Funktionelle Übersicht".
PROGRAM = *ANY / list-poss(4): <filename 1..54 without-gen-vers with-wild> / *PHASE(...) / *MODULE(...)
Legt fest, über welches Programm ein Zugriff erfolgen darf. Es können maximal 4 Programmnamen angegeben werden. Die benannten Programme können entweder als gebundene Phase in einer Datei, oder als Objektmodul (OM) bzw. Binderlademodul (LLM) als Bibliothekselement vorliegen.
Hinweise
Um Konflikte bei der Verwendung von Moduln des Typs OM und LLM zu vermeiden, wird empfohlen, die Module in unterschiedlichen Bibliotheken zu führen (siehe auch Handbuch „LMS“ [23]).
Bei Zugriffen über ein Programm wird geprüft, ob das zugreifende Programm geladen und die Kontrolle übernommen hat.
Soll auf ein mit Guards geschütztes Objekt nur über ein Programm zugegriffen werden, ist auf Folgendes zu achten:
Die Datei oder Bibliothek, in der das zum Zugriff berechtigte Programm abgelegt ist, sollte selber so geschützt werden, dass das Programm weder modifiziert noch gelesen werden kann. Es könnte sonst von einem Benutzer (der keinen Zugriff auf das geschützte Objekt hat) unter dessen Benutzerkennung kopiert und mit dem Namen des zum Zugriff berechtigten Programms benannt werden.
PROGRAM = *ANY
Der Zugriff darf über jedes beliebige Programm erfolgen.
PROGRAM = <filename 1..54 without-gen-vers with-wild>
Das Programm ist eine gebundene Phase und liegt als Datei vor. Wird der Dateiname ohne Pfad angegeben, wird er mit der Default-Pubset-ID und der Benutzerkennung des Kommandogebers vervollständigt.
PROGRAMM = *PHASE(...)
Das Programm ist eine gebundene Phase und liegt als Bibliothekselement des Typs C vor.
LIBRARY = <filename 1..54 without-gen-vers with-wild>
Name der Bibliothek, in der die gebundene Phase eingetragen ist. Wird der Bibliotheksname ohne Pfad angegeben, wird er mit der Default-Pubset-ID und der Benutzerkennung des Kommandogebers vervollständigt.
ELEMENT = <composed-name 1..64 with-under with-wild>
Name des Bibliothekselements.
VERSION = *ANY
Es wird keine spezielle Version für das Bibliothekselement festgelegt.
VERSION = <composed-name 1..24 with-under with-wild>
Version des Bibliothekselements.
PROGRAM = *MODULE(...)
Das Programm ist ein Objektmodul (OM) oder ein Bindelademodul (LLM) und liegt als Bibliothekselement vom Typ R bzw. L vor.
LIBRARY = <filename 1..54 without-gen-vers with-wild>
Name der Bibliothek, in der der Objekt- bzw. Lademodul eingetragen ist. Wird der Bibliotheksname ohne Pfad angegeben, wird er mit der Default-Pubset-ID und der Benutzerkennung des Kommandogebers vervollständigt.
ELEMENT = <composed-name 1..32 with-under with-wild>
Name des Bibliothekselements.
VERSION = *ANY
Es wird keine spezielle Version für das Bibliothekselement festgelegt.
VERSION = <composed-name 1..24 with-under with-wild>
Version des Bibliothekselements.
DIALOG-CONTROL =
Der Anwender kann das Kommando mit Kontrolldialog benutzen, wobei die Art der Dialogführung steuerbar ist. Die Dialogführung ist im Batchbetrieb wirkungslos, was der Angabe DIALOG-CONTROL=*NO entspricht.
DIALOG-CONTROL = *STD
Der Anwender kann für jedes ausgewählte Bedingungsguard im Dialog entscheiden, ob das Kommando angewendet werden soll oder nicht. Die Dialogführung erfolgt jedoch nur dann, wenn der Name des Bedingungsguard mit Hilfe von Musterzeichen spezifiziert ist.
Ein Kommandoabbruch ist möglich.
DIALOG-CONTROL = *NO
Das Kommando wird ohne Rückfrage auf jedes ausgewählte Bedingungsguard angewendet.
DIALOG-CONTROL = *GUARD-CHANGE
Der Anwender kann für jedes ausgewählte Bedingungsguard im Dialog entscheiden, ob das Kommando angewendet werden soll oder nicht. Die Dialogführung erfolgt unabhängig davon, ob der Name des Bedingungsguards mit Hilfe von Musterzeichen spezifiziert ist oder nicht.
Ein Kommandoabbruch ist möglich.
DIALOG-CONTROL = *USER-ID-CHANGE
Diesen Kontrolldialog kann nur ein Guard-Administrator verwenden.
Ein Guard-Administrator kann für jede ausgewählte Benutzerkennung im Dialog entscheiden, ob das Kommando angewendet werden soll oder nicht. Die Dialogführung erfolgt jedoch nur dann, wenn die Benutzerkennung im Namen des Bedingungsguards mit Hilfe von Musterzeichen spezifiziert ist.
Ein Kommandoabbruch ist möglich.
DIALOG-CONTROL = *CATALOG-CHANGE
Der Anwender kann für jede ausgewählte Katalogkennung im Dialog entscheiden, ob das Kommando angewendet werden soll oder nicht. Die Dialogführung erfolgt jedoch nur dann, wenn die Katalogkennung im Namen des Bedingungsguards mit Hilfe von Musterzeichen spezifiziert ist.
Ein Kommandoabbruch ist möglich.
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
0 | CMD0001 | Kommando erfolgreich ausgeführt | |
2 | 0 | PRO1011 | Das Kommando wurde auf Wunsch des Benutzers abgebrochen |
32 | PRO1001 | Ein interner Fehler trat auf. Für eine genauere Analyse wurde ein SERSLOG-Eintrag geschrieben | |
64 | PRO1002 | Der Guard-Name ist syntaktisch falsch | |
64 | PRO1007 | Das angegebene Guard existiert nicht | |
64 | PRO1012 | Der angegebene Katalog ist nicht definiert | |
64 | PRO1013 | Das Pubset ist bei der GUARDS-Verwaltung unbekannt (Guardskatalog wurde wahrscheinlich bei IMPORT-PUBSET nicht geöffnet) | |
64 | PRO1014 | Der Benutzer ist nicht autorisiert, die Funktion auszuführen | |
64 | PRO1015 | Das angegebene Subjekt ist nicht im Guard enthalten | |
64 | PRO1016 | Fehler im Kommunikationsmittel des MRS | |
64 | PRO1017 | Unbekannte Benutzerkennung | |
64 | PRO1018 | Fernes System nicht verfügbar | |
64 | PRO1020 | Kein Speicher mehr vorhanden | |
64 | PRO1021 | BCAM-Verbindungsfehler | |
64 | PRO1022 | BCAM-Verbindung unterbrochen. | |
64 | PRO1023 | Kein Guard entspricht den Auswahlkriterien | |
64 | PRO1026 | Kennung bereits in Bedingung enthalten | |
64 | PRO1027 | Bedingungsbereich voll | |
64 | PRO1028 | Guard hat falschen Typ | |
64 | PRO1029 | GUARDS auf dem fernen Rechner nicht verfügbar | |
2 | 64 | PRO1035 | Kommando nicht ausgeführt |
128 | PRO1009 | Das angegebene Guard ist von einer anderen Task gesperrt | |
128 | PRO1036 | Guardskatalog gesperrt | |
128 | PRO1038 | Guardskatalog durch ARCHIVE gesperrt |
Beispiel
Es soll in das Guard eingetragen werden, dass der Benutzer SECOSMAN nur zwischen 7 und 17 Uhr zugreifen darf:
|
Die Bedingung kann überprüft werden mit /SHOW-ACCESS-CONDITIONS:
|
Guard name Scope Creation Date Last Mod Date ----------------------------------------------------------------------------- :N:$SECOSMAN.GUARDEXA SYS 2017-09-29/10:52:28 2017-09-29/11:07:28 GUARD FUER DIE GUARD-BEISPIELE User SECOSMAN Time IN ( <07:00,17:00> ) ----------------------------------------------------------------------------- Guards selected: 1 End of display