Cette page explique comment utiliser AlloyDB pour PostgreSQL avec Secret Manager pour stocker des informations d'accès sensibles.
La gestion sécurisée de vos informations sensibles est un élément essentiel dans la définition d'un workflow de développement sécurisé. Pour AlloyDB, nous vous recommandons de stocker vos informations sensibles sous forme de secrets que vous créez dans Secret Manager. Les secrets incluent les clés API, les mots de passe, les informations sensibles et les identifiants que vous êtes susceptible d'utiliser pour accéder à un système confidentiel.
Présentation
Secret Manager offre plus de commodité et améliore la sécurité. Vous pouvez également appliquer la gestion des versions à vos secrets et les partager au sein de votre équipe. Pour savoir comment partager des secrets avec votre équipe, consultez Contrôle des accès avec IAM.
votre nom d'utilisateur et votre mot de passe ;
L'utilisation de Secret Manager pour stocker les noms d'utilisateur et les mots de passe de vos comptes utilisateur AlloyDB en tant que secrets est un moyen sûr et fiable de gérer vos informations sensibles.
Commencez par créer un utilisateur dans AlloyDB. Pour cela, vous devez fournir un nom d'utilisateur et un mot de passe. Pour savoir comment créer un utilisateur dans AlloyDB, consultez Gérer les utilisateurs PostgreSQL avec l'authentification intégrée.
Une fois l'utilisateur créé, créez un secret dans Secret Manager pour stocker le nom d'utilisateur et le mot de passe, ce qui empêche la perte de vos informations sensibles. Pour savoir comment créer des secrets et y accéder dans Secret Manager, consultez Créer un secret.
Scénarios d'instances répliquées interrégionales
En cas de défaillance d'un cluster AlloyDB principal, vous pouvez promouvoir un cluster secondaire. Une fois que le cluster secondaire devient le cluster principal, vous devez mettre à jour le nom de connexion de l'instance pour refléter cette promotion. Si le nom de l'instance est stocké dans un secret, vous devez mettre à jour ce secret avec le nom du nouveau cluster principal. Pour en savoir plus, consultez Modifier un secret.
L'une des méthodes d'utilisation de Secret Manager dans le cadre d'un basculement consiste à stocker le nom de votre cluster principal dans un secret, puis à encapsuler l'appel du proxy d'authentification AlloyDB dans un script qui interroge Secret Manager.
Pour détecter le moment auquel la valeur du nom de connexion de l'instance est mise à jour, utilisez le proxy d'authentification AlloyDB, puis redémarrez-le avec la nouvelle valeur, comme suit :
#!/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
Pour savoir comment créer un secret contenant le nom de connexion de l'instance répliquée devenue instance principale, et y accéder, consultez Créer un secret et y accéder avec Secret Manager. Pour en savoir plus sur l'utilisation du proxy d'authentification AlloyDB, consultez Se connecter à l'aide du proxy d'authentification AlloyDB.
Étapes suivantes
- Pour découvrir comment intégrer Secret Manager à votre environnement de développement, consultez les différents exemples disponibles sur la page Tous les exemples de code Secret Manager.