Sicherheit

Speichern und Auslesen von Geheimnissen mit OpenBao

Abubakar Siddiq Ango
Abubakar Siddiq Ango Senior Developer Advocate
17. Juni 2026 2 Minuten Lesezeit Anfänger
Sicherheit Verwaltung von Geheimnissen openbao

Voraussetzungen

  • „OpenBao auf Kubernetes installieren“ (Teil 2) abgeschlossen – OpenBao läuft im Entwicklungsmodus
  • kubectl ist installiert und konfiguriert

Einführung

OpenBao läuft, ist aber leer. In diesem Tutorial werden Geheimnisse darin gespeichert und mithilfe der Schlüssel-Wert-Engine (KV) sowie der bao Befehlszeilen-Tool.

Schritt 1 – Öffnen Sie eine Shell im OpenBao-Pod

Die bao Die CLI ist im Server-Image enthalten. Wechsle in den Pod und richte die CLI auf den lokalen Server aus. Im Entwicklungsmodus lautet das Root-Token Stamm:

kubectl exec -it -n openbao openbao-0 -- sh

Im Inneren der Kapsel:

export BAO_ADDR=http://127.0.0.1:8200
export BAO_TOKEN=root

Schritt 2 – Die Schlüssel-Wert-Engine finden

Im Dev-Modus wird eine KV-Version-2-Engine an Geheimnis/ für Sie. Listen Sie die aktivierten Engines auf, um dies zu überprüfen:

Liste der „Bao“-Geheimnisse
Pfad       Typ   Beschreibung
----       ----   -----------
secret/    kv storage von Schlüssel-Wert-Paaren

Die Geheimnis/ Unter diesem Pfad befinden sich Ihre Schlüssel-Wert-Geheimnisse.

Schritt 3 – Ein Geheimnis speichern

Ein Secret ist eine Sammlung von Schlüssel-Wert-Paaren unter einem bestimmten Pfad. Speichern Sie die Konfiguration einer App unter secret/myapp/config:

bao kv put secret/myapp/config api_key=s3cr3t-123 db_password=hunter2
====== Secret Path ======
secret/data/myapp/config

======= Metadaten =======
Schlüssel             Wert
---             -----
created_time    2026-06-17T...
version         1

Version 1 ist die erste Überarbeitung dieses Geheimnisses. Die KV-v2-Engine speichert den Verlauf, sodass bei jedem späteren Schreibvorgang eine neue Version erstellt und die vorherige beibehalten wird.

Schritt 4 – Lies es noch einmal vor

bao kv get secret/myapp/config
======= Daten =======
Schlüssel            Wert
---            -----
api_key        s3cr3t-123
db_password    hunter2

Um ein einzelnes Feld auszulesen, verwenden Sie die -Feld Flag – nützlich in Skripten:

bao kv get-field=api_keysecret/myapp/config
s3cr3t-123

Typ Beenden um die Kapselhülle zu verlassen.

Ein Hinweis zu Wegen und Zugängen

Pfade wie secret/myapp/config sind die Möglichkeiten, wie Sie Geheimnisse pro App oder Team organisieren. In der Produktion kombinieren Sie diese mit Richtlinien die einer bestimmten Identität Lesezugriff nur auf die Pfade gewähren, die sie benötigt, und OpenBao protokolliert jeden Lesevorgang in seinem Audit-Protokoll. Im Dev-Modus werden die Richtlinien der Einfachheit halber umgangen; Sie können als Root-Token auf alle Daten lesen und schreiben.

Wie geht es weiter?

Ihr Geheimnis liegt in OpenBao. Der letzte Schritt besteht darin, es als normales Kubernetes-Workload bereitzustellen. Geheimnis, ohne den Wert in ein Manifest zu kopieren. Das ist die Aufgabe des „External Secrets Operator“.

Als Nächstes in dieser Reihe: Synchronisieren von Secrets in Kubernetes mit dem External Secrets Operator.

Zusammenfassung

  • „Secrets“ in OpenBao sind Schlüssel-Wert-Paare, die unter einem Pfad gespeichert sind, zum Beispiel secret/myapp/config.
  • bao kv put schreibt ein Geheimnis auf und bao kv abrufen liest es; -Feld gibt bei Skripten einen einzelnen Wert zurück.
  • Die KV v2-Engine protokolliert jeden Schreibvorgang und speichert dabei einen Verlauf, auf den Sie zurückgreifen können.
  • Der Zugriff auf die Produktion wird durch richtlinienbasierte Regeln pro Pfad geregelt und in einem Prüfprotokoll erfasst.