Secrets Management

Secrets Management hält Zugangsdaten aus Code, Logs und unkontrollierten Ablagen heraus.

Die sichere Speicherung und Verwaltung von sensiblen Daten wie API-Keys, Passwörtern und Zertifikaten – nie im Code, immer verschlüsselt.

Fortgeschritten3 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Secrets nie im Code oder Git!
  2. Zentrale, verschlüsselte Speicherung
  3. Automatische Rotation und Audit

Sofortantwort

Secrets Management einfach erklärt

Sichere Speicherung von API-Keys, Passwörtern und anderen Credentials.

Kurz gesagt
Secrets nie im Code oder Git!
Typischer Einsatz
CI/CD Pipelines, Kubernetes, Microservices
Wichtig zu wissen
Automatische Rotation und Audit

Secrets Management im Überblick

Secrets Management hält sensible Daten sicher – außerhalb des Codes.

SCHLECHT:
api_key = "sk-1234567890abcdef"  # Im Code!
DATABASE_URL=postgres://user:pass@host  # In .env committed

GUT:
api_key = secrets_manager.get("api-key")
DATABASE_URL = vault.read("database/creds")

Technisch betrachtet

Tools

ToolUse Case
HashiCorp VaultEnterprise, Self-hosted
AWS Secrets ManagerAWS-native
Azure Key VaultAzure-native
GCP Secret ManagerGCP-native
DopplerDeveloper-friendly SaaS

Vault Beispiel

import hvac

client = hvac.Client(url='https://vault.example.com')
client.token = os.environ['VAULT_TOKEN']

# Secret lesen
secret = client.secrets.kv.read_secret_version(path='myapp/database')
db_password = secret['data']['data']['password']

Statische vs. dynamische Secrets

Moderne Secrets Manager unterscheiden zwei Arten von Geheimnissen:

TypEigenschaftBeispiel
StatischManuell erstellt, gültig bis zur RotationAPI-Key eines externen Dienstes
DynamischOn-Demand generiert, kurze LebensdauerTemporäre Datenbank-Credentials

Dynamische Secrets sind das sicherere Modell: Der Secrets Manager erzeugt bei jeder Anfrage frische Credentials mit begrenzter Gültigkeit. Wird ein solches Secret geleakt, ist es oft schon abgelaufen, bevor ein Angreifer es nutzen kann. Voraussetzung ist, dass das Zielsystem (z. B. eine Datenbank) programmatische Benutzerverwaltung unterstützt.

Secrets Management in KI- und LLM-Systemen

Gerade KI-Anwendungen sind auf viele externe Credentials angewiesen: API-Keys für LLM-Provider, Zugangsdaten für Vektordatenbanken, Tokens für Embedding-Dienste und Webhooks. Dabei gelten einige Besonderheiten:

  • LLM-API-Keys sind direkt geldwert: Ein geleakter Key erlaubt es Angreifern, auf fremde Rechnung Inferenz zu betreiben. Solche Keys tauchen regelmäßig in öffentlichen Repositories auf und werden automatisiert gescannt.
  • Prompts können Secrets leaken: Wer Konfigurationsdaten oder Credentials in System-Prompts oder RAG-Kontexte einbettet, riskiert, dass das Modell sie in Antworten ausgibt. Secrets gehören nie in den Kontext eines Modells.
  • Agenten brauchen eigene Identitäten: KI-Agenten, die Tools aufrufen, sollten wie Service Accounts behandelt werden – mit eigenen, minimal berechtigten Credentials statt geteilten Admin-Keys.
  • Scoped Keys nutzen: Viele LLM-Provider erlauben es, Keys auf bestimmte Projekte, Modelle oder Budgets zu begrenzen. Das reduziert den Schaden bei Kompromittierung erheblich.

Typische Fehler in der Praxis

FehlerWarum problematischBesser
.env versehentlich committedSecrets landen dauerhaft in der Git-Historie.env in .gitignore, Pre-Commit-Scanning
Secrets in LogsDebug-Ausgaben protokollieren Credentials im KlartextLog-Redaction, strukturiertes Logging
Ein Key für allesKein Blast-Radius-Limit, Rotation betrifft alle SystemePro Service und Umgebung eigene Secrets
Secrets in CI-Variablen ohne MaskierungBuild-Logs zeigen Werte anMaskierte Variablen, OIDC statt Langzeit-Keys
Kein AblaufdatumVergessene Keys bleiben jahrelang gültigLebensdauer begrenzen, Inventar pflegen

Wichtig: Ein einmal in Git committetes Secret gilt als kompromittiert – auch nach dem Löschen des Commits bleibt es in der Historie und in Forks auffindbar. Die einzige korrekte Reaktion ist die sofortige Rotation.

