Benutzergruppe: Berechtigungen bearbeiten
Zum Bearbeiten von Benutzergruppen-Berechtigungen kann dieses Modul genutzt werden. Es werden Operationen wie 'Hinzufügen', 'Entfernen' und 'Setzen' unterstützt. Gelesen werden die Berechtigungen aus einer Datei im JSON-Format.
Bezeichnung
- Name
- mc.UserGroupAuthorizationEdit
Konfiguration
- Optionen
- Aktion (
action
) - Definiert die auszuführende Aktion. Privilegien können hinzugefügt, entfernt oder gesetzt werden.Mögliche Werte: Hinzufügen (
add
), Entfernen (remove
), Setzen (set
)
null (authorization-file
)
:
Beschreibung
Mit dem Modul können Berechtigungen einer Benutzergruppe gesetzt, hinzugefügt oder entfernt werden. Welche Berechtigungen mit einer der genannten Aktionen verarbeitet werden, ist in einer Datei im JSON-Format zu definieren. Weitere Details zum Format der Datei sind im folgenden Abschnitt zu finden. Die drei Aktionen, die ausgeführt werden können, gehen jeweils wie folgt vor:
- Hinzufügen
- Bei der Aktion werden an die Liste der bestehenden Einträge die in der JSON-Datei definierten Einträge hinten angehängt. Dabei erfolgt keine Überprüfung, ob Einträge doppelt sind.
- Entfernen
- Beim Entfernen von Einträgen werden Vergleiche zwischen den Einträgen in der JSON-Datei und in dem jeweiligen Objekt durchgeführt. Dabei gilt, dass alle Felder eines Eintrag übereinstimmen müssen, damit dieser gelöscht wird. Sind Einträge doppelt, so werden alle Vorkommen gelöscht.
- Setzen
- In diesem Modus werden alle existierenden Einträge gelöscht und anschließt wie bei der Aktion Hinzufügen in die Liste eingetragen.
Eingabe
Die Datei im JSON-Format, die der Option authorization-file übergeben werden muss, wie im folgenden Beispiel aufgebaut. Grundsätzlich handelt es sich im eine Liste mit Objekten.
[
{
"group": "1",
"type": "*",
"name": "*",
"read": true,
"write": true,
"execute": true,
"delete": false,
"cancel": true,
"executions": true,
"openReports": true,
"modifyAtRuntime": true,
"source": {
"agent": "ABC",
"login": "LOGIN1",
"filename": "/etc/filename"
},
"destination": {
"agent": "DEF",
"login": "LOGIN2",
"filename": "/etc/filename"
}
},
{
"group": "2",
"type": "CALL",
"name": "*SYSTEM*",
"read": true,
"write": true,
"execute": false,
"delete": false,
"cancel": false,
"executions": true,
"openReports": true,
"modifyAtRuntime": false
},
{
"group": "NOT",
"type": "*",
"name": "*SECRETS*",
"read": true,
"write": true,
"execute": true,
"delete": false,
"cancel": true,
"executions": true,
"openReports": true,
"modifyAtRuntime": true
}
]
Für die Eigenschaften der Objekte gelten folgende Regeln:
- ist ein Attribut nicht angegeben, so wird der Vorgabewert genutzt (siehe Tabelle)
- sind nicht zulässige Werte angegeben, so ist die Eingabedatei ungültig.
- die beiden Attribute source und destination sind Objekte mit den Eigenschaften agent, login und filename
Auf Basis dieser Regeln kann die Datei aus dem obigen Beispiel auch kürzer geschrieben werden.
[
{
"read": true,
"write": true,
"execute": true,
"cancel": true,
"executions": true,
"openReports": true,
"modifyAtRuntime": true,
"source": {
"agent": "ABC",
"login": "LOGIN1",
"filename": "/etc/filename"
},
"destination": {
"agent": "DEF",
"login": "LOGIN2",
"filename": "/etc/filename"
}
},
{
"group": "2",
"type": "CALL",
"name": "*SYSTEM*",
"read": true,
"write": true,
"executions": true,
"openReports": true
},
{
"group": "NOT",
"name": "*SECRETS*",
"read": true,
"write": true,
"execute": true,
"cancel": true,
"executions": true,
"openReports": true,
"modifyAtRuntime": true
}
]
Eine Übersicht aller Attribute, deren Typen und der Vorgabewerte ist in folgender Tabelle zu finden.
Attribut | Typ | Vorgabewert | Beschreibung |
---|---|---|---|
group | Zeichenkette | 1 | Kann die Nummern 1-9 oder das Schlüsselwort NOT enthalten |
type | Zeichenkette | * | Enthält entweder die Kurzbezeichnung für einen Objekttyp oder * |
name | Zeichenkette | * | Objektnamenfilter |
read | Boolean | false | Lesen |
write | Boolean | false | Schreiben |
execute | Boolean | false | Ausführen |
delete | Boolean | false | Löschen |
cancel | Boolean | false | Abbrechen |
executions | Boolean | false | Ausführungen |
openReport | Boolean | false | Report öffnen |
modifyAtRuntime | Boolean | false | Modifizieren zur Laufzeit |
source | Objekt | * für jedes Attribut | Filter für Agent, Login und Dateinamen der Quelle |
destination | Objekt | * für jedes Attribut | Filter für Agent, Login und Dateinamen des Ziels |