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

Gruppe: 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)

(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