Passwort · API-Key ändern
Die Dienstkonten des Data Lake (PostgreSQL · Aster TSDB · Valkey · RustFS · Kafka/MQTT …) und die API-Keys starten bei allen Installationen mit denselben Standardwerten. Diese müssen Sie bei der Inbetriebnahme unbedingt ändern und danach gemäß Richtlinie rotieren.
Das Werkzeug zum Ändern ist ein einziges bin/passwd.sh auf dem Host.
cd /opt/kopens/plantpulse-platform-docker
bin/passwd.sh --list # 바꿀 수 있는 키 + 계정명 + 현재값(마스킹) + 정본 위치
bin/passwd.sh PP_PG_PASSWORD # 값을 생략하면 프롬프트 — 권장 (히스토리 · ps 에 안 남는다)
bin/passwd.sh PP_PG_PASSWORD=<새비밀번호> # 인라인
bin/passwd.sh PP_CASSANDRA_PASSWORD PP_S3_PASSWORD # 여러 개를 한 번에 — 재시작 1회
bin/passwd.sh --dry-run PP_MQ_PASSWORD # 계획만 — 아무것도 바꾸지 않는다
Passwörter existieren an zwei Stellen separat – die Werte, die der Server akzeptiert (PostgreSQL-Konto, Aster TSDB-Rolle …) und die Werte, die der Client präsentiert (rund 20 Konfigurationsdateien). Beide werden nicht automatisch abgeglichen. Wenn Sie nur den Sidecar ändern, schlagen bei jedem Neustart alle Client-Authentifizierungen fehl; ändern Sie nur den Server, schlägt es sofort fehl.
passwd.sh führt ① Serverkonten-Änderung → ② Sidecar-Aktualisierung → ③ Konfigurations-Rerender → ④ Neustart in einem Befehl in der richtigen Reihenfolge aus.
Änderbare Schlüssel
Die Schlüssel sind exakt die Umgebungsvariablennamen. Es gibt keine Aliase wie postgres · mq – welcher Schlüssel zu welcher Komponente gehört, zeigt --list.
| Schlüssel | Komponente | Konto | Wo liegt die maßgebliche Quelle des Werts |
|---|---|---|---|
PP_PG_PASSWORD | PostgreSQL | plantpulse | Befehl – ALTER ROLE (psql) |
PP_TEMPORAL_PASSWORD | Backend-PostgreSQL-Konto von Temporal | temporal | Befehl – ALTER ROLE (psql) |
PP_HIVE_PASSWORD | PostgreSQL-Konto des Hive-Metastores + Kyuubi-Inbound-Authentifizierung | hive | Befehl – ALTER ROLE (psql) + Rerender |
PP_CASSANDRA_PASSWORD | Aster TSDB | cassandra | Befehl – ALTER ROLE (cqlsh) |
PP_REDIS_PASSWORD | Valkey | – | Datei – plantpulse-storage/cache/valkey/conf/valkey.conf |
PP_S3_PASSWORD | RustFS | rustfs | Start-env – RUSTFS_SECRET_KEY |
PP_MQ_PASSWORD | Kafka + HiveMQ – teilen einen Wert | mq | Datei – kafka/config/jaas.conf + mqtt/conf/auth.properties |
PP_CEP_API_KEY | CEP-API-Key (X-API-Key) | – | Datei – plantpulse-cep/config/plantpulse-cep.properties |
PP_DATA_GATEWAY_API_KEY | Daten-Gateway-API-Key | – | Datei – plantpulse-data-gateway/config/plantpulse-jdbc.properties |
PP_DATALAKE_ADMIN_PASSWORD | Admin-Konsolen-Login | admin | Start-env – admin-api liest aus seiner eigenen Umgebungsvariable |
PP_DATALAKE_ADMIN_API_KEY | Log-Endpunkt der Admin-Konsole X-API-Key | – | Start-env |
Die Bedeutung der drei Kategorien:
- Befehl – Das Serverkonto ist die maßgebliche Quelle. Änderung per SQL/CQL; die Konfigurationsdatei ist nur eine Zugriffskopie.
- Datei – Die gerenderte Datei selbst ist die maßgebliche Quelle. Sie ändert sich nur durch Rerender + Neustart.
- Start-env – Wird beim Prozessstart injiziert. Es gibt keine Laufzeit-Änderungs-API; Neustart ist das einzige Mittel zur Umsetzung.
Kontonamen (PP_*_USER) werden nicht geändert. Sie werden nur in --list angezeigt. Eine Namensänderung des Kontos ist eine separate Aufgabe, die Server-Rollen-Erstellung und Rechteübertragung erfordert.
--list die beiden Admin-Konsolen-Keys nicht sichtbar sindPP_DATALAKE_ADMIN_PASSWORD · PP_DATALAKE_ADMIN_API_KEY wurden am 2026-09-05 hinzugefügt. Bei Installationspaketen davor gibt es nur 9 Keys. In diesem Fall hat das Konsolenpasswort kein Serverkonto – Sie können den Sidecar direkt bearbeiten und neu starten → Web-Anmeldekonto
Ablauf – Erstes Mal
Bei der Inbetriebnahme rotieren Sie alle registrierten Schlüssel zu Zufallswerten. --all ist keine Option von passwd.sh, sondern der Rotations-Engine rotate-secret.sh.
cd /opt/kopens/plantpulse-platform-docker
bin/rotate-secret.sh --dry-run --all --generate # 어떤 키가 걸리는지 확인 — 아무것도 안 바꾼다
bin/rotate-secret.sh --all --generate # 실행. 키마다 20자 무작위 값
bin/passwd.sh --list --show # 결과 확인 — 값이 그대로 찍히니 화면 공유 중에는 치지 마세요
- Führen Sie dies unbedingt im Inspektionsfenster durch. Während der Rotation gibt es einen Neustart; der Kafka/MQTT-Pfad ist in dieser Zeit unterbrochen.
- Sichern Sie vor der Arbeit eine Sicherung.
- Die geänderten Werte liegen nur im Sidecar
/etc/kopens/plantpulse-platform.env. Im Übergabedokument notieren Sie nicht die Werte, sondern «wer sie verwahrt».
Ablauf – Einzeln im Betrieb
cd /opt/kopens/plantpulse-platform-docker
bin/passwd.sh --dry-run PP_PG_PASSWORD # 계획 확인
bin/passwd.sh PP_PG_PASSWORD # 프롬프트에 새 값 입력
Nach Abschluss überprüfen.
bin/status.sh # 0 = 정상
docker exec plantpulse-datalake pd node psql -c "SELECT 1;" # 새 비밀번호로 실제 접속되나
docker exec plantpulse-datalake pd node cql -e "SELECT now() FROM system.local;"
curl -kfsS https://<server-ip>:4950/api/health | jq .status # OK 또는 WARN
Bei Fehler – denselben Befehl erneut ausführen
Die Rotation wird nicht zurückgerollt. Im Fehlerfall ist unklar, welcher Wert gültig ist; ein Zurückdrehen verstärkt die Störung. Stattdessen Vorwärtswiederherstellung.
Auf dem Host sind im /etc/kopens/rotation.journal(0600) neue und alte Werte vorab protokolliert. Führen Sie denselben Befehl einfach erneut aus – er prüft (probe), welchen Wert jede Komponente aktuell akzeptiert, und setzt fort. Bereits Geändertes wird übersprungen.
| Meldung | Bedeutung | Maßnahme |
|---|---|---|
probe=NEITHER | Weder mit altem noch mit neuem Wert verbindbar | Der Automatik fehlt die Entscheidungsgrundlage. Ein Mensch muss direkt auf die Komponente zugreifen und den Zustand prüfen |
apply Fehler | Server-Änderung fehlgeschlagen, sofortiger Abbruch | Ursache beheben und denselben Befehl erneut ausführen |
verify Fehler | Server geändert, aber mit neuem Wert nicht verbindbar | Gefährlichster Fall. Das Journal bleibt mit APPLIED erhalten – ein Mensch muss prüfen |
configure Fehler | Abbruch ohne Neustart | Gewolltes Verhalten (startet mit alter Konfiguration, schlagen alle Authentifizierungen fehl). Ursache beheben und erneut ausführen |
variable not in the registry | Nicht registrierter Schlüssel | Siehe Nicht rotierte Werte |
Wenn Cluster-Worker konfiguriert sind, lehnt das Rotationstool ab und stoppt. Jeder Worker hat einen eigenen Sidecar; rotiert nur der Master, bleiben die Worker auf dem alten Wert und das Cluster wird halbseitig. Für Umgebungen mit Workern gilt das manuelle Verfahren; wiederholen Sie Sidecar-Aktualisierung und Neustart pro Worker.
PP_MQ_PASSWORD – Kafka und HiveMQ ändern sich gemeinsam
Ein Wert dient als serverseitige Credential-Ablage beider Broker und als Zugriffspasswort aller Clients. Er kann nicht separat geändert werden; die Validierung des Rotationstools gilt nur als erfolgreich, wenn beide mit dem neuen Wert verbunden sind.
Statisches JAAS kann nicht gleichzeitig alte und neue Werte akzeptieren; daher wird während des sequenziellen Neustarts von Broker und Consumer der MQ-Pfad unterbrochen. Unterbrechungsfreie Rotation ist nicht im Supportumfang.
PP_HIVE_PASSWORD – Ein Wert wird bidirektional verwendet
Der Wert wird verwendet, wenn der Hive-Metastore auf PostgreSQL zugreift, und gleichzeitig zur Validierung, wenn Clients auf Kyuubi zugreifen. Daher führt das Rotationstool sowohl die PostgreSQL-Kontoänderung als auch das Konfigurations-Rerender durch. Bei manueller Änderung nur eines Teils stirbt entweder der Metastore oder Kyuubi.
Nicht rotierte Werte – manuell
Wenn Sie einen nicht registrierten Schlüssel angeben, wird er nicht stillschweigend ausgelassen, sondern abgelehnt. Folgende sind noch nicht registriert und werden gemäß manuelles Verfahren geändert.
| Variable | Was | Kernpunkt der manuellen Änderung |
|---|---|---|
PP_SPARK_PASSWORD | Spark/Kyuubi-Client-Konto | Kein Serverkonto. hive-auth.properties erstellt das Konto mit diesem Wert – Sidecar-Aktualisierung + Neustart |
PP_TSE_PASSWORD | Zeitreihen-Engine-Konto | Sidecar-Aktualisierung + Neustart |
PP_GRAVITINO_PASSWORD · PP_KESTRA_DB_PASSWORD | Jeweilige Backend-PostgreSQL-Konten | Der Data Lake setzt bei jedem Start die PostgreSQL-Rollenpasswörter auf die Sidecar-Werte – Sidecar-Aktualisierung + Neustart |
PP_KESTRA_ADMIN_PASSWORD | Kestra-Administrator | Web-Anmeldekonto |
PP_TLS_KEYSTORE_PASSWORD (+ abgeleiteter Truststore-Satz) | Zertifikate insgesamt | Mit Zertifikatserneuerung verknüpft → Sicherheitseinstellungen |
PP_OPCUA_PASSWORD | OPC-UA-Server (App-Container) | Außerhalb des Data Lake |
PP_API_KEY · PP_FLOW_WEBHOOK_API_KEY | Für externe Aufrufer (App-Container) | Außerhalb des Data Lake |
PP_DATA_GATEWAY_WEB_PASSWORD · PP_CEP_WEB_PASSWORD | Browser-Login der Query-Konsole | Entscheidung, dass dies nicht rotiert wird (2026-09-07). Sidecar-Aktualisierung + Neustart → Web-Anmeldekonto |
Nicht tun
- Führen Sie
pd secret rotatenicht direkt im Container aus. Rotationsjournal und Sidecar müssen sich auf dem Host befinden, um Container-Neuerstellungen zu überstehen. Derpasswd.shdes Hosts ruft dies auf. - Erwarten Sie nicht, dass die Standardwerte der Passwörter in
bin/env.shwirksam werden. Der Sidecar gewinnt. - Fügen Sie
--list --show-Ausgaben nicht in Tickets oder Chats ein. - Brechen Sie während der Rotation nicht mit
Ctrl+Cab und starten Sie mit einem anderen Wert neu. Das Journal merkt sich den ersten Wert. Führen Sie mit demselben Wert zu Ende und ändern Sie dann erneut.
Verwandte Dokumente
- Web-Anmeldekonto
- Passwortänderung (Credential-Rotation) – manuelles Verfahren – Werte, die das Tool nicht abdeckt
- Änderung der Anfangspasswörter – vollständige Inbetriebnahme-Checkliste