Anwendungs-Secrets verwalten

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Auf dieser Seite werden einige Best Practices für die Verwaltung von Secrets für Anwendungen beschrieben, die Sie mit Google Cloud Deploy in Google Kubernetes Engine- oder Anthos-Clustern bereitstellen.

Da das Einfügen von Anwendungs-Secrets in Bereitstellungsartefakte Sicherheitsrisiken mit sich bringt, sollten Sie keine Secrets in Google Cloud Deploy-Pipelines verwalten.

Auf diese Weise verwendete Secrets sollten außerhalb des Bereichs von Google Cloud Deploy generiert, verwaltet und rotiert werden.

Secrets beziehen sich in diesem Kontext auf sensible Daten wie Datenbankanmeldedaten, API-Schlüssel, Zertifikate oder Passwörter.

Kubernetes-Secrets

Kubernetes-Secrets sind sichere Objekte, die vertrauliche Daten wie Passwörter, OAuth-Token und SSH-Schlüssel in Ihren Clustern speichern, getrennt von Pods. Secrets ähneln ConfigMaps, sollen jedoch vertrauliche Daten enthalten.

Da Kubernetes-Secrets ohne Verschlüsselung nicht standardmäßig sicher sind, werden sie von den in diesem Dokument beschriebenen Ansätzen nicht verwendet.

Secrets für die Verwendung mit Google Cloud Deploy verwalten

In diesem Abschnitt wird beschrieben, wie Sie Secrets für Anwendungen verwalten, die Sie mit Google Cloud Deploy bereitstellen.

Im Folgenden finden Sie zwei Ansätze für die Verwaltung von Secrets mit GKE oder Anthos:

Google Secret Manager

Secret Manager ist ein vollständig verwalteter, multiregionaler Google Cloud-Dienst, der API-Schlüssel, Passwörter und andere sensible Daten sicher speichert.

Auf Secrets aus Secret Manager kann über den Cluster mit der Clientbibliothek und der Workload Identity-Authentifizierung oder mit dem Secret-Speicher-CSI-Treiber zugegriffen werden.

So verwenden Sie Secret Manager für Ihre Anwendung:

  1. Secret mit Secret Manager erstellen

  2. Verweisen Sie mit dem SDK auf das Secret aus Ihrem Anwendungscode.

Sie können zusätzliche Metadaten für das Secret mithilfe von Umgebungsvariablen angeben, z. B. Secret-Version oder Anwendungsumgebung (z. B. dev, staging, prod).

Wenn der Bereitstellungsprozess für eine bestimmte Funktion die Bereitstellung von Infrastruktur umfasst, erstellen oder aktualisieren Sie das Secret mit Secret Manager im Rahmen des Bereitstellungsprozesses, bevor Sie die Anwendung bereitstellen.

Weitere Informationen zum Verwalten von Kubernetes-Secrets mit Secret Manager finden Sie unter Secret Manager mit anderen Produkten verwenden.

HashiCorp Vault

Hashicorp Vault ist ein beliebtes und weit verbreitetes Open-Source-Tool zur Verwaltung von Secrets. Google Cloud bietet zahlreiche Integrationen und Unterstützung für Vault sowie andere HashiCorp-Tools wie Terraform.

Sie können Vault in Ihrem Kubernetes-Cluster so konfigurieren:

  1. Auf Vault-Secrets über die API zugreifen und mit Workload Identity authentifizieren.

  2. Secrets mithilfe von Vault Agent-Containern in Ihre Kubernetes-Pods einfügen.

  3. Verwenden Sie den Vault-CSI-Anbieter, um diese Secrets zu nutzen.

Weitere Informationen