En esta página se describe cómo usar AlloyDB para PostgreSQL con Secret Manager para almacenar información de acceso sensible.
Gestionar de forma segura tu información sensible es una parte esencial para crear un flujo de trabajo de desarrollo seguro. En AlloyDB, te recomendamos que almacenes tu información sensible como secretos que crees en Secret Manager. Los secretos incluyen claves de API, contraseñas, información sensible y credenciales que puedes usar para acceder a un sistema confidencial.
Información general
Secret Manager ofrece comodidad y mejora la seguridad. También puedes aplicar versiones a tus secretos y compartirlos con tu equipo. Para obtener más información sobre cómo compartir secretos con tu equipo, consulta Control de acceso con IAM.
nombres de usuario y contraseñas,
Usar Secret Manager para almacenar los nombres de usuario y las contraseñas de tus cuentas de usuario de AlloyDB como secretos es una forma segura y fiable de gestionar tu información sensible.
Primero, crea un usuario en AlloyDB. Para ello, debes proporcionar un nombre de usuario y una contraseña. Para obtener más información sobre cómo crear un usuario en AlloyDB, consulta Gestionar usuarios de PostgreSQL con autenticación integrada.
Después de crear el usuario, crea un secreto en Secret Manager para almacenar el nombre de usuario y la contraseña, lo que evita que se pierda tu información sensible. Para obtener más información sobre cómo crear y acceder a secretos en Secret Manager, consulta Crear un secreto.
Situaciones de réplicas entre regiones
Si falla un clúster de AlloyDB principal, puedes promover un clúster secundario. Una vez que el clúster secundario se convierta en el clúster principal, deberá actualizar el nombre de conexión de la instancia para reflejar este cambio. Si el nombre de la instancia se almacena en un secreto, debes actualizarlo con el nombre del nuevo clúster principal. Para obtener más información, consulta Editar un secreto.
Una forma de usar Secret Manager para las conmutaciones por error es almacenar el nombre de tu clúster principal en un secreto y, a continuación, envolver la invocación de AlloyDB Auth Proxy en una secuencia de comandos que sondee Secret Manager.
Para detectar cuándo se actualiza el valor del nombre de conexión de la instancia, usa el proxy de autenticación de AlloyDB y, a continuación, reinícialo con el nuevo valor, como se indica a continuación:
#!/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
Para obtener más información sobre cómo crear y acceder a un secreto que contenga el nombre de conexión de la instancia de la réplica principal, consulta Crear y acceder a un secreto con Secret Manager. Para obtener más información sobre cómo usar el proxy de autenticación de AlloyDB, consulta Conectarse mediante el proxy de autenticación de AlloyDB.
Siguientes pasos
- Para saber cómo integrar Secret Manager con tu entorno de desarrollo, consulta los distintos ejemplos disponibles en la página Todos los códigos de ejemplo de Secret Manager.