Auf dieser Seite wird beschrieben, wie Sie AlloyDB for PostgreSQL mit Secret Manager verwenden, um vertrauliche Zugriffsinformationen zu speichern.
Der sichere Umgang mit vertraulichen Informationen ist ein wesentlicher Bestandteil der Erstellung eines sicheren Entwicklungsworkflows. Für AlloyDB 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 und Anmeldedaten, mit denen Sie auf ein vertrauliches System zugreifen können.
Übersicht
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 mit IAM.
Nutzernamen und Passwörter
Wenn Sie Nutzernamen und Passwörter Ihrer AlloyDB-Nutzerkonten als Secrets speichern, können Sie diese vertraulichen Informationen sicher und zuverlässig verwalten.
Erstellen Sie zuerst einen Nutzer in AlloyDB. Dazu müssen Sie einen Nutzernamen und ein Passwort angeben. Weitere Informationen zum Erstellen eines Nutzers in AlloyDB finden Sie unter PostgreSQL-Nutzer mit integrierter Authentifizierung verwalten.
Erstellen Sie nach der Erstellung des Nutzers ein Secret im Secret Manager, um den Nutzernamen und das Passwort zu speichern. So verhindern Sie den Verlust Ihrer vertraulichen Informationen. Weitere Informationen zum Erstellen und Zugreifen auf Secrets in Secret Manager finden Sie unter Secret erstellen.
Szenarien für regionsübergreifende Replikate
Wenn ein primärer AlloyDB-Cluster ausfällt, können Sie einen sekundären Cluster hochstufen. Nachdem der sekundäre Cluster zum primären Cluster wird, müssen Sie den Namen der Instanzverbindung entsprechend dieser Hochstufung aktualisieren. Wenn der Instanzname in einem Secret gespeichert ist, müssen Sie das Secret mit dem Namen des neuen primären Clusters aktualisieren. Weitere Informationen finden Sie unter Secret bearbeiten.
Eine Möglichkeit, Secret Manager für Failover zu verwenden, besteht darin, den Namen Ihres primären Clusters in einem Secret zu speichern und den AlloyDB Auth Proxy-Aufruf in ein Script einzubetten, das Secret Manager abfragt.
Um zu erkennen, wann der Wert für den Instanzverbindungsnamen aktualisiert wird, verwenden Sie den AlloyDB Auth-Proxy und starten Sie ihn dann mit dem neuen Wert neu:
#!/bin/bash
SECRET_ID="my-secret-id" # TODO(developer): replace this value
REFRESH_INTERVAL=5
PORT=5432 # TODO(developer): change this port as needed
# Get the latest version of the secret and start the proxy
INSTANCE=$(gcloud secrets versions access "latest" --secret="$SECRET_ID")
alloydb-auth-proxy $INSTANCE --port=$PORT &
PID=$!
# Every 5s, get the latest version of the secret. If it's changed, restart the
# proxy with the new value.
while true; do
sleep $REFRESH_INTERVAL
NEW=$(gcloud secrets versions access "latest" --secret="$SECRET_ID")
if [ "$INSTANCE" != "$NEW" ]; then
INSTANCE=$NEW
kill $PID
wait $PID
alloydb-auth-proxy $INSTANCE --port=$PORT &
PID=$!
fi
done
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 und aufrufen. Weitere Informationen zur Verwendung des AlloyDB Auth-Proxys finden Sie unter Verbindung mit dem AlloyDB Auth-Proxy herstellen.
Nächste Schritte
- Informationen zum Einbinden von Secret Manager in Ihre Entwicklungsumgebung finden Sie in den verschiedenen Beispielen auf der Seite Alle Secret Manager-Codebeispiele.