Questa pagina descrive come utilizzare AlloyDB per PostgreSQL con Secret Manager per archiviare informazioni di accesso sensibili.
La gestione sicura delle informazioni sensibili è una parte essenziale della creazione di un flusso di lavoro di sviluppo sicuro. Per AlloyDB, ti consigliamo di archiviare le informazioni sensibili come secret che crei in Secret Manager. I secret includono chiavi API, password, informazioni sensibili e credenziali che potresti utilizzare per accedere a un sistema riservato.
Panoramica
Secret Manager offre praticità e migliora la sicurezza. Puoi anche applicare il controllo delle versioni ai tuoi segreti e condividerli con il tuo team. Per saperne di più su come condividere i secret con il tuo team, consulta Controllo dell'accesso con IAM.
Nomi utente e password
L'utilizzo di Secret Manager per archiviare i nomi utente e le password dei tuoi account utente AlloyDB come secret è un modo sicuro e affidabile per gestire le tue informazioni sensibili.
Innanzitutto, crea un utente in AlloyDB. Per farlo, devi fornire un nome utente e una password. Per saperne di più su come creare un utente in AlloyDB, consulta Gestire gli utenti PostgreSQL con l'autenticazione integrata.
Dopo aver creato l'utente, crea un secret in Secret Manager per archiviare il nome utente e la password, in modo da evitare la perdita delle tue informazioni sensibili. Per saperne di più su come creare e accedere ai secret in Secret Manager, consulta Crea un secret.
Scenari di replica tra regioni
Se un cluster AlloyDB primario non funziona, puoi promuovere un cluster secondario. Dopo che il cluster secondario diventa il cluster primario, devi aggiornare il nome della connessione dell'istanza per riflettere questa promozione. Se il nome dell'istanza è archiviato in un secret, devi aggiornarlo con il nome del nuovo cluster primario. Per saperne di più, vedi Modificare un secret.
Un modo per utilizzare Secret Manager per i failover è archiviare il nome del cluster principale in un secret, quindi racchiudere la chiamata di AlloyDB Auth Proxy in uno script che esegue il polling di Secret Manager.
Per rilevare quando il valore del nome della connessione dell'istanza viene aggiornato, utilizza il proxy di autenticazione AlloyDB e riavvialo con il nuovo valore, come segue:
#!/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
Per ulteriori informazioni su come creare e accedere a un secret che contiene il nome di connessione dell'istanza della replica primaria, consulta Creare e accedere a un secret utilizzando Secret Manager. Per saperne di più sull'utilizzo del proxy di autenticazione AlloyDB, consulta la sezione Connessione tramite il proxy di autenticazione AlloyDB.
Passaggi successivi
- Per scoprire come integrare Secret Manager con il tuo ambiente di sviluppo, consulta i vari esempi disponibili nella pagina Tutti gli esempi di codice di Secret Manager.