Sicherheit

Was versteht man unter „Secrets Management“ in Kubernetes?

Abubakar Siddiq Ango
Abubakar Siddiq Ango Senior Developer Advocate
17. Juni 2026 3 Minuten Lesezeit Anfänger
Erste Schritte Sicherheit Verwaltung von Geheimnissen

Voraussetzungen

  • Grundlegendes Verständnis der Kubernetes-Konzepte (Pods, Secrets, etcd)
  • Kenntnisse über Umgebungsvariablen und Konfiguration

Einführung

Jede Anwendung benötigt geheime Daten: Datenbankpasswörter, API-Schlüssel, TLS-Zertifikate, Tokens. Unter Kubernetes ist es am schnellsten, diese in Umgebungsvariablen, einer ConfigMap oder einer Geheimnis in Git eingecheckt. Bei jedem dieser Fälle wurden Anmeldedaten an einer Stelle offengelegt, an der sie nicht hätten sein dürfen.

In diesem Tutorial werden das Problem und die Lösung vorgestellt: ein spezieller Secrets-Manager, der die eigentlichen Geheimnisse verwahrt, und ein Operator, der diese mit den Kubernetes-Secrets synchronisiert, die Ihre Anwendungen bereits lesen können.

Warum Kubernetes-Secrets allein nicht ausreichen

Ein Kubernetes Geheimnis ist eine nützliche Grundfunktion, die jedoch echte Grenzen hat:

  • Es handelt sich lediglich um eine Base64-Kodierung. Geheime Werte werden in etcd als Base64 gespeichert, sodass jeder mit Zugriff auf den Cluster oder etcd diese entschlüsseln kann, sofern Sie die Verschlüsselung im Ruhezustand nicht separat aktivieren.
  • Es befindet sich in Git, wenn man GitOps einsetzt. Eine Geheimnis Über die Manifest-Datei werden die Anmeldedaten für alle Personen mit Repo-Zugriff in der Versionshistorie gespeichert.
  • Es dreht sich nicht. A Geheimnis enthält einen festen Wert. Um die zugrunde liegenden Anmeldedaten zu ändern, muss das Manifest manuell bearbeitet und erneut angewendet werden.
  • Es gibt keinen Prüfpfad. Kubernetes protokolliert nicht, wer welchen Secret-Wert gelesen hat.

Für eine einzelne Einmal-App sind diese noch akzeptabel. Auf einer Plattform mit vielen Teams und echten Zugangsdaten werden sie jedoch zu einem Risiko.

Ein Schlüsselmanager und ein Synchronisierungsdienst

Die häufig genannte Lösung kombiniert zwei Open-Source-Tools.

OpenBao ist ein Secret-Manager. Als Fork von HashiCorp Vault, der von der Linux Foundation gehostet wird, speichert er die eigentlichen Secrets an einem verschlüsselten, zugriffskontrollierten und überwachten Ort und bietet einen Schlüssel-Wert-Speicher, dynamische Secrets, fein abgestufte Richtlinien sowie ein Audit-Protokoll.

Die Operator für externe Geheimnisse (ESO) ist die Synchronisierungsschicht. Sie liest Daten aus einem Backend wie OpenBao aus und erstellt gewöhnliche Kubernetes-Objekte Geheimnis Objekte für Ihre Workloads. Ihre Anwendung liest weiterhin einen normalen Geheimnis, und der Bediener sorgt dafür, dass es mit der Quelle synchron bleibt.

Der Ablauf sieht wie folgt aus:

OpenBao (Quelle der Wahrheit)  ->  Operator für externe Secrets  ->  Kubernetes-Secret  ->  Ihr Pod

Was Sie erhalten

  • Anmeldedaten werden nicht in Git und in Manifesten gespeichert. In Ihrem Repo befindet sich ein ExternGeheim der auf einen Pfad verweist, niemals auf den geheimen Wert.
  • Eine geprüfte, zugriffskontrollierte Quelle. Anhand von Richtlinien wird festgelegt, wer welche geheimen Informationen einsehen darf, und die Zugriffe werden protokolliert.
  • Die Drehung breitet sich aus. Aktualisieren Sie den Wert in OpenBao, woraufhin ESO die Kubernetes-Instanzen neu synchronisiert. Geheimnis je nach Aktualisierungsintervall.
  • Die Apps bleiben unverändert. Workloads verbrauchen einen Standard Geheimnis, sodass die Anwendung in keiner Weise auf OpenBao zurückgreifen muss.

Wie geht es weiter?

Der weitere Verlauf dieser Serie ist praxisorientiert. Sie werden OpenBao auf einem Kubernetes-Cluster installieren, damit Geheimnisse speichern und auslesen und anschließend den External Secrets Operator so konfigurieren, dass diese Geheimnisse in Ihre Workloads synchronisiert werden.

Als Nächstes in dieser Reihe: Installation von OpenBao auf Kubernetes.

Zusammenfassung

  • Ein Kubernetes Geheimnis ist Base64-kodiert, statisch, nicht geprüft und landet in Git, wenn man es per GitOps einbindet.
  • Ein Secret-Manager (OpenBao) speichert die eigentlichen Geheimnisse an einem einzigen verschlüsselten, richtliniengesteuerten und geprüften Ort.
  • Der „External Secrets Operator“ synchronisiert Geheimnisse aus OpenBao in das reguläre Kubernetes-System. Geheimnis Objekte.
  • In Ihren Manifesten wird ein Pfad angegeben, Ihre Apps lesen eine normale Geheimnis, und die Drehung wird automatisch übernommen.