WikiGuide: Benutzerverwaltung

Benutzerverwaltung

Die Benutzerverwaltung umfasst drei Bereiche: lokale und LDAP-Benutzer, Gruppenverwaltung mit Datenquellen-Zuordnung sowie die LDAP/Active-Directory-Anbindung. Alle Einstellungen sind über die Admin-UI (Tab »Benutzerverwaltung«) oder die Admin-Chat-API erreichbar.

Tab: Benutzer

Zeigt alle registrierten Benutzer (lokal und LDAP). LDAP-Benutzer werden automatisch beim Sync angelegt, lokale Benutzer manuell. Jeder Benutzer hat einen Anmeldestatus, eine Rolle und optional eine LDAP-Herkunft.

Benutzerliste — Spalten

SpalteBeschreibungHinweis
Benutzer Eindeutiger Login-Name. Case-insensitiv gespeichert. Mindestens 2 Zeichen. Bei LDAP-Benutzern: sAMAccountName aus dem AD.
Name Anzeigename (Vorname + Nachname). Wird bei LDAP-Sync automatisch aus givenName + sn befüllt.
E-Mail E-Mail-Adresse des Benutzers. Bei LDAP aus dem mail-Attribut. Optional für lokale Benutzer.
Admin Toggle: Administrator-Rolle (Ja/Nein). Admins haben Zugriff auf die Admin-UI und den Admin-Chat. Per Klick umschaltbar.
Quelle Herkunft: local oder ldap. LDAP-Benutzer können kein lokales Passwort setzen — Anmeldung nur via AD.
Aktiv Toggle: Aktiv-Status (Ja/Nein). Wichtig: Bei Deaktivierung werden sofort alle Sessions des Benutzers invalidiert. Der Benutzer wird umgehend ausgeloggt.
Tipp: Neue LDAP-Benutzer werden nach dem Sync standardmäßig als aktiv aber nicht als Admin angelegt. Admin-Rechte müssen manuell vergeben werden — das ist beabsichtigt, damit ein Sync nicht versehentlich Admin-Zugriff gewährt.

Benutzer anlegen (lokal)

FeldTypPflichtBeschreibungEmpfehlung
Benutzername Text Ja Login-Name, mindestens 2 Zeichen. Muss eindeutig sein (case-insensitiv). Kurze, einheitliche Namen verwenden (z.B. aalber, mmueller). Erleichtert die Zuordnung zu LDAP-Konten, falls später migriert wird.
Passwort Passwort Nein Mindestens 8 Zeichen. Wird gehashed gespeichert (bcrypt). Wird kein Passwort gesetzt, kann sich der Benutzer nicht anmelden, bis ein Admin eines vergibt. Nützlich für »vorbereitete« Konten.
Vorname Text Nein Wird im Anzeigenamen und in der Benutzerliste gezeigt. Ausfüllen — erleichtert die Zuordnung in Gruppen und Logs erheblich.
Nachname Text Nein Siehe Vorname. Siehe Vorname.
E-Mail E-Mail Nein E-Mail-Adresse. Aktuell nicht für Benachrichtigungen genutzt, aber für spätere Passwort-Reset-Funktion vorgesehen.
Administrator Checkbox Nein Wenn aktiviert, hat der Benutzer vollen Admin-Zugang. Sparsam vergeben. Für die meisten Benutzer reicht der normale Chat-Zugang.

Benutzer bearbeiten

Über den Bearbeiten-Button einer Zeile öffnet sich ein Modal mit denselben Feldern wie beim Anlegen, plus:

FeldBeschreibungHinweis
Neues Passwort Optionales Feld. Leer lassen = Passwort bleibt unverändert. Bei Eingabe werden alle aktiven Sessions des Benutzers invalidiert (Sicherheitsfeature).
Aktiv Checkbox. Deaktivierung sperrt den Benutzer sofort. Nützlich für temporäre Sperrungen — der Benutzer muss nicht gelöscht werden.
Tipp: Der aktuell angemeldete Admin kann sich weder selbst löschen noch deaktivieren. Beides wird serverseitig verhindert.

Tab: Gruppen

Gruppen werden aus dem Active Directory importiert und steuern den Zugriff auf Datenquellen und ERP-Tools. Die Zuordnung »Gruppe → Datenquelle« erfolgt im Datenquellen-Tab.

Gruppenliste — Spalten

