Zum Hauptinhalt springen
Version: 2024.2.x

Integrierte Rollen- und Nutzerverwaltung

In diesem Abschnitt werden die Methodiken beschrieben, wie ein Nutzer angelegt werden kann. Zudem wird hierbei auf die Nutzerrollen näher eingegangen.

Rollenverwaltung

Die Rollen der DMC werden über die Tabelle DMC_ROLES verwaltet. Um eine neue Nutzergruppe zuzuweisen, wird in dieser Tabelle ein Datensatz mit dem role_name angelegt. Die entsprechende role_id wird durch das System hochgezählt und angelegt.

Soll eine Rolle mit einer entsprechenden AD-Rolle verknüpft sein, muss diese in der Tabelle dmc_role_mapping entsprechend auf die DMC-interne Rolle über deren role_name zugeordnet werden.

Um Rollen und Nutzern Zugriffsrechte zu vergeben, wird die Rechtevergabe einer Tabelle genutzt.

Administratorrolle

Die Rolle des Administrators ist eine gesonderte innerhalb der DMC.
Nur Nutzer dieser Gruppe können auf alle Inhalte sowie die Administratorenfunktionen zugreifen.

Standardmäßig ist die Admin-Rolle als 'admin' benannt.
Soll dieses Verhalten angepasst werden, so kann über die Umgebungsvariable DMC_ADMIN_GROUP ein neuer Name gesetzt werden.

Benutzerverwaltung

Neben der Rollenverwaltung verfügt die DMC auch über eine optionale, integrierte Benutzerverwaltung und Authentifizierung.

Integrierte DB-Authentifizierung

Die hier beschriebene integrierte Authentifizierung (DMC_AUTH=db) unterstützt keine Passwort-Richtlinien sowie keine Multi-Faktor-Authentifizierung.

Daher raten wir dringend davon ab, diese Authentifizierungsmethode außerhalb von Entwicklungs- oder Testumgebungen zu nutzen!

Soweit möglich und insbesondere für produktive Umgebungen sollte unbedingt die Authentifizierung via Active Directory/LDAP oder OpenID/Entra genutzt werden.

Um einen Nutzer in der integrierten Benutzerverwaltung anzulegen, müssen folgende Schritte vollzogen werden:

  1. Passwort generieren
  2. Nutzer in Datenbanktabelle DMC_USERS anlegen
  3. Nutzer in Datenbanktabelle DMC_ROLES_USERS Rollen zuweisen

1. Passwort generieren

Die Passwörter innerhalb der DMC werden nur gehasht abgelegt. Daher muss das gewünschte Passwort vor dem Anlegen des Nutzers gehasht werden. Hierfür muss ein autorisierter Nutzer folgenden API-Endpunkt aufrufen:

example-dmc-endpoint.de/api/auth/hash/hierpasswortangeben

2. Nutzer anlegen

Das tatsächliche Anlegen des Nutzers geschieht über die Datenbank, auf welcher die DMC-Metadaten liegen. Die Nutzer werden über die Tabelle DMC_USERS angelegt. Die Tabelle verfügt über die Felder user_id, user_name, password und is_locked. Beim Hinzufügen eines Datensatzes muss user_id nicht angegeben werden, da diese vom System hochgezählt wird. user_name bezeichnet den Namen des Nutzers, über welchen er sich beispielsweise einloggt oder über dem ihn Zugriffsberechtigungen gegeben werden können. Unter password muss das zuvor gehashte Passwort angegeben werden. Der Nutzer meldet sich jedoch mit dem ungehashten Passwort an. Um ein Nutzerkonto zu sperren, kann is_locked auf 'j' gesetzt werden. Andernfalls ist hier 'n' zu setzen.

3. Rollen zuweisen

Damit der angelegte Nutzer auch auf die DMC zugreifen kann, muss er einer Nutzergruppe zugeordnet werden. Dies kann über die Tabelle DMC_ROLES_USERS angelegt werden. Hierbei muss die ID des Nutzers aus DMC_USERS als user_id und die ID der Nutzergruppe aus DMC_ROLES als role_id als ein Datensatz angelegt werden. Darauf kann der Nutzer mit den Rechten der Gruppe auf die DMC zugreifen.