Überblick
Die korrekte Verwaltung vertraulicher Informationen ist ein wesentlicher Bestandteil der Erstellung eines sicheren Entwicklungsworkflows. Für Cloud SQL empfehlen wir, dass Sie Ihre vertraulichen Informationen als Secrets speichern, die Sie in Secret Manager erstellen. Secrets umfassen API-Schlüssel, Passwörter, vertrauliche Informationen oder Anmeldedaten, mit denen Sie auf ein vertrauliches System zugreifen können.
Secret Manager ist praktisch und verbessert die Sicherheit. Sie können auch die Versionsverwaltung für Ihre Secrets anwenden und sie im gesamten Team teilen. Weitere Informationen zum Freigeben von Secrets für Ihr Team finden Sie unter Zugriffssteuerung (IAM)
Auf dieser Seite werden vier Anwendungsfälle für die Verwendung von Secret Manager zum Verwalten von Secrets mit Cloud SQL beschrieben:
- Nutzernamen und Passwörter speichern
- Verbindung zu Cloud SQL-Instanzen herstellen
- SSL/TLS-Zertifikate verwalten
- Koordinierung der Szenarien der Notfallwiederherstellung
Hinweis
Bevor Sie Secret Manager für die Verarbeitung von Secrets in Cloud SQL verwenden:
- Machen Sie sich mit Cloud SQL und Secret Manager vertraut.
- Erste Schritte mit Cloud SQL, indem Sie lernen, wie Sie von einem lokalen Computer aus eine Verbindung zu Ihrer ersten Cloud SQL-Instanz herstellen können
Nutzernamen und Passwörter
Wenn Sie Nutzernamen und Passwörter Ihrer Cloud SQL-Nutzerkonten als Secrets speichern, können Sie diese vertraulichen Informationen sicher und zuverlässig verwalten.
Zuerst müssen Sie einen Nutzer in Cloud SQL erstellen. Beim Erstellen dieses Nutzers müssen Sie einen Nutzernamen und ein Passwort angeben. Weitere Informationen zum Erstellen eines Nutzers in Cloud SQL finden Sie unter Nutzer erstellen und verwalten.
Erstellen Sie nach der Erstellung des Nutzers ein Secret im Secret Manager, um den Nutzernamen und das Passwort zu speichern. Dadurch wird sichergestellt, dass diese vertraulichen Informationen nicht verloren gehen. Weitere Informationen zum Erstellen und Zugreifen auf Secrets in Secret Manager finden Sie unter Secrets erstellen und aufrufen.
Cloud SQL-Instanzen
Wenn Sie eine Verbindung zu Ihrer Cloud SQL-Instanz herstellen, können Sie mithilfe von Secret Manager Secrets verwalten, um einen sicheren Entwicklungsworkflow zu erstellen.
Stellen Sie zuerst eine Verbindung zu Ihrer Cloud SQL-Instanz von Ihrem lokalen Computer aus her. Nachdem die Instanz ausgeführt wurde, können Sie mit Umgebungsvariablen eine Verbindung herstellen. Einige der mit den Variablen verknüpften Werte sind empfindlicher, beispielsweise der Name der Instanzverbindung. Für jeden Wert können Sie ein Secret in Secret Manager erstellen, um diese Informationen zu speichern und zu verwalten. Weitere Informationen zum Verwenden von Umgebungsvariablen, um eine Verbindung zu Ihrer Cloud SQL-Instanz herzustellen, finden Sie unter Beispielanwendung konfigurieren und ausführen.
Sie können den Instanzverbindungsnamen, der als Secret gespeichert ist, direkt aus Secret Manager abrufen. So erhalten Sie einen flexiblen Workflow, mit dem Ihr Team diese vertraulichen Informationen auf mehrere Anwendungen verteilen und von einem zentralen Ort aus verwalten kann. Weitere Informationen zum Abrufen von Secrets aus Secret Manager finden Sie unter Secret mit Secret Manager erstellen.
Eine Anwendung benötigt die Informationen in den Secrets, um zu starten. Diese Informationen enthalten die Werte, die den Umgebungsvariablen zugeordnet sind, die für die Verbindung mit der Anwendung verwendet werden. Ihre Anwendung greift beim Start auf die Secrets zu und verwendet dann die Secrets, um eine Verbindung zu Cloud SQL zu konfigurieren. Wenn relevante Secrets in Secret Manager aktualisiert werden, müssen Sie die Anwendung möglicherweise neu starten.
SSL/TLS-Zertifikate
Wenn Sie eine Verbindung zu einer Cloud SQL-Instanz über eine öffentliche oder private IP-Adresse herstellen, sollten Sie ein TLS-Zertifikat (Transport Layer Security) verwenden, das Daten während der Übertragung sichert. Jedes TLS-Zertifikat enthält ein Zertifikat für einen öffentlichen Schlüssel und einen privaten Schlüssel. Weitere Informationen zum Konfigurieren von TLS-Zertifikaten finden Sie unter SSL/TLS-Zertifikate konfigurieren.
Sie können das TLS-Zertifikat, das Zertifikat für den öffentlichen Schlüssel und den privaten Schlüssel als Secrets speichern, um sie sicher zu speichern und für Ihr Team freizugeben. Weitere Informationen zum Erstellen und Zugreifen auf Secrets finden Sie unter Secret mit Secret Manager erstellen. Weitere Informationen zum Freigeben von Secrets finden Sie unter Zugriffssteuerung (IAM).
Szenarien der Notfallwiederherstellung
Wenn eine primäre Instanz in Cloud SQL fehlschlägt, können Sie ein Lesereplikat zur primären Instanz hochstufen. Nachdem das Lesereplikat zur primären Instanz wird, müssen Sie den Namen der Instanzverbindung entsprechend dieser Hochstufung aktualisieren. Wenn der Name der Instanzverbindung in einem Secret gespeichert ist, müssen Sie das Secret mit dem Namen der neuen primären Instanz aktualisieren. Weitere Informationen finden Sie unter Secret bearbeiten.
Eine Möglichkeit, Secret Manager für Failover zu verwenden, besteht darin, den Namen Ihrer primären Instanz in einem Secret zu speichern und den Cloud SQL-Connector so zu konfigurieren, dass bei jeder Aktualisierung des Secrets aktualisiert wird.
Sie können das folgende Bash-Wrapper-Skript mit dem Cloud SQL-Auth-Proxy verwenden, um zu ermitteln, wann der Wert für den Instanzverbindungsnamen aktualisiert wurde, und den Proxy dann mit dem neuen Wert neu zu starten:
Weitere Informationen zum Erstellen eines Secrets und zum Zugriff auf ein Secret, das den Instanzverbindungsnamen des primären Replikats enthält, finden Sie unter Secret mit Secret Manager erstellen. Weitere Informationen zur Verwendung des Cloud SQL-Authentifizierungsproxys finden Sie unter Verbindung zum Cloud SQL-Authentifizierungsproxy herstellen.
Nächste Schritte
- Sie können Secret Manager in andere Google Cloud-Produkte wie Cloud Run einbinden.
- Weitere Informationen zum Schutz Ihrer Secrets in Containerumgebungen finden Sie unter Secrets verwenden.
- Eine Liste anderer Google Cloud-Produkte, die in Secret Manager eingebunden werden können, finden Sie unter Secret Manager mit anderen Produkten verwenden.
- Informationen zum Einbinden von Secret Manager in Ihre Entwicklungsumgebung finden Sie in den verschiedenen Beispielen auf der Seite Alle Secret Manager-Codebeispiele.