SpalteBeschreibungHinweis
Gruppe Common Name (cn) der AD-Gruppe. Wird beim Import aus dem AD übernommen.
DN Distinguished Name — vollständiger LDAP-Pfad der Gruppe. Beispiel: CN=KI-Benutzer,OU=Gruppen,DC=firma,DC=local
Mitglieder Anzahl der zugewiesenen Benutzer. Wird beim Mitglieder-Sync aktualisiert.
Datenquellen Anzahl der zugeordneten Datenquellen. Zuordnung erfolgt im Datenquellen-Tab (nicht hier).

Details-Panel

Bei Klick auf eine Zeile öffnet sich ein Detail-Panel mit dem vollständigen DN, Import-/Aktualisierungszeitpunkten und einer Mitgliederliste. Diese zeigt für jedes Mitglied: Name, E-Mail und Quelle (LDAP/Lokal). Inaktive Benutzer sind ausgegraut und mit (inaktiv) markiert.

Gruppen importieren

FeldTypBeschreibungEmpfehlung
Base DN (optional) Text Einschränkung des Suchpfads für den Gruppen-Import. Standard: der in der LDAP-Konfiguration hinterlegte Search Base. Nur setzen, wenn nur Gruppen aus einem bestimmten OU importiert werden sollen.
Beispiel: OU=KI-Gruppen,DC=firma,DC=local

Nach Klick auf »Gruppen laden« werden alle im AD gefundenen Gruppen als Checkbox-Liste angezeigt. Bereits importierte Gruppen sind deaktiviert (ausgegraut). Über »Alle auswählen« können alle neuen Gruppen auf einmal markiert werden.

Mitglieder synchronisieren

Der Button »Mitglieder synchronisieren« gleicht die Mitgliedschaften aller importierten Gruppen mit dem Active Directory ab. Das bedeutet:

  • Neue Mitglieder werden der Gruppe zugeordnet
  • Entfernte Mitglieder werden aus der Zuordnung gelöscht
  • Der Mitglieder-Zähler wird aktualisiert
Tipp: Gruppen müssen zuerst importiert werden, bevor Mitglieder synchronisiert werden können. Die empfohlene Reihenfolge bei der Ersteinrichtung:
  1. LDAP-Verbindung konfigurieren (Tab: LDAP)
  2. AD-Gruppe auswählen und Benutzer-Sync durchführen (Tab: LDAP)
  3. Gruppen importieren (Tab: Gruppen)
  4. Mitglieder synchronisieren (Tab: Gruppen)
  5. Datenquellen den Gruppen zuordnen (Tab: Datenquellen)

Tab: LDAP-Konfiguration

Hier wird die Verbindung zum Active Directory / LDAP-Server konfiguriert. Eine funktionierende LDAP-Anbindung ist Voraussetzung für den automatischen Benutzer-Import und die Gruppen-Synchronisation.

Server-Verbindung

FeldTypStandardBeschreibungEmpfehlung
Server Text IP-Adresse oder Hostname des LDAP-/AD-Servers.
Beispiele: 192.168.1.10, dc.firma.local, ad01.example.com
Hostname bevorzugen — IP-Adressen können sich ändern, Hostnamen bleiben stabil. Bei Kerberos/SSL ist ein korrekter Hostname zwingend (muss zum Zertifikats-CN passen).
Port Zahl 389 LDAP-Port. Standard-Ports:
389 — LDAP (unverschlüsselt oder STARTTLS)
636 — LDAPS (SSL/TLS)
636 mit SSL empfohlen — Passwörter werden sonst im Klartext über das Netzwerk gesendet. In reinen Intranet-Umgebungen kann 389 akzeptabel sein.
SSL Checkbox Aus Aktiviert SSL/TLS-Verschlüsselung (LDAPS).
Automatik: Port wird bei Aktivierung auf 636, bei Deaktivierung auf 389 gesetzt.
Immer aktivieren, außer der AD-Server unterstützt kein SSL (z.B. in Testumgebungen). Für Produktionsumgebungen ist SSL Pflicht.
Bind DN Text Distinguished Name des Service-Accounts für die LDAP-Suche. Dieser Account braucht nur Lese-Rechte. Einen dedizierten Service-Account verwenden — niemals einen persönlichen Admin-Account.
Siehe LDAP-Pfade für Formatbeispiele.
Bind Passwort Passwort Passwort des Service-Accounts. Wird AES-verschlüsselt in der Datenbank gespeichert.
Anzeige: ******** wenn bereits konfiguriert.
Leer lassen = bestehendes Passwort beibehalten. Nur ausfüllen, wenn das Passwort geändert werden soll.
Suchpfad (Search Base) Text Basis-DN für die Benutzer- und Gruppensuche. Die Suche findet rekursiv in allen Unter-OUs statt. So spezifisch wie möglich — der gesamte Baum ab diesem Punkt wird durchsucht. Ein zu breiter Suchpfad (z.B. DC=firma,DC=local) kann bei großen ADs langsam sein und Service-Accounts oder System-Objekte zurückliefern.
Siehe LDAP-Pfade für Beispiele.

