Informazioni sul proxy di autenticazione AlloyDB

Il proxy di autenticazione AlloyDB è un connettore che ti consente di stabilire connessioni autorizzate e criptate ai tuoi database AlloyDB per PostgreSQL senza gestire i certificati SSL o configurare le regole del firewall. Per una guida passo passo all'utilizzo del proxy di autenticazione, consulta Connettiti utilizzando il proxy di autenticazione AlloyDB.

Vantaggi dell'utilizzo del proxy di autenticazione AlloyDB

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

  • Autorizzazione della connessione basata su Identity and Access Management (IAM). Il proxy di autenticazione utilizza le credenziali e le autorizzazioni di un'entità IAM per autorizzare le connessioni alle istanze AlloyDB.

  • Autenticazione IAM automatica. Il proxy di autenticazione può autenticare automaticamente gli utenti del database in base all'entità IAM che esegue il proxy.

  • Comunicazione sicura e criptata. Il proxy di autenticazione crea, utilizza e gestisce automaticamente una connessione mutual TLS (mTLS) 1.3 utilizzando una crittografia 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 saperne di più sulla connessione alle istanze AlloyDB, consulta Panoramica della connessione.

Come funziona il proxy di autenticazione AlloyDB

Il proxy di autenticazione AlloyDB viene eseguito come processo client locale (alloydb-auth-proxy) nel tuo ambiente applicativo e rimane in ascolto delle connessioni su localhost (per impostazione predefinita sulla porta TCP 5432) o su un socket di dominio Unix locale. La tua applicazione si connette a questo listener locale utilizzando driver e protocolli di rete PostgreSQL standard, mentre il client Auth Proxy inoltra il traffico tramite un tunnel criptato (mTLS 1.3 con un cifrario AES a 256 bit) al processo del server Auth Proxy associato in esecuzione sull'istanza AlloyDB. Ogni connessione stabilita tramite il proxy di autenticazione crea una connessione all'istanza AlloyDB.

Quando un'applicazione si connette al proxy di autenticazione, il proxy verifica se è disponibile una connessione esistente all'istanza AlloyDB di destinazione. Se non esiste una connessione, il proxy chiama l'API AlloyDB per ottenere un certificato SSL temporaneo e lo utilizza per stabilire il tunnel mTLS verso l'istanza. I certificati SSL temporanei scadono dopo 24 ore e il proxy di autenticazione li aggiorna automaticamente prima della scadenza.

Il proxy di autenticazione chiama l'API AlloyDB tramite il nome di dominio alloydb.googleapis.com su HTTPS. Di conseguenza, il firewall deve consentire le connessioni TCP in uscita sulla porta 443 (HTTPS) dalla macchina client.

Sebbene il proxy di autenticazione possa ascoltare localmente su qualsiasi porta, crea connessioni in uscita alla tua istanza AlloyDB solo sulla porta TCP 5433. Se l'host client ha un firewall in uscita, deve consentire le connessioni alla porta 5433 sull'indirizzo IP dell'istanza AlloyDB e alla porta 443 per tutti gli indirizzi IP.

Puoi utilizzare il proxy di autenticazione in tutti i percorsi di connettività di rete di AlloyDB:

  • Accesso privato ai servizi (predefinito): si connette all'indirizzo IP interno dell'istanza all'interno di una rete Virtual Private Cloud (VPC) in peering.
  • Private Service Connect: si connette tramite un endpoint Private Service Connect e un record DNS privato quando passi il flag --psc.
  • IP pubblico: si connette all'indirizzo IP pubblico dell'istanza quando passi il flag --public-ip. Poiché l'Auth Proxy autentica e cripta le connessioni utilizzando IAM e mTLS sulla porta 5433, non è necessario aggiungere l'indirizzo IP del client alle reti esterne autorizzate quando ti connetti tramite l'Auth Proxy.

Come il proxy di autenticazione AlloyDB autentica e autorizza le connessioni

Per autorizzare la connessione di un client a un'istanza AlloyDB, il client Auth Proxy esegue l'autenticazione in Google Cloud utilizzando le credenziali dell'entità IAM sul client, quindi convalida che l'entità IAM disponga dei ruoli IAM AlloyDB Client (roles/alloydb.client) e Service Usage Consumer (roles/serviceusage.serviceUsageConsumer).

Per impostazione predefinita, il client Auth Proxy utilizza le Credenziali predefinite dell'applicazione (ADC) per individuare le credenziali del client. In questo modo, le applicazioni possono autenticarsi automaticamente in modo unificato e standardizzato senza modificare o impostare come hardcoded i valori di configurazione.

Autenticazione standard

Per le configurazioni standard di sviluppo e produzione, non è necessario configurare credenziali o flag personalizzati. Il client proxy di autenticazione risolve automaticamente le credenziali utilizzando i percorsi dell'ambiente standard. A seconda dell'ambiente che utilizzi per eseguire il client proxy di autenticazione, le credenziali vengono individuate dalle seguenti origini:

  • Sviluppo locale. Quando sviluppi in locale, puoi autenticarti utilizzando il tuo account utente Google personale o aziendale. Il client proxy di autenticazione rileva e utilizza automaticamente queste credenziali. Questo è l'approccio consigliato per lo sviluppo locale, in quanto evita la necessità di scaricare localmente i file delle chiavi dei account di servizio. Per istruzioni end-to-end sulla configurazione di un ambiente di sviluppo locale, consulta Connettiti dal tuo laptop e Installa lo strumento a riga di comando psql.

  • Ambienti gestiti da Google. Quando esegui l'applicazione su un servizioGoogle Cloud , ad esempio istanze Compute Engine, Google Kubernetes Engine, Cloud Run, Cloud Run Functions o App Engine, le credenziali del account di servizio collegato vengono fornite automaticamente dal server dei metadati dell'ambiente. Il client proxy di autenticazione rileva e utilizza automaticamente queste credenziali senza ulteriori configurazioni.

    • Se la risorsa di computing si trova nello stesso progetto dell'istanza AlloyDB, il account di servizio predefinito in genere dispone delle autorizzazioni necessarie per l'autenticazione.
    • Se la risorsa di computing e l'istanza AlloyDB si trovano in progetti diversi, devi aggiungere il account di servizio della risorsa di computing al progetto contenente l'istanza AlloyDB e concedergli i ruoli richiesti.

Esegui l'override delle credenziali

In scenari specifici, ad esempio durante i test, l'esecuzione al di fuori diGoogle Cloudo quando vuoi bypassare le credenziali dell'ambiente standard, puoi eseguire l'override delle credenziali utilizzando uno dei seguenti metodi:

  • Una account di servizio account. Fornisci la chiave tramite la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS o il flag --credentials-file. Le chiavi dei service account rappresentano un rischio per la sicurezza se non vengono gestite correttamente, quindi, se possibile, preferisci una delle origini standard.

  • Un token di accesso OAuth 2.0 esistente. Fornisci il token tramite il flag --token.

  • Credenziali di gcloud CLI. Fornisci queste credenziali tramite il flag --gcloud-auth. Non consigliamo questo flag. Esegui invece gcloud auth application-default login.

Per saperne di più su come configurare queste credenziali sul client, consulta Connettiti utilizzando il proxy di autenticazione AlloyDB. Per informazioni generali sull'approccio di Google Cloud all'autenticazione, consulta la panoramica dell'autenticazione.

Passaggi successivi