Skip to content
BotServBotServ
HashiCorp VaultSecretsSecret ManagementLokale KISicherheit

HashiCorp Vault für lokale KI

HashiCorp Vault lokal betreiben. Secrets speichern, dynamische Credentials und Integration mit KI-Agenten.

S

schutzgeist

3 min read
HashiCorp Vault für lokale KI

HashiCorp Vault für lokale KI

Was dieser Artikel über HashiCorp Vault behandelt

  • Was Vault ist und wofür es sich eignet.
  • Wie man Vault lokal mit Docker betreibt.
  • Wie Secrets gespeichert, gelesen und rotiert werden.
  • Wie dynamische Credentials funktionieren.
  • Wie Vault mit KI-Agenten und Self-Hosting-Tools integriert wird.

Einleitung: HashiCorp Vault für lokale KI

HashiCorp Vault ist ein Enterprise-Tool zur Verwaltung von Secrets, Zugangsdaten und Verschlüsselungsschlüsseln. Es bietet verschlüsselten Speicher, dynamische Credentials, automatische Rotation und feingranulare Zugriffssteuerung. Auch für lokale KI-Projekte kann Vault sinnvoll sein, wenn viele API-Keys, Datenbankpasswörter oder Zertifikate verwaltet werden müssen.

Für kleine Homelabs ist Vault oft überdimensioniert. Sobald aber mehrere Agenten, Tools und Container Secrets benötigen, lohnt sich ein zentraler Secret-Manager. Vault ist besonders wertvoll, wenn dynamische Datenbank-Credentials oder zeitlich begrenzte Zugriffstokens benötigt werden.

Wichtige Begriffe

  • KV Engine: Key-Value-Speicher für Secrets.
  • Dynamic Secrets: Kurzlebige, automatisch erzeugte Credentials.
  • PKI Engine: Ausstellung und Verwaltung von Zertifikaten.
  • Transit Engine: Verschlüsselung als Service.
  • Policy: Regelt, wer auf welche Pfade zugreifen darf.
  • Token: Kurzlebiger Zugriffsschlüssel.
  • AppRole: Authentifizierungsmethode für Anwendungen.
  • Unseal: Freischalten des Vault-Speichers.

Warum Vault für lokale KI?

  • Zentrale Verwaltung: Ein Ort für alle Secrets.
  • Keine hartkodierten Keys: Anwendungen holen sich Secrets zur Laufzeit.
  • Audit-Logs: Wer hat wann auf welches Secret zugegriffen.
  • Rotation: Automatischer Austausch von Datenbankpasswörtern.
  • Zeitlich begrenzte Tokens: Reduziert das Risiko bei Leaks.

Installation mit Docker

Eine einfache Testinstallation läuft mit Docker Compose:

services:
  vault:
    image: hashicorp/vault:latest
    container_name: vault
    ports:
      - "8200:8200"
    environment:
      - VAULT_DEV_ROOT_TOKEN_ID=MEIN_DEV_TOKEN
      - VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:8200
    volumes:
      - vault-data:/vault/file
    cap_add:
      - IPC_LOCK
    command: server -dev -dev-root-token-id="MEIN_DEV_ROOT_TOKEN"

volumes:
  vault-data:

Starten:

docker compose up -d

Die Weboberfläche ist unter http://localhost:8200 erreichbar.

Produktives Setup

Für den produktiven Betrieb sollte Vault nicht im Dev-Modus laufen:

  • Festplattenbasierten Storage verwenden.
  • TLS aktivieren.
  • Mehrere Unseal-Keys anlegen.
  • Authentifizierung über AppRole, TLS-Zertifikate oder LDAP.
  • Audit-Logging einschalten.

Erstes Secret speichern

Nach dem Start meldest Du Dich an:

export VAULT_ADDR='http://localhost:8200'
export VAULT_TOKEN='MEIN_DEV_TOKEN'

Ein Secret speichern:

vault kv put secret/ollama-api-key key=MEIN_KEY

Ein Secret auslesen:

