Informazioni sul proxy di autenticazione AlloyDB

Questa pagina fornisce una panoramica del proxy di autenticazione AlloyDB, un connettore che 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 dei client direttamente ai database AlloyDB:

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

  • Autenticazione IAM automatica. Il proxy di autenticazione può autenticare automaticamente gli utenti del database in base al principal 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 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. L'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 (mTLS 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 autentica e autorizza le connessioni

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 Cloud AlloyDB Client (roles/alloydb.client) e Consumer di Service Usage (roles/serviceusage.serviceUsageConsumer).

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

Autenticazione standard

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

  • Sviluppo locale. Quando sviluppi localmente, puoi eseguire l'autenticazione utilizzando il tuo account utente Google personale o aziendale. Il client Auth Proxy 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 dell'account di servizio.

  • 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 dell'account di servizio collegato vengono fornite automaticamente dal server di metadati dell'ambiente. Il client Auth Proxy rileva e utilizza automaticamente queste credenziali senza configurazione aggiuntiva.

    • Se la risorsa di calcolo 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 calcolo e l'istanza AlloyDB si trovano in progetti diversi, devi aggiungere il account di servizio della risorsa di calcolo al progetto contenente l'istanza AlloyDB e concedergli i ruoli richiesti.

Override delle credenziali

In scenari specifici, ad esempio test, esecuzione al di fuori di Google Cloudo quando vuoi ignorare le credenziali dell'ambiente standard, puoi sostituire le 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 preferisci una delle origini standard quando possibile.

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

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

Per ulteriori informazioni su come configurare queste credenziali sul client, consulta Connessione tramite il proxy di autenticazione AlloyDB. Per informazioni generali sull'approccio di Google Cloud all'autenticazione, consulta la panoramica dell'autenticazione.

Passaggi successivi