Abgrenzung zu verwandten Begriffen

  • Konfigurationsmanagement verwaltet unkritische Einstellungen (Feature Flags, URLs) – Secrets Management schützt vertrauliche Werte mit Verschlüsselung, Zugriffskontrolle und Audit.
  • Key Rotation ist ein Teilprozess des Secrets Managements: der geplante Austausch von Credentials.
  • IAM regelt, wer auf Secrets zugreifen darf – der Secrets Manager setzt diese Regeln technisch durch.

Schritt für Schritt

Zugangsdaten kontrolliert bereitstellen

Ein Secret ist erst dann gut geschützt, wenn es nur berechtigten Prozessen kurzzeitig und nachvollziehbar zur Verfügung steht.

  1. Secrets erfassen

    Inventar

    API-Schlüssel, Zertifikate und andere vertrauliche Werte werden aus Code, Dateien und manuellen Übergaben herausgelöst.

    secret -> verantwortung + zweck + ablauf
  2. Zentral speichern

    Speicher

    Ein dafür vorgesehener Dienst verschlüsselt Secrets und trennt sie von Anwendungscode und normalen Konfigurationswerten.

    secret -> geschuetzter secret store
  3. Minimalzugriff vergeben

    Zugriff

    Dienste erhalten nur die Werte, die sie für eine konkrete Aufgabe und Umgebung wirklich benötigen.

    identitaet + zweck -> begrenztes secret
  4. Erneuern und prüfen

    Pflege

    Rotation, Ablauf und Zugriffsprotokolle reduzieren den Schaden, falls ein Wert versehentlich offengelegt wird.

    rotation + audit -> begrenztes risiko

Konkretes Beispiel

API-Zugang für einen KI-Service

Ein Backend benötigt einen Zugang zu einem externen Modell-Dienst.

Schlüssel in der Konfigurationsdatei

Der Schlüssel wandert mit dem Code durch lokale Rechner, Testsysteme und möglicherweise in Protokolle oder Backups.

Secret nur zur Laufzeit beziehen

Der Service authentifiziert sich selbst und erhält den benötigten Wert aus einem geschützten Speicher. Zugriffe und Rotation bleiben nachvollziehbar.

Secrets sind kein normales Konfigurationsdetail, sondern eigenständige schützenswerte Zugänge.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Weniger Offenlegung: Vertrauliche Werte stehen nicht in Quellcode, Tickets oder unkontrollierten Dateien.
  • Begrenzter Zugriff: Jede Anwendung kann auf die Secrets beschränkt werden, die sie tatsächlich benötigt.
  • Bessere Reaktion: Rotation und Widerruf lassen sich bei einem Vorfall gezielt durchführen.
  • Nachvollziehbarkeit: Abrufe und Änderungen können für Betrieb und Prüfung dokumentiert werden.

Das solltest du beachten

  • Einführung braucht Integration: Anwendungen und Pipelines müssen den Secret Store sicher ansprechen.
  • Fehlerhafte Rechte bleiben riskant: Zu breite Berechtigungen können den Schutz trotz zentraler Ablage unterlaufen.
  • Verfügbarkeit ist wichtig: Ein Ausfall des Zugangswegs kann abhängige Dienste beeinträchtigen.
  • Inventar muss aktuell bleiben: Unbekannte oder vergessene Zugangsdaten lassen sich nicht wirksam rotieren.
Vertiefung · für Fortgeschrittene

Der Lebenszyklus eines Secrets

Ein Secret wird getrennt vom Code gespeichert und nur berechtigten Identitäten kontrolliert zur Laufzeit bereitgestellt.

Wissenskarte

vertrauliche Werte sicher verwalten

Die zentrale Ablage ist nur ein Baustein: Zugriff, Ablauf und Audit machen aus einem geheimen Wert einen kontrollierten Zugang. Secrets Management gliedert sich in: Secret Inventar, Secret Store, Service-Identität, Zugriffsregel, Rotation, Audit-Protokoll.

01Einsatzbereiche

Wann ist Secrets Management sinnvoll?

Geeignet für

  • CI/CD PipelinesSichere Injection von Credentials
  • KubernetesSecrets für Container
  • MicroservicesService-zu-Service-Authentifizierung

↑ Inhalt

Merksatz

Secrets Management ist wie ein Tresor für digitale Schlüssel

Statt Passwörter auf Post-its zu kleben, liegen sie sicher verwahrt und nur Berechtigte bekommen Zugang.

  1. Secrets nie im Code oder Git!
  2. Zentrale, verschlüsselte Speicherung
  3. Automatische Rotation und Audit

03Anwenden

Secrets Management praktisch anwenden

↑ Inhalt

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu Secrets Management

Warum nicht Environment Variables?

Besser als im Code, aber: Keine Rotation, kein Audit, oft in Logs sichtbar. Secrets Manager sind sicherer.

Was wenn der Secrets Manager kompromittiert wird?

Deshalb: Encryption at Rest, strenge IAM-Policies, Audit Logging, und Secrets nur bei Bedarf abrufen.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

↑ Inhalt