Skip to content

Vault CLI - Kurzanleitung

Kompakte Anleitung für die wichtigsten Vault CLI-Befehle.

Grundkonfiguration

bash
# Server-Adresse setzen (Linux/macOS)
export VAULT_ADDR='https://vault.iteas.cloud'

# Server-Adresse setzen (Windows PowerShell)
$env:VAULT_ADDR = 'https://vault.iteas.cloud'

# Login
vault login <token>
# oder mit OIDC
vault login -method=oidc -path=oidc

Secrets lesen (read)

bash
# Secret komplett anzeigen
vault kv get secret/path/to/secret

# Nur bestimmtes Feld anzeigen
vault kv get -field=password secret/path/to/secret

# Als JSON ausgeben
vault kv get -format=json secret/path/to/secret

# Secrets in einem Pfad auflisten
vault kv list secret/path

Secrets schreiben (write)

Wichtig

Bei vault kv put (bzw. vault write für KV v2) wird das komplette Secret ersetzt!

Wenn ein Secret bereits existiert und Sie nur ein einzelnes Feld ändern möchten, müssen Sie alle anderen Felder ebenfalls angeben, sonst gehen diese verloren.

Neues Secret erstellen

bash
# Einfaches Secret mit mehreren Feldern
vault kv put secret/myapp/config \
  username="admin" \
  password="secret123" \
  api_key="xyz789"

Bestehendes Secret aktualisieren

bash
# 1. Zuerst aktuelles Secret lesen
vault kv get -format=json secret/myapp/config

# 2. ALLE Felder beim Update angeben (auch die unveränderten!)
vault kv put secret/myapp/config \
  username="admin" \
  password="NEUES_PASSWORT" \
  api_key="xyz789"

oder in Datei pipen, ändern und zurückspielen

bash
# 1. Zuerst aktuelles Secret lesen und als json zwischenspeichern
vault read -format=json auth/oidc/role/default_role | jq '.data' > role.json

# 2. Datei ändern und speichern (nano oder edit)
nano role.json

# 3. Geänderte Werte zurückschreiben
vault write auth/oidc/role/default_role @role.json

Falsch (❌ - andere Felder gehen verloren):

bash
# NUR das Passwort setzen - username und api_key werden gelöscht!
vault kv put secret/myapp/config password="NEUES_PASSWORT"

Secret mit patch aktualisieren

Für KV v2 gibt es auch kv patch, das nur einzelne Felder ändert:

bash
# Nur password ändern, andere Felder bleiben erhalten
vault kv patch secret/myapp/config password="NEUES_PASSWORT"

Secret aus Datei schreiben

bash
# JSON-Datei einlesen
vault kv put secret/myapp/config @config.json

# Dateiinhalt als Wert
vault kv put secret/myapp/ssl cert=@certificate.pem

Mehrzeilige Werte

bash
# Mit Heredoc
vault kv put secret/myapp/ssl cert=- <<EOF
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAKZ...
-----END CERTIFICATE-----
EOF

Secret-Versionen (KV v2)

bash
# Bestimmte Version lesen
vault kv get -version=2 secret/myapp/config

# Versionshistorie anzeigen
vault kv metadata get secret/myapp/config

# Ältere Version wiederherstellen
vault kv rollback -version=2 secret/myapp/config

# Secret löschen (soft delete, kann wiederhergestellt werden)
vault kv delete secret/myapp/config

# Version unwiderruflich löschen
vault kv destroy -versions=1,2 secret/myapp/config

# Secret endgültig löschen (inkl. Metadaten)
vault kv metadata delete secret/myapp/config

Häufige Workflows

Secret kopieren

bash
# 1. Altes Secret lesen
OLD_SECRET=$(vault kv get -format=json secret/old/path | jq -r .data.data)

# 2. An neuen Ort schreiben
echo $OLD_SECRET | vault kv put secret/new/path -

Secret-Feld ändern (sicher)

bash
# 1. Aktuelles Secret als JSON holen
CURRENT=$(vault kv get -format=json secret/myapp/config | jq -r .data.data)

# 2. Feld in JSON ändern
UPDATED=$(echo $CURRENT | jq '.password = "neues_passwort"')

# 3. Zurückschreiben
echo $UPDATED | vault kv put secret/myapp/config -

Alle Secrets in einem Pfad sichern

bash
# Recursive list (benötigt jq)
vault kv list -format=json secret/myapp | jq -r '.[]' | while read secret; do
  vault kv get -format=json "secret/myapp/$secret" > "backup_${secret}.json"
done

Token-Verwaltung

bash
# Token-Info anzeigen
vault token lookup

# Token erneuern
vault token renew

# Token widerrufen
vault token revoke <token>

# Neuen Token mit Policy erstellen
vault token create -policy=myapp-policy -ttl=24h

Policies

bash
# Policy anzeigen
vault policy read myapp-policy

# Policy schreiben
vault policy write myapp-policy policy.hcl

# Policies auflisten
vault policy list

# Capabilities prüfen
vault token capabilities secret/myapp/config

Status & Diagnose

bash
# Vault Status
vault status

# Seal Status
vault operator seal-status

# Server Health (ohne Authentifizierung)
curl https://vault.iteas.cloud/v1/sys/health

Beispiel-Workflow

bash
# 1. Umgebungsvariable setzen
export VAULT_ADDR='https://vault.iteas.cloud'

# 2. Einloggen
vault login -method=oidc -path=oidc

# 3. Neues Secret erstellen
vault kv put secret/prod/webapp \
  db_host="db.iteas.cloud" \
  db_user="webapp" \
  db_password="secure_pass_123" \
  api_key="abc123xyz"

# 4. Secret lesen
vault kv get secret/prod/webapp

# 5. Nur Passwort anzeigen
vault kv get -field=db_password secret/prod/webapp

# 6. Ein Feld ändern (mit patch)
vault kv patch secret/prod/webapp db_password="neues_passwort_456"

# 7. Oder mit put (alle Felder angeben!)
vault kv put secret/prod/webapp \
  db_host="db.iteas.cloud" \
  db_user="webapp" \
  db_password="neues_passwort_456" \
  api_key="abc123xyz"

Weitere Ressourcen

Iteas Tools Integration Platform Version v1.0.21

Version: v1.0.21 Version: v1.0.21
Commit: 7a0e1c11
Deployed at: 2026-09-24T13:56:52Z