HashiCorp Vault ist ein Werkzeug zur zentralen Verwaltung von Geheimnissen: Passwörter, API-Schlüssel, Zertifikate, Datenbank-Zugangsdaten und Verschlüsselungsschlüssel. Statt Geheimnisse in Konfigurationsdateien, Umgebungsvariablen oder im Repository zu verteilen, liegen sie an einer Stelle mit Zugriffskontrolle, Protokollierung und Ablaufzeiten.
Das Grundproblem
Ein klassisches Zugangsdaten-Problem sieht so aus: Ein Datenbankpasswort steht in einer Konfigurationsdatei auf zwanzig Servern. Bei einem Personalwechsel muss es überall geändert werden, und niemand weiß, wer es schon gelesen hat. Vault löst das durch drei Prinzipien:
- Zentrale Ablage: Geheimnisse liegen verschlüsselt an einem Ort.
- Kurzlebige Zugangsdaten: Vault kann bei Bedarf dynamische Datenbankkonten erzeugen, die nach Minuten oder Stunden automatisch ungültig werden. Es gibt dann kein dauerhaftes Passwort mehr, das man stehlen könnte.
- Prüfbarer Zugriff: Jeder Zugriff wird mit Identität und Pfad protokolliert.
Architektur
Der Vault-Prozess speichert alle Daten in einem Storage Backend (integrierte Raft-Datenbank, Consul, Dateisystem oder Cloud-Speicher) – und zwar immer verschlüsselt. Der Verschlüsselungsschlüssel selbst liegt nicht dort: Er wird als Root Key bezeichnet und durch einen Barrier geschützt. Genau hier setzt das Konzept des Versiegelns an.
Seal und Unseal
Nach einem Neustart ist Vault versiegelt (sealed) und kann keine Daten lesen. Zum Entsiegeln wird der Root Key benötigt. Im Standardfall wird er mit Shamir's Secret Sharing in mehrere Teile (Shares) zerlegt; eine festgelegte Anzahl davon – die Schwelle – setzt den Schlüssel wieder zusammen. Typisch ist 3 von 5: Kein Einzelner kennt das vollständige Geheimnis, aber drei Verantwortliche gemeinsam können entsiegeln.
Weil das im Automatisierungsbetrieb unpraktisch ist, gibt es Auto-Unseal: Vault holt den Schlüssel beim Start von einem vertrauenswürdigen Dienst – Cloud-KMS, ein HSM oder ein zweiter Vault über das Transit-Modul. Statt Unseal-Shares entstehen dann Recovery Keys, die nicht zum Entsiegeln dienen, sondern für quorumspflichtige Vorgänge wie das Erzeugen eines Root-Tokens.
Secrets Engines
Vault ist modular: Lesen und Schreiben geschieht über Secrets Engines, die jeweils einen Pfad belegen.
- kv (Key-Value): statische Geheimnisse ablegen und versionieren
- database: dynamische Datenbankkonten mit begrenzter Lebensdauer erzeugen
- pki: eigene Zertifizierungsstelle betreiben und TLS-Zertifikate ausstellen
- transit: Verschlüsselung als Dienst – Daten werden verschlüsselt, ohne dass Vault sie speichert. Ideal für Anwendungen, die keine Kryptobibliothek pflegen wollen.
- ssh: kurzlebige SSH-Zertifikate statt verteilter Schlüsseldateien
- aws, azure, gcp: dynamische Cloud-Zugangsdaten
Auth-Methoden
Wer Vault ansprechen darf, regelt die Auth-Methode. Verbreitet sind Token, LDAP, OIDC, Kubernetes-Serviceaccounts sowie die Anmeldung von Maschinen über AppRole mit Role-ID und Secret-ID. Anschließend entscheidet eine Policy in HCL, auf welche Pfade mit welcher Fähigkeit zugegriffen werden darf.
# Beispiel-Policy: Lesen eines KV-Pfads
path "secret/data/app/prod" {
capabilities = ["read"]
}
# Anwendung liest zur Laufzeit
# vault kv get secret/app/prod
Betriebliche Punkte
- Backups des Storage: Ein Vault-Backup ohne den Seal-Mechanismus ist wertlos. Beim Auto-Unseal gilt ausdrücklich: Wird der KMS-Schlüssel gelöscht, ist ein Vault-Cluster auch aus dem Backup nicht mehr wiederherstellbar. Der Seal-Mechanismus braucht dieselbe Sorgfalt wie die Daten.
- Hochverfügbarkeit: Ein Cluster aus mehreren Knoten ist Standard; ein Knoten ist aktiv, die anderen halten die Daten bereit.
- Audit-Log: Einschalten und in ein unveränderliches Ziel schreiben. Ohne Protokoll ist nicht nachvollziehbar, wer wann welches Geheimnis gelesen hat.
- Lizenzmodell beachten: HashiCorp hat die Lizenz für Vault auf die Business Source License umgestellt. Daraufhin entstand der Fork OpenBao unter dem Dach der Linux Foundation, der die vorherige Open-Source-Lizenz fortführt. Wer rechtliche Klarheit für Weiterverwendung braucht, sollte beide Projekte prüfen.
Verwandte Grundlagen: Kubernetes Secrets, Verschlüsselung, Zertifizierungsstelle, Autorisierung.