vault kv get secret/ollama-api-key

Integration in Anwendungen

Anwendungen können Secrets über die REST-API oder ein SDK abrufen:

import requests

headers = {"X-Vault-Token": "MEIN_DEV_TOKEN"}
resp = requests.get("http://localhost:8200/v1/secret/data/ollama-api-key", headers=headers)
data = resp.json()
print(data["data"]["data"]["key"])

In Produktion sollte statt des Root-Tokens ein AppRole oder ein maschinenauthentifizierter Pfad genutzt werden.

Policies

Vault verwendet Pfade und Policies, um Zugriff zu steuern:

path "secret/data/ollama/*" {
  capabilities = ["read"]
}

Policies werden an Tokens oder Rollen gebunden.

Dynamische Datenbank-Credentials

Einer der stärksten Features ist die Erzeugung kurzlebiger Datenbank-Nutzer:

vault secrets enable database
vault write database/config/my-postgres \
  plugin_name=postgresql-database-plugin \
  allowed_roles="readonly" \
  connection_url="postgresql://{{username}}:{{password}}@db:5432/postgres" \
  username="vaultadmin" \
  password="vaultpass"

Eine Rolle anlegen:

vault write database/roles/readonly \
  db_name=my-postgres \
  creation_statements="CREATE ROLE \"{{name}}\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}'; \
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO \"{{name}}\";" \
  default_ttl="1h" \
  max_ttl="24h"

Anwendungen fragen nun Credentials an, die nach einer Stunde ablaufen.

Vault und KI-Agenten

KI-Agenten wie OpenClaw oder OpenHands brauchen oft API-Keys. Statt diese in .env-Dateien zu hinterlegen, können sie sie aus Vault holen:

  • Agent startet mit einem Vault-Token.
  • Er liest API-Keys vor der Verwendung.
  • Tokens werden kurzlebig gehalten.
  • Rotation passiert zentral.

Das vereinfacht den Umgang mit vielen Providern und verringert das Risiko.

Typische Stolpersteine

  • Dev-Modus in Produktion: Daten gehen bei Neustart verloren.
  • Root-Token überall verwenden: Sicherheitsrisiko.
  • Kein TLS: Kommunikation unverschlüsselt.
  • Unseal-Keys verlieren: Vault lässt sich nicht mehr entsperren.
  • Zu offene Policies: Jeder darf alles lesen.
  • Fehlende Backups: Vault-Daten müssen gesichert werden.

FAQ: HashiCorp Vault lokal

Ist Vault für ein kleines Homelab zu viel? Oft ja. Für wenige Secrets reichen .env-Dateien oder Infisical. Vault lohnt sich bei vielen Agenten und dynamischen Credentials.

Kann ich Vault ohne Docker installieren? Ja, es gibt Binaries für Linux, macOS und Windows.

Was passiert bei Datenverlust? Im Dev-Modus gehen alle Daten bei Neustart verloren. Im produktiven Modus müssen Backups und Unseal-Keys vorhanden sein.

Wie sicher ist Vault? Sehr sicher, wenn TLS, starke Authentifizierung und gute Policies genutzt werden.

Kann Vault Secrets automatisch rotieren? Ja, besonders bei dynamischen Datenbank-Credentials und einigen Cloud-Providern.

Quellen und weiterführende Literatur

Zusammenfassung: HashiCorp Vault für lokale KI

HashiCorp Vault ist ein leistungsfähiger Secret-Manager, der auch in lokalen KI-Setups wertvoll ist. Mit Docker lässt es sich schnell testen, für den dauerhaften Betrieb braucht es aber TLS, Backups, Unseal-Keys und sorgfältige Policies. Besonders bei vielen API-Keys, Agenten und Datenbanken zahlt sich Vault durch zentrale Verwaltung, Audit-Logs und dynamische Credentials aus. Wer die Komplexität beherrscht, bekommt ein professionelles Geheimnismanagement im eigenen Netzwerk.

Zurück zum KI Blog
Share:

Ähnliche Beiträge