Testen und Speichern

Der Button »Testen und Speichern« führt vor dem Speichern einen Verbindungstest durch. Nur bei erfolgreichem Test wird die Konfiguration gespeichert. Der Test prüft:

  • TCP-Erreichbarkeit des Servers (Host + Port)
  • Bind-Authentifizierung mit den angegebenen Credentials
  • Gültigkeit des Search Base (Suchpfad existiert im AD)

Konfiguration löschen

Der Button »Löschen« entfernt die LDAP-Konfiguration vollständig und deaktiviert alle LDAP-Benutzer. Das bedeutet: Alle Benutzer mit auth_source=ldap werden auf is_active=0 gesetzt und sofort ausgeloggt. Lokale Benutzer sind nicht betroffen.

Achtung: Nach dem Löschen der LDAP-Konfiguration können sich LDAP-Benutzer nicht mehr anmelden, bis die Konfiguration neu eingerichtet und ein Sync durchgeführt wird. Sicherstellen, dass mindestens ein lokaler Admin-Account existiert!

AD-Gruppe und Synchronisation

Die AD-Gruppe bestimmt, welche Active-Directory-Benutzer als KIara-Benutzer importiert werden. Nur Mitglieder der ausgewählten Gruppe werden beim Sync angelegt/aktualisiert.

Gruppe auswählen

  1. Klick auf »Gruppen laden« — zeigt alle im AD gefundenen Gruppen
  2. Klick auf + neben der gewünschten Gruppe
  3. Der erste Benutzer-Sync wird automatisch gestartet

Synchronisation

Der Button »Jetzt synchronisieren« startet einen manuellen LDAP-Sync. Dabei passiert folgendes:

  • Neue AD-Benutzer: Werden als KIara-Benutzer angelegt (auth_source=ldap, is_active=1, is_admin=0)
  • Bestehende Benutzer: Vorname, Nachname und E-Mail werden aus dem AD aktualisiert
  • Entfernte Benutzer: Benutzer, die nicht mehr Mitglied der Gruppe sind, werden deaktiviert (nicht gelöscht)

Der Zeitpunkt des letzten Syncs wird als »Letzter Sync« angezeigt.

Tipp: Der Sync aktualisiert nur Stammdaten (Name, E-Mail) und den Aktiv-Status. Admin-Rechte werden niemals automatisch vergeben oder entzogen — das verhindert Privilege Escalation durch AD-Gruppenänderungen.

Gruppenauswahl aufheben

Der Button »Aufheben« löst die Bindung zur AD-Gruppe. Bestehende LDAP-Benutzer bleiben erhalten, es findet aber kein Sync mehr statt. Nützlich, wenn auf eine andere Gruppe gewechselt werden soll.

LDAP-Pfade — Beispiele

LDAP Distinguished Names (DNs) folgen einer hierarchischen Struktur von links (spezifisch) nach rechts (allgemein). Die wichtigsten Bausteine:

KürzelBedeutungBeispiel
DCDomain ComponentDC=firma,DC=local (entspricht firma.local)
OUOrganizational UnitOU=Benutzer, OU=IT-Abteilung
CNCommon NameCN=Max Mustermann, CN=ldapreader

Bind DN — Beispiele

# Service-Account in der Standard-OU "Users"
CN=ldapreader,CN=Users,DC=firma,DC=local

# Service-Account in einer eigenen Service-OU
CN=svc-kiara-reader,OU=ServiceAccounts,DC=firma,DC=local

# Service-Account in einer verschachtelten OU
CN=kiara-ldap,OU=Applikationen,OU=ServiceAccounts,DC=example,DC=com

# UPN-Format (Alternative, unterstützt von vielen AD-Servern)
svc-kiara-reader@firma.local
Tipp: Im Active Directory den benötigten DN eines Accounts herausfinden:
dsquery user -name "ldapreader" (auf einem Domain Controller)
oder in der AD-Verwaltungskonsole: Rechtsklick → Eigenschaften → Attribut-Editor → distinguishedName.

