Rotierende Secrets
- Aktualisiert2026-05-15
- 5 Minute(n) Lesezeit
SystemLink Enterprise Secrets müssen möglicherweise aufgrund von Änderungen an Ihrer Umgebung, den Sicherheitsrichtlinien Ihres Unternehmens oder anderen betrieblichen Anforderungen geändert oder rotiert werden. Unterschiedliche Secrets erfordern unterschiedliche Verfahren, um den ordnungsgemäßen Betrieb nach der Änderung sicherzustellen.
Gängige Verfahren für die Secret-Rotation
- Übernehmen von Secret-Änderungen:
Nach dem Bearbeiten von Secrets in den Helm-Wertedateien werden die Änderungen mit dem Helm-Upgrade-Befehl übernommen:
helm upgrade <release> oci://downloads.artifacts.ni.com/ni-docker/ni/helm-charts/systemlink --install --version <version> --namespace <namespace> --values systemlink-values.yaml --values systemlink-secrets.yaml
Tabelle 21. Upgrade-Parameter Parameter Beschreibung Release Der Name der Helm-Version von der Erstinstallation. Namensraum Der Namensraum der SystemLink Enterprise Bereitstellung. Version Die SystemLink Enterprise-Version. - Neustart von Verteilungen:
Manche Secrets erfordern einen manuellen Neustart der Verteilung, um sicherzustellen, dass die Dienste die neuen Werte erfassen. Verwenden Sie den Befehl kubectl rollout restart:
kubectl rollout restart deployment/<release>-<service-name> -n <namespace>
Um alle Verteilungen gleichzeitig neu zu starten:
kubectl rollout restart deployment -n <namespace>
- Neustart von StatefulSets:
Um Stateful Services neu zu starten, verwenden Sie den Befehl:
kubectl rollout restart statefulset/<release>-<service-name> -n <namespace>
Um alle statefulsets gleichzeitig neu zu starten, verwenden Sie den Befehl:
kubectl rollout restart statefulset -n <namespace>
- Pod-Zustand überwachen
Vergewissern Sie sich nach dem Rotieren von Secrets und dem Neustart der Dienste, dass alle Pods wieder gesund sind:
kubectl rollout status deployment/<release>-<service-name> -n <namespace> --timeout=10m kubectl rollout status statefulset/<release>-<service-name> -n <namespace> --timeout=20m kubectl get pods -n <namespace> kubectl logs -l app.kubernetes.io/name=<service-name> -n <namespace> --tail=50
Allgemeiner Rotationsprozess
Die meisten Secret-Rotationen folgen diesem Muster:
- Bearbeiten Sie die Secret-Werte in der entsprechenden Helm-Wertedatei.
- Änderungen werden mit dem Helm-Upgrade-Befehl übernommen. Siehe oben Gängige Verfahren.
- Starten Sie die betroffenen Verteilungen oder statefulsets bei Bedarf neu. Siehe einzelne Secret-Verfahren unten.
- Überwachen Sie Pods, um sicherzustellen, dass sie wieder gesund sind.
Einige Secrets haben spezifische Anforderungen oder zusätzliche Schritte, wie in den folgenden Verfahren dokumentiert. Secrets, die Umgebungsvariablen verwenden, erfordern in der Regel manuelle Pod-Neustarts, während als Laufwerke gemountete Secrets je nach Konfiguration der Anwendung automatisch abgerufen werden können.
Secret-Rotationsprozeduren
- Image-Pull-Secrets:
Bearbeiten Sie das Image-Pull-Secret in systemlink-secrets.yaml und übernehmen Sie die Änderungen durch Ausführen des Helm-Upgrade-Befehls.
Starten Sie alle Verteilungen und Statefulsets neu. Anweisungen finden Sie unter Neustarten von Verteilungen und Neustarten von StatefulSets. Überprüfen Sie unter Monitoring Pod Health, ob alle Pods wieder gesund sind.
- Authentifizierungs-Secrets:
Bearbeiten Sie die Authentifizierungssecrets in systemlink-secrets.yaml und übernehmen Sie die Änderungen durch Ausführen des Helm-Upgrade-Befehls. Starten Sie die Bereitstellung des Webservers neu. Anweisungen finden Sie unter Neustarten von Verteilungen.
- Proxy-Server-Zugangsdaten:
Bearbeiten Sie das Proxy-Server-Secret in systemlink-secrets.yaml und übernehmen Sie die Änderungen durch Ausführen des Helm-Upgrade-Befehls. Starten Sie die Bereitstellung des Webservers neu. Anweisungen finden Sie unter Neustarten von Verteilungen.
- Whitelist-API-Schlüssel und Hashes:
Bearbeiten Sie die Whitelist-API-Schlüssel und Hashes in systemlink-secrets.yaml und übernehmen Sie die Änderungen durch Ausführen des Helm-Upgrade-Befehls. Starten Sie die Dienstbereitstellung für den rotierten API-Schlüssel neu. Anweisungen finden Sie unter Neustarten von Verteilungen.
Informationen zu API-Schlüsseln und zugehörigen Diensten finden Sie unter Erforderliche Secrets.
- Verschlüsselungsschlüssel:Warnung Verschlüsselungsschlüssel zum Verschlüsseln von ruhenden Daten können nicht rotiert werden, ohne vorhandene Daten zu migrieren oder erneut zu verschlüsseln. Das Ändern dieser Schlüssel kann zu einem dauerhaften Verlust des Zugriffs auf verschlüsselte Daten führen. Wenden Sie sich vor dem Rotieren von Verschlüsselungsschlüsseln an den Support von NI, um zu erfahren, welche Schlüssel sicher rotiert werden können.Für Verschlüsselungsschlüssel, die sicher rotiert werden können, bearbeiten Sie das Verschlüsselungsschlüssel-Secret in systemlink-secrets.yaml und übernehmen Sie Änderungen mit Hilfe des Helm-Upgrade-Befehls. Starten Sie die Bereitstellung für den spezifischen Verschlüsselungsschlüssel neu. Anweisungen finden Sie unter Neustarten von Verteilungen.
- Dremio-Zugangsdaten:
Bearbeiten Sie das Dremio-Zugangsdaten-Secret in systemlink-secrets.yaml und übernehmen Sie Änderungen mit Hilfe des Helm-Upgrade-Befehls. Dazu gehören sowohl die Dremio-Authentifizierungsdaten als auch der Nessie-Bearer-Token. Starten Sie den dataframeservice und die dataframeservice-nessie-Bereitstellungen neu. Anweisungen finden Sie unter Neustarten von Verteilungen.
Setzen Sie Dremio nach dem Ändern der Zugangsdaten zurück. Eine Anleitung finden Sie unter Zurücksetzen von Dremio.
- Elasticsearch-Zugangsdaten:Hinweis Diese Vorgehensweise gilt nur, wenn Elasticsearch als Teil Ihrer SystemLink Enterprise-Installation bereitgestellt ist.
Ändern Sie die Zugangsdaten von Elasticsearch in elasticsearch-secrets.yaml und systemlink-secrets.yaml. Aktualisieren Sie zuerst das Elasticsearch-Chart, um die Zugangsdaten des Benutzers zu aktualisieren, und aktualisieren Sie dann das Haupt-SystemLink-Chart.
Starten Sie den fileingestioncdc und den fileingestion erneut. Anweisungen finden Sie unter Neustarten von Verteilungen.
- PostgreSQL-Zugangsdaten:
Bearbeiten Sie das PostgreSQL-Zugangsdaten-Secret in systemlink-secrets.yaml und übernehmen Sie Änderungen mit Hilfe des Helm-Upgrade-Befehls. Starten Sie den Testmonitorservice, dynamicformfields und dashboardhost erneut. Anweisungen finden Sie unter Neustarten von Verteilungen.
- MongoDB-Zugangsdaten:
Bearbeiten Sie das MongoDB-Zugangsdaten-Secret in systemlink-secrets.yaml und übernehmen Sie Änderungen mit Hilfe des Helm-Upgrade-Befehls. Starten Sie alle Verteilungen, die MongoDB verwenden, neu. Anweisungen finden Sie unter Neustarten von Verteilungen.
Informationen zu Diensten, die MongoDB verwenden, finden Sie unter Erforderliche Secrets.
- RabbitMQ-Zugangsdaten:
Bearbeiten Sie das RabbitMQ-Zugangsdaten-Secret in systemlink-secrets.yaml. Löschen Sie vor dem Übernehmen der Änderungen das RabbitMQ-StatefulSet, um alle RabbitMQ-Pods zu stoppen:
kubectl delete statefulset <release>-rabbitmq -n <namespace>
Stellen Sie sicher, dass alle RabbitMQ-Pods gestoppt wurden:
kubectl get pods -n <namespace> --selector=app.kubernetes.io/name=rabbitmq
Nachdem Sie alle Pods gestoppt haben, listen Sie alle RabbitMQ-Persistent-Volume-Claims auf und löschen Sie diese:
kubectl get pvc -n <namespace> --selector=app.kubernetes.io/name=rabbitmq kubectl delete pvc -n <namespace> --selector=app.kubernetes.io/name=rabbitmq
Änderungen werden mit dem Helm-Upgrade-Befehl übernommen. Siehe Gängige Verfahren zum erneuten Bereitstellen des RabbitMQ-StatefulSets mit den neuen Zugangsdaten.
Hinweis Persistente Volumes werden in der Regel automatisch gelöscht, wenn ihre Claims entfernt werden. Wenn Sie den Cluster nicht für die automatische Löschung konfigurieren, können Sie verwaiste persistente Volumes manuell löschen, um Ressourcen wiederherzustellen. - Redis-Zugangsdaten:
Bearbeiten Sie das Redis-Zugangsdaten-Secret in systemlink-secrets.yaml. Löschen Sie das Redis-StatefulSet:
kubectl delete statefulset <release>-webserver-redis -n <namespace>
Listen Sie alle Redis-Persistent-Volume-Claims auf und löschen Sie diese:
kubectl get pvc -n <namespace> --selector=app.kubernetes.io/name=webserver-redis kubectl delete pvc -n <namespace> --selector=app.kubernetes.io/name=webserver-redis
Änderungen werden mit dem Helm-Upgrade-Befehl übernommen. Siehe Gängige Verfahren zum erneuten Bereitstellen des Redis-StatefulSets mit den neuen Zugangsdaten.
- Objektspeicher-Zugangsdaten:
- Feeds, Dateiübernahme und Notebook-Ausführung:
Bearbeiten Sie die Feeds-, Dateiübernahme- und Notebook-Ausführungs-Secrets in systemlink-secrets.yaml. Änderungen werden mit dem Helm-Upgrade-Befehl übernommen. Starten Sie den feedservice, file, nbexec-execution-service und nbexec-notebook-service erneut. Anweisungen finden Sie unter Neustarten von Verteilungen.
Hinweis Diese Vorgehensweise gilt nur, wenn Sie Zugangsdaten als Zugriffstoken auf dem Cluster speichern. Einzelheiten zum Speichern von Zugangsdaten finden Sie unter Objektspeicher. - DFS und Dremio:
Bearbeiten Sie die DFS-Secrets und Dremio-Secrets in systemlink-secrets.yaml. Änderungen werden mit dem Helm-Upgrade-Befehl übernommen. Setzen Sie Dremio zurück. Weitere Informationen finden Sie unter Zurücksetzen von Dremio.
Hinweis Wenn Sie die Vorlage SystemLink Enterprise-Secret nicht verwenden, ändern Sie zusätzlich die Konfiguration des verteilten Dremio-Speichers. Informationen zur Speicherkonfiguration finden Sie unter aws-secrets.yaml oder azure-secrets.yaml.
- Feeds, Dateiübernahme und Notebook-Ausführung:
- SMTP-Zugangsdaten:
Bearbeiten Sie das SMTP-Zugangsdaten-Secret in systemlink-secrets.yaml und übernehmen Sie Änderungen mit Hilfe des Helm-Upgrade-Befehls. Starten Sie die SMTP-Bereitstellung erneut. Anweisungen finden Sie unter Neustarten von Verteilungen.
Verwandte Inhalte
- systemlink-secrets.yaml
- elasticsearch-secrets.yaml
- systemlink-values.yaml
- aws-secrets.yaml
- azure-secrets.yaml
- Zurücksetzen von Dremio
- Objektspeicher
Mehrere SystemLink Enterprise erfordern einen Objektspeicheranbieter. SystemLink Enterprise unterstützt die folgenden Speicheranbieter:
- Erforderliche Secrets
Secrets sind Kubernetes-Objekte, die zum Speichern sensibler Informationen verwendet werden.
- Installation von SystemLink Enterprise
Installieren Sie SystemLink Enterprise mit Helm-Befehlen.