Informazioni sul proxy di autenticazione AlloyDB

Questa pagina fornisce una panoramica di AlloyDB Auth Proxy, un connettore che ti consente di effettuare connessioni autorizzate e criptate ai database AlloyDB.

Per una guida passo passo all'utilizzo del proxy di autenticazione, consulta Connessione tramite il proxy di autenticazione AlloyDB.

Panoramica

Il proxy di autenticazione offre i seguenti vantaggi rispetto alla connessione dei client direttamente ai database AlloyDB:

  • Autorizzazione delle connessioni basata su IAM (AuthZ): il proxy di autenticazione utilizza le credenziali e le autorizzazioni di un'entità IAM per autorizzare le connessioni alle istanze AlloyDB.

  • Comunicazione sicura e criptata: il proxy di autenticazione crea, utilizza e gestisce automaticamente una connessione TLS 1.3 utilizzando un cifrario AES a 256 bit tra il client e un'istanza AlloyDB per verificare le identità del client e del server e criptare il traffico di dati.

Per ulteriori informazioni su come connetterti alle istanze AlloyDB, consulta Panoramica della connessione.

Come funziona il proxy di autenticazione AlloyDB

Il proxy di autenticazione AlloyDB funziona con un client locale in esecuzione nell'ambiente locale. L'applicazione comunica con il proxy di autenticazione AlloyDB con il protocollo di database standard utilizzato dal database.

Il proxy di autenticazione AlloyDB utilizza un tunnel sicuro (TLS 1.3, crittografia AES a 256 bit) per comunicare con il processo complementare in esecuzione sul server. Ogni connessione stabilita tramite il proxy di autenticazione AlloyDB crea una connessione all'istanza AlloyDB.

Quando un'applicazione si connette al proxy di autenticazione AlloyDB, controlla se è disponibile una connessione tra l'applicazione e l'istanza AlloyDB di destinazione. Se non esiste una connessione, chiama le API di amministrazione AlloyDB per ottenere un certificato SSL temporaneo e lo utilizza per connettersi ad AlloyDB. I certificati SSL effimeri scadono dopo 24 ore. Il proxy di autenticazione AlloyDB aggiorna questi certificati prima della scadenza.

Sebbene il proxy di autenticazione AlloyDB possa ascoltare su qualsiasi porta, crea connessioni in uscita o di flusso in uscita all'istanza AlloyDB solo sulla porta 5433. Poiché il proxy di autenticazione AlloyDB chiama le API tramite il nome di dominio alloydb.googleapis.com, che non ha un indirizzo IP fisso, tutte le connessioni TCP in uscita sulla porta 443 devono essere consentite. Se il computer client ha un criterio del firewall in uscita, assicurati che consenta le connessioni in uscita alla porta 5433 sull'IP dell'istanza AlloyDB.

In che modo il proxy di autenticazione AlloyDB autorizza le entità IAM

Per autorizzare la connessione di un client a un'istanza AlloyDB, il client proxy di autenticazione si autentica su Google Cloud utilizzando le credenziali dell'entità IAM sul client, quindi convalida che l'entità IAM disponga dei ruoli IAM Client Cloud AlloyDB (roles/alloydb.client) e Consumer di utilizzo del servizio (roles/serviceusage.serviceUsageConsumer).

Per individuare le credenziali IAM sul client, il client Auth Proxy controlla ciascuno dei seguenti elementi, utilizzando il primo trovato per tentare di autenticarsi in Google Cloud:

  1. Credenziali fornite dal flag --credentials-file

    Utilizza un account di servizio per creare e scaricare il file della chiave JSON associato e imposta il flag --credentials-file sul percorso del file quando avvii il client Auth Proxy. L'account di servizio deve disporre dei ruoli IAM Client Cloud AlloyDB (roles/alloydb.client) e Consumer di utilizzo del servizio (roles/serviceusage.serviceUsageConsumer) per l'istanza AlloyDB.

    Per utilizzare questa opzione sulla riga di comando, invoca il comando alloydb-auth-proxy con il flag --credentials-file impostato sul percorso e sul nome di un file di credenziali JSON. Il percorso può essere assoluto o relativo alla directory di lavoro corrente.

  2. Credenziali fornite dal flag --token

    Crea un token di accesso e invoca il comando alloydb-auth-proxy con il flag --token impostato su un token di accesso OAuth 2.0.

  3. Credenziali fornite da una variabile di ambiente

    Questa opzione è simile all'utilizzo del flag --credentials-file, tranne per il fatto che specifichi il file delle credenziali JSON impostato nella variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS anziché utilizzare il flag --credentials-file.

  4. Credenziali di un client Google Cloud CLI autenticato

    Se hai installato gcloud CLI e hai eseguito l'autenticazione con il tuo account personale, il client Auth Proxy può utilizzare le stesse credenziali dell'account. Questo metodo è particolarmente utile per configurare un ambiente di sviluppo.

    Se non è stato selezionato alcun account per gcloud auth login, il client Auth Proxy controlla se è stato selezionato un account per gcloud auth application-default login.

  5. Le credenziali associate all'istanza Compute Engine

    Se ti connetti ad AlloyDB da un'istanza Compute Engine, il client Auth Proxy può utilizzare l'account di servizio associato all'istanza Compute Engine. Se l'account di servizio dispone dei ruoli IAM Client Cloud AlloyDB (roles/alloydb.client) e Consumer di utilizzo del servizio (roles/serviceusage.serviceUsageConsumer) per l'istanza AlloyDB, il client Auth Proxy si autentica correttamente.

    Se l'istanza Compute Engine si trova nello stesso progetto dell'istanza AlloyDB, l'account di servizio predefinito per l'istanza Compute Engine dispone delle autorizzazioni necessarie per autenticare AlloyDB. Se le due istanze si trovano in progetti diversi, devi aggiungere l'account di servizio dell'istanza Compute Engine al progetto contenente l'istanza AlloyDB.

  6. Service account predefinito dell'ambiente

    Se il client Auth Proxy non riesce a trovare le credenziali in nessuno dei luoghi trattati in precedenza, segue la logica descritta in Autenticazione come account di servizio. Alcuni ambienti (come Compute Engine, App Engine e altri) forniscono un account di servizio predefinito che l'applicazione può utilizzare per l'autenticazione per impostazione predefinita. Se utilizzi un account di servizio predefinito, questo deve disporre dei ruoli IAM Cloud AlloyDB Client (roles/alloydb.client) e Consumer di utilizzo del servizio (roles/serviceusage.serviceUsageConsumer).

    Per ulteriori informazioni sull'approccio di Google Cloud all'autenticazione, consulta la Panoramica dell'autenticazione.

Passaggi successivi