Informazioni sul proxy di autenticazione AlloyDB

Questa pagina fornisce una panoramica del proxy di autenticazione AlloyDB, un connettore che ti consente di stabilire 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.

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 IAM (AuthZ): il proxy di autenticazione utilizza le credenziali e le autorizzazioni di unIdentity and Access Management;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 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 la 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. La tua applicazione comunica con il proxy di autenticazione AlloyDB con il protocollo di database standard utilizzato dal tuo 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 esistente tra l'applicazione e l'istanza AlloyDB di destinazione. Se una connessione non esiste, chiama le API AlloyDB Admin per ottenere un certificato SSL effimero e lo utilizza per connettersi ad AlloyDB. I certificati SSL effimeri scadono dopo 24 ore. Il proxy di autenticazione AlloyDB aggiorna questi certificati prima che scadano.

Il proxy di autenticazione AlloyDB chiama le API tramite il nome di dominio alloydb.googleapis.com utilizzando HTTPS. Di conseguenza, tutte le connessioni TCP in uscita sulla porta 443 (HTTPS) dalla macchina client devono essere consentite dal firewall.

Anche se il proxy di autenticazione AlloyDB può ascoltare su qualsiasi porta, crea connessioni in uscita o di uscita all'istanza AlloyDB solo sulla porta 5433. Se l'host client ha un firewall in uscita, deve consentire le connessioni alla porta 5433 sull'indirizzo IP dell'istanza AlloyDB. L'host client deve anche consentire le connessioni alla porta 443, che è la porta HTTPS standard, a tutti gli indirizzi IP.

Come il proxy di autenticazione AlloyDB autorizza le entità IAM

Per autorizzare la connessione di un client a un'istanza AlloyDB, il client Auth Proxy esegue l'autenticazione su Google Cloud utilizzando le credenziali dell'entità IAM sul client, quindi verifica 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 che trova per tentare l'autenticazione a Google Cloud:

  1. Credenziali fornite dal flag --credentials-file

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

    Per utilizzare questa opzione dalla riga di comando, richiama il comando alloydb-auth-proxy con il flag --credentials-file impostato sul percorso e sul nome file di un file delle 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 richiama 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 devi specificare 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 se abiliti il flag --gcloud-auth. Questo metodo è particolarmente utile per configurare e avviare un ambiente di sviluppo.

    Se non è stato selezionato alcun account per gcloud auth login, il client Auth Proxy verifica la presenza di un account selezionato per gcloud auth application-default login. Questo è il comportamento predefinito quando non attivi il flag --gcloud-auth.

  5. Credenziali associate all'istanza Compute Engine

    Se ti connetti ad AlloyDB da un'istanza Compute Engine, il client Auth Proxy può utilizzare ilaccount di serviziot associato all'istanza Compute Engine. Se il account di servizio dispone dei ruoli Identity and Access Management (IAM) Cloud AlloyDB Client (roles/alloydb.client) e Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) per l'istanza AlloyDB, l'autenticazione del client Auth Proxy va a buon fine.

    Se l'istanza Compute Engine si trova nello stesso progetto dell'istanza AlloyDB, il account di servizio predefinito per l'istanza Compute Engine dispone delle autorizzazioni necessarie per l'autenticazione di AlloyDB. Se le due istanze si trovano in progetti diversi, devi aggiungere il service account 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 documentata in Autenticarsi come service account. 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, deve disporre dei ruoli IAM Client AlloyDB Cloud (roles/alloydb.client) e Consumer utilizzo servizi (roles/serviceusage.serviceUsageConsumer).

    Per saperne di più sull'approccio di Google Cloud all'autenticazione, consulta la panoramica sull'autenticazione.

Passaggi successivi