Search Base — Beispiele

# Gesamte Domain durchsuchen (funktioniert, aber unspezifisch)
DC=firma,DC=local

# Nur die OU "Mitarbeiter" (empfohlen — spezifisch)
OU=Mitarbeiter,DC=firma,DC=local

# Verschachtelte OU — z.B. nur IT-Abteilung
OU=IT,OU=Abteilungen,DC=firma,DC=local

# Mehrere Standorte — gemeinsamer Eltern-Knoten
OU=Standorte,DC=firma,DC=local
Tipp: Wenn Benutzer über mehrere OUs verteilt sind (z.B. OU=Berlin und OU=München unter OU=Standorte), den gemeinsamen Eltern-Knoten (OU=Standorte,DC=firma,DC=local) als Search Base verwenden. Die Suche ist rekursiv und findet Benutzer in allen Unter-OUs.

Gruppen-DN — Beispiele

# Sicherheitsgruppe in Standard-Gruppen-OU
CN=KIara-Benutzer,OU=Gruppen,DC=firma,DC=local

# Verschachtelte Gruppe in IT-spezifischer OU
CN=KI-Zugang,OU=Applikationsgruppen,OU=IT,DC=firma,DC=local

# Gruppe im Standard-Container "Users"
CN=KIara-Users,CN=Users,DC=firma,DC=local
Tipp — typische AD-Struktur für KIara:
DC=firma,DC=local
  ├── OU=ServiceAccounts
  │     └── CN=svc-kiara-reader        ← Bind DN
  ├── OU=Mitarbeiter                    ← Search Base
  │     ├── OU=Berlin
  │     │     ├── CN=Max Mustermann
  │     │     └── CN=Erika Musterfrau
  │     └── OU=München
  │           └── CN=Hans Beispiel
  └── OU=Gruppen
        ├── CN=KIara-Benutzer           ← AD-Gruppe (Benutzer-Sync)
        ├── CN=KIara-Vertrieb           ← Import-Gruppe (Datenquellen-Zuordnung)
        └── CN=KIara-Technik            ← Import-Gruppe (Datenquellen-Zuordnung)

Troubleshooting

ProblemMögliche UrsacheLösung
Verbindungstest schlägt fehl Firewall blockiert Port 389/636, Server nicht erreichbar telnet <server> 389 vom KIara-Server testen. Bei SSL: openssl s_client -connect <server>:636
Bind fehlgeschlagen Falscher DN oder Passwort, Account gesperrt DN genau prüfen (Leerzeichen, Groß-/Kleinschreibung der OUs). Account im AD auf Sperrung prüfen.
Keine Benutzer nach Sync Search Base zu spezifisch oder falsche Gruppe ausgewählt Search Base erweitern (z.B. auf Domain-Ebene) und prüfen, ob die gewählte Gruppe tatsächlich Mitglieder hat.
SSL-Zertifikatsfehler Selbstsigniertes Zertifikat, CN stimmt nicht mit Hostname überein CA-Zertifikat auf dem KIara-Server installieren:
cp firma-ca.crt /usr/local/share/ca-certificates/ && update-ca-certificates
LDAP-Benutzer können sich nicht anmelden Benutzer ist is_active=0 oder LDAP-Config wurde gelöscht Im Benutzer-Tab prüfen, ob der Benutzer als aktiv markiert ist.

API-Endpunkte

Die vollständige API-Referenz für Benutzer, Gruppen und LDAP wird dynamisch aus der Admin-Registry generiert und ist im API-Katalog verfügbar:

  • Benutzer-API — Benutzer auflisten, erstellen, aktualisieren, löschen, Passwort-Reset
  • Gruppen-API — Gruppen auflisten, importieren, synchronisieren, löschen
  • LDAP-API — Konfiguration, Gruppen-Auswahl, Sync

Sicherheit & Sessions

MechanismusDetails
Passwort-Speicherung Lokale Passwörter: bcrypt-Hash. LDAP-Bind-Passwort: AES-256 verschlüsselt in der DB.
Session-Invalidierung Sofort bei: Benutzer deaktivieren, Benutzer löschen, Passwort-Reset, LDAP-Config löschen.
Selbstschutz Der aktuelle Admin kann sich weder selbst löschen noch deaktivieren.
Admin-Rechte Werden niemals automatisch durch LDAP-Sync vergeben oder entzogen.
LDAP-Credentials Bind-Passwort wird maskiert angezeigt (********). Leere Eingabe = bestehendes Passwort beibehalten.