Zum Hauptinhalt springen

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 # 계획만 — 아무것도 바꾸지 않는다
Öffnen Sie die Datei nicht, um Passwortzeilen zu korrigieren

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üsselKomponenteKontoWo liegt die maßgebliche Quelle des Werts
PP_PG_PASSWORDPostgreSQLplantpulseBefehl – ALTER ROLE (psql)
PP_TEMPORAL_PASSWORDBackend-PostgreSQL-Konto von TemporaltemporalBefehl – ALTER ROLE (psql)
PP_HIVE_PASSWORDPostgreSQL-Konto des Hive-Metastores + Kyuubi-Inbound-AuthentifizierunghiveBefehl – ALTER ROLE (psql) + Rerender
PP_CASSANDRA_PASSWORDAster TSDBcassandraBefehl – ALTER ROLE (cqlsh)
PP_REDIS_PASSWORDValkey–Datei – plantpulse-storage/cache/valkey/conf/valkey.conf
PP_S3_PASSWORDRustFSrustfsStart-env – RUSTFS_SECRET_KEY
PP_MQ_PASSWORDKafka + HiveMQ – teilen einen WertmqDatei – kafka/config/jaas.conf + mqtt/conf/auth.properties
PP_CEP_API_KEYCEP-API-Key (X-API-Key)–Datei – plantpulse-cep/config/plantpulse-cep.properties
PP_DATA_GATEWAY_API_KEYDaten-Gateway-API-Key–Datei – plantpulse-data-gateway/config/plantpulse-jdbc.properties
PP_DATALAKE_ADMIN_PASSWORDAdmin-Konsolen-LoginadminStart-env – admin-api liest aus seiner eigenen Umgebungsvariable
PP_DATALAKE_ADMIN_API_KEYLog-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.

Wenn in --list die beiden Admin-Konsolen-Keys nicht sichtbar sind

PP_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.

MeldungBedeutungMaßnahme
probe=NEITHERWeder mit altem noch mit neuem Wert verbindbarDer Automatik fehlt die Entscheidungsgrundlage. Ein Mensch muss direkt auf die Komponente zugreifen und den Zustand prüfen
apply FehlerServer-Änderung fehlgeschlagen, sofortiger AbbruchUrsache beheben und denselben Befehl erneut ausführen
verify FehlerServer geändert, aber mit neuem Wert nicht verbindbarGefährlichster Fall. Das Journal bleibt mit APPLIED erhalten – ein Mensch muss prüfen
configure FehlerAbbruch ohne NeustartGewolltes Verhalten (startet mit alter Konfiguration, schlagen alle Authentifizierungen fehl). Ursache beheben und erneut ausführen
variable not in the registryNicht registrierter SchlüsselSiehe Nicht rotierte Werte
Bei Worker-Knoten wird abgelehnt

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.

VariableWasKernpunkt der manuellen Änderung
PP_SPARK_PASSWORDSpark/Kyuubi-Client-KontoKein Serverkonto. hive-auth.properties erstellt das Konto mit diesem Wert – Sidecar-Aktualisierung + Neustart
PP_TSE_PASSWORDZeitreihen-Engine-KontoSidecar-Aktualisierung + Neustart
PP_GRAVITINO_PASSWORD · PP_KESTRA_DB_PASSWORDJeweilige Backend-PostgreSQL-KontenDer Data Lake setzt bei jedem Start die PostgreSQL-Rollenpasswörter auf die Sidecar-Werte – Sidecar-Aktualisierung + Neustart
PP_KESTRA_ADMIN_PASSWORDKestra-AdministratorWeb-Anmeldekonto
PP_TLS_KEYSTORE_PASSWORD (+ abgeleiteter Truststore-Satz)Zertifikate insgesamtMit Zertifikatserneuerung verknüpft → Sicherheitseinstellungen
PP_OPCUA_PASSWORDOPC-UA-Server (App-Container)Außerhalb des Data Lake
PP_API_KEY · PP_FLOW_WEBHOOK_API_KEYFür externe Aufrufer (App-Container)Außerhalb des Data Lake
PP_DATA_GATEWAY_WEB_PASSWORD · PP_CEP_WEB_PASSWORDBrowser-Login der Query-KonsoleEntscheidung, dass dies nicht rotiert wird (2026-09-07). Sidecar-Aktualisierung + Neustart → Web-Anmeldekonto

Nicht tun​

  • Führen Sie pd secret rotate nicht direkt im Container aus. Rotationsjournal und Sidecar müssen sich auf dem Host befinden, um Container-Neuerstellungen zu überstehen. Der passwd.sh des Hosts ruft dies auf.
  • Erwarten Sie nicht, dass die Standardwerte der Passwörter in bin/env.sh wirksam 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+C ab 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​