Umfassende HashiCorp Vault Befehle und Workflows für Secrets-Management, Verschlüsselung und sicheren Zugriff auf sensible Daten.
Installation & Einrichtung
| Befehl | Beschreibung |
|---|
vault version | Vault-Version anzeigen |
vault server -dev | Entwicklungsserver starten |
vault server -config=config.hcl | Beginnen Sie mit der Konfigurationsdatei |
vault status | Server-Status überprüfen |
Authentifizierung & Anmeldung
Grundlegende Authentifizierung
| Befehl | Beschreibung |
|---|
vault auth -method=userpass username=myuser | Anmelden mit Benutzername/Passwort |
vault auth -method=ldap username=myuser | Mit LDAP anmelden |
vault auth -method=github token=mytoken | Mit GitHub anmelden |
vault auth -method=aws | Anmelden mit AWS IAM |
vault auth -method=kubernetes | Login mit Kubernetes |
Token-Verwaltung
| Befehl | Beschreibung |
|---|
vault token create | Neues Token erstellen |
vault token create -ttl=1h | Token mit TTL erstellen |
vault token lookup | Aktuelle Token nachschlagen |
vault token renew | Aktuelles Token erneuern |
vault token revoke TOKEN | Bestimmtes Token widerrufen |
Secrets-Verwaltung
Key-Value Secrets (v2)
| Befehl | Beschreibung |
|---|
vault kv put secret/myapp username=admin password=secret | Geheimnis speichern |
vault kv get secret/myapp | Geheimnis abrufen |
vault kv get -field=password secret/myapp | Spezifisches Feld abrufen |
vault kv delete secret/myapp | Geheimnis löschen |
vault kv list secret/ | Geheimnisse auflisten |
vault kv metadata get secret/myapp | Metadaten abrufen |
Secret-Versionen
| Befehl | Beschreibung |
|---|
vault kv put secret/myapp @data.json | Speichern aus JSON-Datei |
vault kv get -version=2 secret/myapp | Spezifische Version abrufen |
vault kv rollback -version=1 secret/myapp | Rollback zu Version |
vault kv destroy -versions=2,3 secret/myapp | Versionen zerstören |
vault kv undelete -versions=2 secret/myapp | Versionen wiederherstellen |
Datenbank Secrets Engine
Datenbank-Konfiguration
| Befehl | Beschreibung |
|---|
vault secrets enable database | Datenbankmodul aktivieren |
vault write database/config/my-mysql-database plugin_name=mysql-database-plugin connection_url="\\{\\{username\\}\\}:\\{\\{password\\}\\}@tcp(localhost:3306)/" allowed_roles="my-role" username="vaultuser" password="vaultpass" | MySQL konfigurieren |
vault write database/roles/my-role db_name=my-mysql-database creation_statements="CREATE USER '\\{\\{name\\}\\}'@'%' IDENTIFIED BY '\\{\\{password\\}\\}';GRANT SELECT ON *.* TO '\\{\\{name\\}\\}'@'%';" default_ttl="1h" max_ttl="24h" | Rolle erstellen |
Dynamische Zugangsdaten
| Befehl | Beschreibung |
|---|
vault read database/creds/my-role | Generiere Datenbankzugangsdaten |
vault write database/rotate-root/my-mysql-database | Root-Anmeldeinformationen rotieren |
PKI (Public Key Infrastructure)
PKI-Einrichtung
| Befehl | Beschreibung |
|---|
vault secrets enable pki | PKI-Engine aktivieren |
vault secrets tune -max-lease-ttl=87600h pki | Maximale TTL festlegen |
vault write pki/root/generate/internal common_name=example.com ttl=87600h | Root-CA generieren |
vault write pki/config/urls issuing_certificates="http://vault.example.com:8200/v1/pki/ca" crl_distribution_points="http://vault.example.com:8200/v1/pki/crl" | URLs konfigurieren |
Zertifikatsverwaltung
| Befehl | Beschreibung |
|---|
vault write pki/roles/example-dot-com allowed_domains=example.com allow_subdomains=true max_ttl=72h | Rolle erstellen |
vault write pki/issue/example-dot-com common_name=test.example.com | Zertifikat ausstellen |
vault write pki/revoke serial_number=39:dd:2e:90:b7:23:1f:8d:d3:7d:31:c5:1b:da:84:d0:5b:65:31:58 | Zertifikat widerrufen |
AWS Secrets Engine
AWS-Konfiguration
| Befehl | Beschreibung |
|---|
vault secrets enable aws | AWS-Engine aktivieren |
vault write aws/config/root access_key=AKIAI... secret_key=R4nm... | Root-Anmeldeinformationen konfigurieren |
vault write aws/roles/my-role credential_type=iam_user policy_document=-<<EOF \\{...\\} EOF | IAM-Rolle erstellen |
AWS-Zugangsdaten
| Befehl | Beschreibung |
|---|
vault read aws/creds/my-role | AWS-Anmeldeinformationen generieren |
vault write aws/sts/my-role ttl=15m | STS-Anmeldeinformationen generieren |
Transit Secrets Engine
Verschlüsselungseinrichtung
| Befehl | Beschreibung |
|---|
vault secrets enable transit | Transit-Engine aktivieren |
vault write transit/keys/my-key type=aes256-gcm96 | Verschlüsselungsschlüssel erstellen |
vault write transit/encrypt/my-key plaintext=$(base64 <<< "my secret data") | Daten verschlüsseln |
vault write transit/decrypt/my-key ciphertext=vault:v1:8SDd3WHDOjf7mq69CyCqYjBXAiQQAVZRkFM13ok481zoCmHnSeDX9vyf7w== | Daten entschlüsseln |
Schlüsselverwaltung
| Befehl | Beschreibung |
|---|
vault write transit/keys/my-key/rotate | Rotieren Sie den Verschlüsselungsschlüssel |
vault read transit/keys/my-key | Lesen Sie wichtige Informationen |
vault write transit/rewrap/my-key ciphertext=vault:v1:... | Mit dem neuesten Schlüssel neu umwickeln |
Richtlinien
Richtlinienverwaltung
| Befehl | Beschreibung |
|---|
vault policy write my-policy policy.hcl | Police erstellen/aktualisieren |
vault policy read my-policy | Police lesen |
vault policy list | Alle Richtlinien auflisten |
vault policy delete my-policy | Löschrichtlinie |
Beispielrichtlinie
# Read operation on the k/v secrets
path "secret/data/*" \\\\{
capabilities = ["read"]
\\\\}
# Write operation on the k/v secrets
path "secret/data/myapp/*" \\\\{
capabilities = ["create", "update"]
\\\\}
# Deny all access to secret/admin
path "secret/data/admin" \\\\{
capabilities = ["deny"]
\\\\}
Authentifizierungsmethoden
Authentifizierungsmethoden aktivieren
| Befehl | Beschreibung |
|---|
vault auth enable userpass | Benutzername/Passwort aktivieren |
vault auth enable ldap | LDAP aktivieren |
vault auth enable github | GitHub aktivieren |
vault auth enable aws | AWS IAM aktivieren |
vault auth enable kubernetes | Kubernetes aktivieren |
Authentifizierungsmethoden konfigurieren
| Befehl | Beschreibung |
|---|
vault write auth/userpass/users/myuser password=mypass policies=my-policy | Benutzer erstellen |
vault write auth/ldap/config url="ldap://ldap.example.com" userdn="ou=Users,dc=example,dc=com" | LDAP konfigurieren |
vault write auth/github/config organization=myorg | GitHub konfigurieren |
Audit-Logging
Audit-Geräte aktivieren
| Befehl | Beschreibung |
|---|
vault audit enable file file_path=/vault/logs/audit.log | Datei-Audit aktivieren |
vault audit enable syslog | Syslog-Audit aktivieren |
vault audit list | Liste von Audit-Geräten |
vault audit disable file/ | Audit-Gerät deaktivieren |
Hochverfügbarkeit & Clustering
Cluster-Operationen
Would you like me to continue with the remaining translations?
| Befehl | Beschreibung |
|---|
vault operator init | Vault-Cluster initialisieren |
vault operator unseal | Vault öffnen |
vault operator seal | Seal Vault |
vault operator step-down | Zurücktreten als Führungskraft |
vault operator raft list-peers | Raft-Peers auflisten |
Backup & Wiederherstellung
| Befehl | Beschreibung |
|---|
vault operator raft snapshot save backup.snap | Snapshot erstellen |
vault operator raft snapshot restore backup.snap | Snapshot wiederherstellen |
Konfigurationsbeispiele
storage "consul" \\\\{
address = "127.0.0.1:8500"
path = "vault/"
\\\\}
listener "tcp" \\\\{
address = "0.0.0.0:8200"
tls_disable = 1
\\\\}
api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
ui = true
```### Auto-unseal with AWS KMS
### Automatische Entsiegelung mit AWS KMS
```hcl
seal "awskms" \\\\{
region = "us-east-1"
kms_key_id = "12345678-1234-1234-1234-123456789012"
\\\\}
```## Environment Variables
## Umgebungsvariablen
| Variable | Beschreibung |
|----------|-------------|
| `VAULT_ADDR` | Vault Server-Adresse |
| `VAULT_TOKEN` | Authentication-Token |
| `VAULT_NAMESPACE` | Vault-Namespace (Enterprise) |
| `VAULT_CACERT` | CA-Zertifikatsdatei |
| `VAULT_CLIENT_CERT` | Client-Zertifikatsdatei |
| `VAULT_CLIENT_KEY` | Client Private-Key-Datei |## Best Practices
## Bewährte Praktiken
### Security
### Sicherheit
1. **Enable TLS**: Always use TLS in production
2. **Least Privilege**: Grant minimal required permissions
3. **Token TTL**: Use short-lived tokens
4. **Audit Logging**: Enable comprehensive audit logging
5. **Seal/Unseal**: Implement proper seal/unseal procedures
1. **TLS aktivieren**: Verwenden Sie in der Produktion immer TLS
2. **Minimale Berechtigungen**: Gewähren Sie nur die minimal erforderlichen Berechtigungen
3. **Token-Lebensdauer**: Verwenden Sie kurzlebige Token
4. **Audit-Logging**: Aktivieren Sie umfassendes Audit-Logging
5. **Siegeln/Entsiegeln**: Implementieren Sie ordnungsgemäße Siegelungs-/Entsiegelungsprozeduren
### Operations
### Betrieb
1. **High Availability**: Deploy in HA mode for production
2. **Backup Strategy**: Regular snapshots and backups
3. **Monitoring**: Monitor Vault health and performance
4. **Rotation**: Regular key and credential rotation
5. **Access Patterns**: Monitor and analyze access patterns
1. **Hochverfügbarkeit**: Bereitstellen im HA-Modus für die Produktion
2. **Backup-Strategie**: Regelmäßige Snapshots und Backups
3. **Monitoring**: Überwachen Sie die Vault-Gesundheit und -Leistung
4. **Rotation**: Regelmäßige Schlüssel- und Anmeldeinformationsrotation
5. **Zugriffsmustern**: Überwachen und analysieren Sie Zugriffsmuster
### Development
### Entwicklung
1. **Dev Mode**: Use dev mode only for development
2. **Policy Testing**: Test policies thoroughly
3. **Secret Versioning**: Use secret versioning for rollbacks
4. **Integration**: Integrate with CI/CD pipelines
5. **Documentation**: Document secret paths and policies
1. **Entwicklungsmodus**: Verwenden Sie den Entwicklungsmodus nur für die Entwicklung
2. **Richtlinientests**: Testen Sie Richtlinien gründlich
3. **Geheimnis-Versionierung**: Verwenden Sie Geheimnis-Versionierung für Rollbacks
4. **Integration**: Integrieren Sie in CI/CD-Pipelines
5. **Dokumentation**: Dokumentieren Sie Geheimnis-Pfade und -Richtlinien