Benutzerverwaltung
Übersicht
Dieses Dokument beschreibt die Verwaltung von Benutzerkonten, Sicherheitsgruppen und Berechtigungen in der PlantPulse-Plattform.
Die Benutzerverwaltung wird über das linke Menü System > Benutzer (/user/index) durchgeführt.
Benutzerstruktur
Die Benutzerverwaltung in PlantPulse besteht aus drei Kernelementen.
- Benutzer: Einzelnes Anmeldekonto für die Plattform.
- Sicherheitsgruppe: Gruppe, die die Rolle eines Benutzers definiert. Jeder Benutzer gehört zu einer Sicherheitsgruppe.
- Berechtigung: Funktionsspezifische Zugriffsberechtigung einer Sicherheitsgruppe. Steuert den Zugriff auf Menüs, Bildschirme und APIs.
Drei Rollen
Das Produkt bietet nur drei Rollen.
| Rolle | Bildschirmanzeige | Zweck |
|---|---|---|
ADMIN | Systemadministrator | Alle Funktionen. Kann Passwörter anderer ändern und Benutzer verwalten |
API | API-Entwickler | Integrationskonto für externe Systeme |
USER | Allgemeiner Benutzer | Grundlegende Funktionen |
Diese Namen standen in älteren Dokumenten, existieren aber nicht im Produkt. Sie erscheinen auch nicht in der Benutzerregistrierungsseite bei der Rollenauswahl. Das Gleiche gilt für MANAGER.
Prinzip der geringsten Berechtigung: Benutzerkonten sollten mit
USERbeginnen, und nur bei Bedarf sollteADMINvergeben werden.
Benutzerattribute
| Attribut | Erforderlich | Beschreibung |
|---|---|---|
| Benutzer-ID | O | Eindeutige Kennung für die Anmeldung (Buchstaben, Zahlen, 4–20 Zeichen) |
| Benutzername | O | Name, der auf dem Bildschirm angezeigt wird |
| Passwort | O | Anmeldepasswort (12–50 Zeichen, siehe Passwortrichtlinie unten) |
| - | E-Mail-Adresse für Benachrichtigungen | |
| Rolle | O | Eine von ADMIN / API / USER |
| Status | O | Aktiv oder Inaktiv |
| Beschreibung | - | Notiz zum Benutzer |
| Erstellungsdatum | Automatisch | Zeitpunkt der Kontoerstellung |
| Letzte Anmeldung | Automatisch | Zeitpunkt der letzten Anmeldung |
Benutzerliste anzeigen
Wählen Sie im linken Menü System > Benutzer, um die Liste der registrierten Benutzer anzuzeigen.
- URL:
/user/index - Sie können Benutzer-ID, Name, Sicherheitsgruppe, Status und letzte Anmeldezeit anzeigen.
- Nutzen Sie Suchfilter, um schnell einen bestimmten Benutzer zu finden.
Hinweis: Die Benutzerliste können nur Benutzer der Sicherheitsgruppe ADMIN anzeigen.
Benutzer hinzufügen
- Klicken Sie auf der Benutzerlisten-Seite auf die Schaltfläche Hinzufügen.
- Füllen Sie die erforderlichen Felder aus.
- Benutzer-ID: Eindeutige ID aus Buchstaben und Zahlen (4–20 Zeichen)
- Benutzername: Name, der auf dem Bildschirm angezeigt wird
- Passwort: 12–50 Zeichen, mit mindestens 3 von 4 Zeichentypen: Großbuchstaben, Kleinbuchstaben, Zahlen, Sonderzeichen. Andernfalls wird das Speichern abgelehnt.
- Rolle: Wählen Sie eine von
ADMIN/API/USER.
- Füllen Sie optionale Felder (E-Mail, Beschreibung usw.) bei Bedarf aus.
- Klicken Sie auf die Schaltfläche Speichern.
Hinweis: Die Benutzer-ID kann nach der Erstellung nicht mehr geändert werden. Legen Sie sie mit Bedacht fest.
Benutzer bearbeiten
- Klicken Sie in der Benutzerliste auf den Benutzer, den Sie bearbeiten möchten.
- Ändern Sie die bearbeitbaren Felder (Name, E-Mail, Sicherheitsgruppe, Status, Beschreibung usw.).
- Klicken Sie auf die Schaltfläche Speichern.
Hinweis: Die Benutzer-ID kann nicht bearbeitet werden. Um die ID zu ändern, löschen Sie den vorhandenen Benutzer und erstellen einen neuen.
Benutzer löschen
- Wählen Sie in der Benutzerliste den Benutzer aus, den Sie löschen möchten.
- Klicken Sie auf die Schaltfläche Löschen.
- Bestätigen Sie im Bestätigungsdialog mit OK.
Warnung: Gelöschte Benutzer können nicht wiederhergestellt werden. Es wird empfohlen, statt Löschen die Deaktivierung zu verwenden, um einen Benutzer vorübergehend zu sperren.
Benutzer deaktivieren
Verwenden Sie die Deaktivierungsfunktion, um die Anmeldung eines Benutzerkontos zu blockieren, ohne es zu löschen.
- Ändern Sie auf der Benutzerbearbeitungsseite den Status auf
Inactive. - Klicken Sie auf die Schaltfläche Speichern.
Ein deaktivierter Benutzer kann sich nicht anmelden, aber Daten (Audit-Logs, Konfigurationsverlauf usw.) bleiben erhalten. Um den Benutzer zu reaktivieren, ändern Sie den Status auf Active.
Passwortverwaltung
Passwörter werden an nur einer Stelle geändert: im linken Menü System > Benutzer (Benutzerliste).
Passwort ändern (Ersetzen des Standardpassworts)
Dies ist die Methode, um das Standardpasswort unmittelbar nach der Installation zu ändern.
- Öffnen Sie das linke Menü System > Benutzer.
- Klicken Sie auf das 🔑 Schlüsselsymbol in der Zeile des Zielbenutzers (Tooltip: "Passwort ändern").
- Geben Sie das neue Passwort ein. Bei Ihrem eigenen Konto müssen Sie auch das aktuelle Passwort eingeben.
- Speichern Sie.
Wer wessen Passwort ändern darf, ist festgelegt.
| Ziel | Erforderliche Berechtigung | Aktuelles Passwort prüfen |
|---|---|---|
| Sich selbst | Keine (nur Anmeldung erforderlich) | Erforderlich — wird abgelehnt, wenn falsch |
| Anderer Benutzer | ADMIN | Nicht erforderlich |
Wenn ein Benutzer ohne
ADMINversucht, das Passwort eines anderen zu ändern, wird es abgelehnt und eine Audit-Notiz wird im Serverlog erfasst. Erfolgreiche Änderungen werden auch alsPassword changed: session_user=[...], target_user=[...]protokolliert.
Das Gleiche können Sie auch über die REST API tun.
POST /api/v5/user/{user_id}/password
Content-Type: application/json
{ "current_password": "<current-password>", "password": "<new-password>" }
Verlorenes Passwort beheben
- Kontaktieren Sie den Administrator: Ein Benutzer mit
ADMINsetzt es mit obigem Verfahren zurück. - DB direkt zurücksetzen (Notfall): Verwenden Sie dies nur, wenn sogar das
ADMINKonto gesperrt ist.
Passwörter werden als BCrypt-Hash gespeichert. Die in älteren Dokumenten erwähnte
encode(digest(..., 'sha256'), 'hex') Methode wird nicht unterstützt. Das Einsetzen des Wertes auf diese Weise führt dazu, dass die BCrypt-Verifizierung bei der Anmeldung den Hash nicht interpretiert und keine Anmeldung mit irgendeinem Passwort mehr möglich ist. Da dieser Prozess bereits in einer gesperrten Situation verwendet wird, bleibt die Wiederherstellung unmöglich.
Der Tabellenname ist auch nicht pp_user, sondern USER_LOGIN.
Erstellen Sie zuerst einen BCrypt-Hash und setzen Sie diesen Wert ein.
# BCrypt 해시 생성 (htpasswd — apache2-utils / httpd-tools 패키지)
htpasswd -bnBC 10 "" '<new-password>' | tr -d ':\n'
# → $2y$10$... 형태의 문자열이 나옵니다
-- 비상 시에만. 위에서 만든 BCrypt 해시를 그대로 넣습니다.
UPDATE USER_LOGIN
SET PASSWORD = '<$2y$10$... paste-here>'
WHERE USER_ID = 'admin';
Testen Sie die Anmeldung unmittelbar nach dem Einfügen und ändern Sie das Passwort über den normalen Weg ein weiteres Mal, wenn es erfolgreich ist. Für Infrastruktur-Servicekonten (PostgreSQL, Cassandra, MinIO usw.) folgen Sie nicht diesem Dokument, sondern Passwort ändern (Credential Rotation) — das Ignorieren der Reihenfolge verhindert den Start der Plattform.
Passwortrichtlinie
Das Produkt erzwingt: Verstoß gegen die folgenden Regeln lehnt Speichern ab.
| Punkt | Wert |
|---|---|
| Länge | Mindestens 12 Zeichen, höchstens 50 Zeichen |
| Komplexität | Mindestens 3 von 4 Zeichentypen: Großbuchstaben, Kleinbuchstaben, Zahlen, Sonderzeichen |
Das Produkt erzwingt nicht: Diese Punkte müssen durch Betriebsrichtlinien verwaltet werden. Da die Plattform keine Funktionen für diese Punkte bietet, müssen Sie sie organisatorisch implementieren.
| Punkt | Status |
|---|---|
| Änderungszyklus erzwingen · Ablauf | Nicht vorhanden |
| Wiederverwendung früherer Passwörter verbieten | Nicht vorhanden |
| Wörterbuchblockierung | Nicht vorhanden |
| Konto dauerhaft sperren | Nicht vorhanden — stattdessen gibt es vorübergehende Blockierung (s. u.) |
Brute-Force-Schutz (vorübergehende Blockierung)
Wenn die Anmeldeversuche fehlschlagen, wird das Konto nicht gesperrt, sondern Anfragen werden für eine bestimmte Zeit blockiert
(HTTP 429 + Retry-After). Nach einer Weile wird die Blockierung automatisch aufgehoben, sodass der Administrator nichts freigeben muss.
| Einstellung | Eigenschaft | Standardwert |
|---|---|---|
| Funktion aktivieren | engine.session.bruteforce.enabled | Aktiviert |
| Fehler pro IP | engine.session.bruteforce.ip_limit | 30 |
| Fehler pro Konto | engine.session.bruteforce.user_limit | 10 |
| Aggregationszeitraum | engine.session.bruteforce.window.seconds | 300 Sekunden (5 Minuten) |
Die Blockierung wird separat nach IP und nach Konto gezählt. Wenn mehrere Personen dieselbe öffentliche IP verwenden (z. B. in einem Büro), können Fehler einer anderen Person das IP-Limit (30) für alle füllen. Blockierungen und Fehler werden beide in den Audit-Logs (
LOGIN_BLOCKED/LOGIN_FAILURE) erfasst.
Sicherheitsgrupenverwaltung
Standard-Sicherheitsgruppen
PlantPulse bietet drei Standard-Sicherheitsgruppen.
| Sicherheitsgruppe | Beschreibung | Wichtigste Berechtigungen |
|---|---|---|
| ADMIN | Systemadministrator | Zugriff auf alle Funktionen (Benutzerverwaltung, Systemeinstellungen, alle Menüs) |
| OPERATOR | Operatoren | Zugriff auf betriebliche Funktionen (Überwachung, Alarmverwaltung, Datenanzeige) |
| USER | Allgemeiner Benutzer | Zugriff auf grundlegende Funktionen (Dashboard-Anzeige, Datenanzeige) |
Sicherheitsgruppe hinzufügen
Sie können Sicherheitsgruppen nach den Rollen Ihrer Organisation hinzufügen.
- Wählen Sie das Menü Sicherheitsverwaltung > Sicherheitsgruppen.
- Klicken Sie auf die Schaltfläche Hinzufügen.
- Geben Sie Gruppen-ID, Gruppennamen und Beschreibung ein.
- Klicken Sie auf die Schaltfläche Speichern.
Berechtigungen einstellen
Legen Sie Menü- und Funktionsberechtigung für die Sicherheitsgruppe fest.
- Wählen Sie im Menü Sicherheitsverwaltung > Sicherheitsgruppen eine Gruppe aus.
- Klicken Sie auf die Registerkarte Berechtigungen.
- Aktivieren Sie für jedes Menü/jede Funktion die Berechtigungen Lesen, Schreiben, Löschen.
- Klicken Sie auf die Schaltfläche Speichern.
Beispiel für Berechtigungseinstellung:
| Menü | ADMIN | OPERATOR | USER |
|---|---|---|---|
| Verbindungsverwaltung | Lesen/Schreiben/Löschen | Lesen/Schreiben | Lesen |
| Fabrikverwaltung | Lesen/Schreiben/Löschen | Lesen/Schreiben | Lesen |
| Alarmverwaltung | Lesen/Schreiben/Löschen | Lesen/Schreiben | Lesen |
| Benutzerverwaltung | Lesen/Schreiben/Löschen | - | - |
| Systemeinstellungen | Lesen/Schreiben/Löschen | Lesen | - |
| Canvas | Lesen/Schreiben/Löschen | Lesen/Schreiben | Lesen |
Zugriffskontrolle
Seitenzugriffskontrolle
In einer Multi-Site-Umgebung können Sie den Zugriff auf Seiten pro Benutzer einschränken.
- Wählen Sie auf der Benutzerbearbeitungsseite die Registerkarte Seitenzugriffsberechtigung.
- Aktivieren Sie die Seiten, auf die Sie Zugriff gewähren möchten.
- Klicken Sie auf die Schaltfläche Speichern.
Hinweis: Benutzer ohne Seitenzugriffsberechtigung können auf alle Seiten zugreifen.
Canvas-Freigabe
Canvas-Bildschirme können für bestimmte Benutzer oder Sicherheitsgruppen freigegeben werden.
- Klicken Sie auf der Canvas-Bearbeitungsseite auf Freigabeeinstellungen.
- Wählen Sie das Freigabeziel aus.
- Öffentlich: Alle Benutzer können zugreifen.
- Sicherheitsgruppe: Nur Benutzer der ausgewählten Sicherheitsgruppe können zugreifen.
- Benutzerdefiniert: Nur ausgewählte Benutzer können zugreifen.
- Klicken Sie auf die Schaltfläche Speichern.
Sitzungsverwaltung
Sitzungs-Timeout
Das Standard-Sitzungs-Timeout ist auf 30 Minuten eingestellt. Nach 30 Minuten Inaktivität werden Sie automatisch abgemeldet.
Um das Sitzungs-Timeout zu ändern, ändern Sie die Einstellung unter web.xml.
<!-- WEB-INF/web.xml inside the webapp (bundled in the WAR — reset on deploy, so change it in the source) -->
<session-config>
<session-timeout>30</session-timeout> <!-- in minutes -->
</session-config>
Gleichzeitige Anmeldung
Standardmäßig können Sie sich mit demselben Konto von mehreren Browsern/Geräten gleichzeitig anmelden. In sicherheitsempfindlichen Umgebungen wird empfohlen, Konten pro Benutzer auszugeben und Einschränkungen auf IP-Ebene hinzuzufügen.
Audit-Log
Die wichtigsten Aktivitäten von Benutzern werden automatisch im Audit-Log erfasst. Über das Audit-Log können Sie die Änderungsverlauf des Systems nachverfolgen.
Erfasste Aktivitäten:
| Aktivitätstyp | Beschreibung |
|---|---|
| Anmeldung/Abmeldung | Benutzer-Authentifizierungsereignis |
| Benutzerverwaltung | Benutzer erstellen, ändern, löschen, deaktivieren |
| Sicherheitsgruppenänderung | Gruppe erstellen, ändern, löschen, Berechtigungen ändern |
| Systemeinstellungsänderung | Einstellungsänderungen wie Eigenschaften, Verbindungsinformationen |
| Datenwertänderung | Änderung von Masterdaten wie Fabrik, Anlage, Punkt |
Das Audit-Log können Sie im Menü Tools > Audit-Log ansehen und nach Zeitraum, Benutzer und Aktivitätstyp filtern.
Benutzer-Massenregistrierung
Um mehrere Benutzer gleichzeitig zu registrieren, können Sie eine Excel-Datei für Batch-Registrierung verwenden.
Registrierungsablauf
- Klicken Sie im Menü Sicherheitsverwaltung > Benutzerverwaltung auf die Schaltfläche Excel hochladen.
- Laden Sie die Excel-Vorlagendatei herunter.
- Füllen Sie die Benutzerinformationen der Vorlage entsprechend aus.
| Spalte | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
| user_id | O | Benutzer-ID | operator01 |
| user_name | O | Benutzername | 홍길동 |
| password | O | Initialpasswort | Temp1234! |
| - | hong@example.com | ||
| security_group | O | Sicherheitsgruppen-ID | OPERATOR |
| description | - | Beschreibung | 생산1팀 |
- Laden Sie die ausgefüllte Excel-Datei hoch.
- Überprüfen Sie die Benutzerinformationen in der Vorschau.
- Klicken Sie auf die Schaltfläche Registrieren.
Hinweis: Bei dem Upload wird eine Validierung durchgeführt. Wenn es Fehler wie doppelte IDs oder fehlende erforderliche Felder gibt, werden diese Zeilen hervorgehoben. Sie können nach der Korrektur erneut hochladen.
Best Practices
- Prinzip der geringsten Berechtigung: Geben Sie Benutzern nur die für ihre Arbeit erforderlichen Minderechte.
- Admin-Konten minimieren: Halten Sie die Anzahl der Benutzer in der Gruppe ADMIN minimal und verwenden Sie stattdessen die Gruppe OPERATOR für alltägliche Operationen.
- Regelmäßige Überprüfung: Überprüfen Sie quartalweise Benutzerlisten und Berechtigungen, und deaktivieren Sie unnötige Konten.
- Austritt von Mitarbeitern: Deaktivieren oder löschen Sie Konten sofort beim Austritt.
- Gemeinsame Konten vermeiden: Verwenden Sie persönliche Konten für jeden Benutzer und vermeiden Sie freigegebene Konten.
- Passwortverwaltung: Weisen Sie Benutzer an, das Initialpasswort zu ändern, und ermutigen Sie regelmäßige Passwortänderungen.
- Log-Überwachung: Überwachen Sie abnormale Anmeldeversuche (wiederholte Fehler, Zugriff zu ungewöhnlichen Zeiten usw.).
Häufig auftretende Probleme
Anmeldefehlgeschlagen
| Symptom | Ursache | Lösung |
|---|---|---|
| "Benutzer-ID oder Passwort ist falsch" | Falsches Passwort eingegeben | Überprüfen Sie das Passwort und versuchen Sie es erneut. Prüfen Sie auch den Caps-Lock-Status. |
| "Konto ist deaktiviert" | Konto im Status Inaktiv | Kontaktieren Sie den Administrator, um das Konto zu aktivieren. |
| "Konto ist gesperrt" | Konto durch wiederholte Anmeldeversuche gesperrt | Kontaktieren Sie den Administrator, um die Sperrung aufzuheben. |
| Anmeldebildschirm wird nicht angezeigt | Webserver nicht ausgeführt oder Netzwerkproblem | Überprüfen Sie den Serverstatus und die Netzwerkverbindung. |
Unzureichende Berechtigung
| Symptom | Ursache | Lösung |
|---|---|---|
| Menü ist nicht sichtbar | Sicherheitsgruppe hat keinen Zugriff auf dieses Menü | Kontaktieren Sie den Administrator, um Zugriff anzufordern. |
| Meldung "Keine Zugriffsberechtigung" | Unzureichende API- oder Funktionsberechtigung | Überprüfen Sie die Berechtigungseinstellungen der Sicherheitsgruppe. |
| Daten der bestimmten Seite werden nicht angezeigt | Seitenzugriffsberechtigung nicht gesetzt | Überprüfen Sie die Seitenzugriffsberechtigung des Benutzers. |
Sitzung abgelaufen
| Symptom | Ursache | Lösung |
|---|---|---|
| Anmeldebildschirm während der Arbeit angezeigt | Sitzungs-Timeout (Standard 30 Minuten) | Melden Sie sich erneut an. Falls das Timeout zu kurz ist, passen Sie es unter web.xml an. |
| Von anderem Gerät abgemeldet | Erzwungene Beendigung durch Richtlinie für gleichzeitige Anmeldung (KICK) | Überprüfen Sie die Einstellungen für gleichzeitige Anmeldung. |
| Wiederholter Fehler im Zusammenhang mit Sitzung | Redis-Cache-Fehler | Überprüfen Sie den Redis-Dienststatus. |