Zum Inhalt springen

Tresor

Umfassende HashiCorp Vault Befehle und Workflows für Secrets-Management, Verschlüsselung und sicheren Zugriff auf sensible Daten.

Installation & Einrichtung

BefehlBeschreibung
vault versionVault-Version anzeigen
vault server -devEntwicklungsserver starten
vault server -config=config.hclBeginnen Sie mit der Konfigurationsdatei
vault statusServer-Status überprüfen

Authentifizierung & Anmeldung

Grundlegende Authentifizierung

BefehlBeschreibung
vault auth -method=userpass username=myuserAnmelden mit Benutzername/Passwort
vault auth -method=ldap username=myuserMit LDAP anmelden
vault auth -method=github token=mytokenMit GitHub anmelden
vault auth -method=awsAnmelden mit AWS IAM
vault auth -method=kubernetesLogin mit Kubernetes

Token-Verwaltung

BefehlBeschreibung
vault token createNeues Token erstellen
vault token create -ttl=1hToken mit TTL erstellen
vault token lookupAktuelle Token nachschlagen
vault token renewAktuelles Token erneuern
vault token revoke TOKENBestimmtes Token widerrufen

Secrets-Verwaltung

Key-Value Secrets (v2)

BefehlBeschreibung
vault kv put secret/myapp username=admin password=secretGeheimnis speichern
vault kv get secret/myappGeheimnis abrufen
vault kv get -field=password secret/myappSpezifisches Feld abrufen
vault kv delete secret/myappGeheimnis löschen
vault kv list secret/Geheimnisse auflisten
vault kv metadata get secret/myappMetadaten abrufen

Secret-Versionen

BefehlBeschreibung
vault kv put secret/myapp @data.jsonSpeichern aus JSON-Datei
vault kv get -version=2 secret/myappSpezifische Version abrufen
vault kv rollback -version=1 secret/myappRollback zu Version
vault kv destroy -versions=2,3 secret/myappVersionen zerstören
vault kv undelete -versions=2 secret/myappVersionen wiederherstellen

Datenbank Secrets Engine

Datenbank-Konfiguration

BefehlBeschreibung
vault secrets enable databaseDatenbankmodul 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

BefehlBeschreibung
vault read database/creds/my-roleGeneriere Datenbankzugangsdaten
vault write database/rotate-root/my-mysql-databaseRoot-Anmeldeinformationen rotieren

PKI (Public Key Infrastructure)

PKI-Einrichtung

BefehlBeschreibung
vault secrets enable pkiPKI-Engine aktivieren
vault secrets tune -max-lease-ttl=87600h pkiMaximale TTL festlegen
vault write pki/root/generate/internal common_name=example.com ttl=87600hRoot-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

BefehlBeschreibung
vault write pki/roles/example-dot-com allowed_domains=example.com allow_subdomains=true max_ttl=72hRolle erstellen
vault write pki/issue/example-dot-com common_name=test.example.comZertifikat 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:58Zertifikat widerrufen

AWS Secrets Engine

AWS-Konfiguration

BefehlBeschreibung
vault secrets enable awsAWS-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 \\{...\\} EOFIAM-Rolle erstellen

AWS-Zugangsdaten

BefehlBeschreibung
vault read aws/creds/my-roleAWS-Anmeldeinformationen generieren
vault write aws/sts/my-role ttl=15mSTS-Anmeldeinformationen generieren

Transit Secrets Engine

Verschlüsselungseinrichtung

BefehlBeschreibung
vault secrets enable transitTransit-Engine aktivieren
vault write transit/keys/my-key type=aes256-gcm96Verschlü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

BefehlBeschreibung
vault write transit/keys/my-key/rotateRotieren Sie den Verschlüsselungsschlüssel
vault read transit/keys/my-keyLesen Sie wichtige Informationen
vault write transit/rewrap/my-key ciphertext=vault:v1:...Mit dem neuesten Schlüssel neu umwickeln

Richtlinien

Richtlinienverwaltung

BefehlBeschreibung
vault policy write my-policy policy.hclPolice erstellen/aktualisieren
vault policy read my-policyPolice lesen
vault policy listAlle Richtlinien auflisten
vault policy delete my-policyLö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

BefehlBeschreibung
vault auth enable userpassBenutzername/Passwort aktivieren
vault auth enable ldapLDAP aktivieren
vault auth enable githubGitHub aktivieren
vault auth enable awsAWS IAM aktivieren
vault auth enable kubernetesKubernetes aktivieren

Authentifizierungsmethoden konfigurieren

BefehlBeschreibung
vault write auth/userpass/users/myuser password=mypass policies=my-policyBenutzer 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=myorgGitHub konfigurieren

Audit-Logging

Audit-Geräte aktivieren

BefehlBeschreibung
vault audit enable file file_path=/vault/logs/audit.logDatei-Audit aktivieren
vault audit enable syslogSyslog-Audit aktivieren
vault audit listListe 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?

BefehlBeschreibung
vault operator initVault-Cluster initialisieren
vault operator unsealVault öffnen
vault operator sealSeal Vault
vault operator step-downZurücktreten als Führungskraft
vault operator raft list-peersRaft-Peers auflisten

Backup & Wiederherstellung

BefehlBeschreibung
vault operator raft snapshot save backup.snapSnapshot erstellen
vault operator raft snapshot restore backup.snapSnapshot 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