Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa pagina fornisce una panoramica del proxy di autenticazione AlloyDB, un connettore che ti consente di stabilire connessioni autorizzate e criptate ai database 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.
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:
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.
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.
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.
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.
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.
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).
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-05 UTC."],[[["\u003cp\u003eThe AlloyDB Auth Proxy enables secure, encrypted connections to AlloyDB databases using IAM-based authorization.\u003c/p\u003e\n"],["\u003cp\u003eIt provides advantages over direct connections by using IAM credentials for authorization and establishing TLS 1.3 encrypted connections with a 256-bit AES cipher.\u003c/p\u003e\n"],["\u003cp\u003eThe Auth Proxy runs a local client that communicates with the application using standard database protocols and establishes connections to AlloyDB via secure tunnels.\u003c/p\u003e\n"],["\u003cp\u003eThe Auth Proxy automatically manages and refreshes ephemeral SSL certificates, which expire every 24 hours.\u003c/p\u003e\n"],["\u003cp\u003eThe AlloyDB Auth Proxy supports various methods for locating IAM credentials, including service account JSON key files, OAuth 2.0 access tokens, environment variables, gcloud CLI credentials, and Compute Engine instance credentials.\u003c/p\u003e\n"]]],[],null,["# About the AlloyDB Auth Proxy\n\nThis page provides an overview of the AlloyDB Auth Proxy, a connector that lets you\nmake authorized, encrypted connections to AlloyDB\ndatabases.\n\nFor a step-by-step guide to using the Auth Proxy, see [Connect using the AlloyDB Auth Proxy](/alloydb/docs/auth-proxy/connect).\n\nBenefits of using the AlloyDB Auth Proxy\n----------------------------------------\n\nThe Auth Proxy provides these advantages over connecting clients directly to\nAlloyDB databases:\n\n- **IAM-based connection authorization (AuthZ):** The Auth Proxy uses\n the credentials and permissions of an Identity and Access Management (IAM) principal to authorize connections to\n AlloyDB instances.\n\n- **Secure, encrypted communication:** The Auth Proxy automatically\n creates, uses, and maintains a TLS 1.3 connection\n using a 256-bit AES cipher\n between your client and an AlloyDB instance to verify client\n and server identities and encrypt data traffic.\n\nFor more information about to connecting to AlloyDB instances,\nsee [Connection overview](/alloydb/docs/connection-overview).\n\nHow the AlloyDB Auth Proxy works\n--------------------------------\n\nThe AlloyDB Auth Proxy works by having a local client running\nin the local environment. Your application communicates with the AlloyDB Auth Proxy\nwith the standard database protocol used by your database.\n\nThe AlloyDB Auth Proxy uses a secure tunnel (TLS 1.3,\n256-bit AES cipher) to\ncommunicate with its companion process\nrunning on the server. Each connection established through the AlloyDB Auth Proxy creates\none connection to the AlloyDB instance.\n\nWhen an application connects to the AlloyDB Auth Proxy, it checks whether an existing\nconnection between it and the target AlloyDB instance is available.\nIf a connection does not exist, it calls AlloyDB Admin APIs to obtain\nan ephemeral SSL certificate and uses it to connect to AlloyDB.\nEphemeral SSL certificates expire in 24 hours. The AlloyDB Auth Proxy refreshes\nthese certificates before they expire.\n\nThe AlloyDB Auth Proxy calls APIs through the domain name `alloydb.googleapis.com`\nusing HTTPS. As a result, all egress TCP connections on port 443 (HTTPS) from\nthe client machine must be allowed by your firewall.\n\nWhile the AlloyDB Auth Proxy can listen on any port, it creates outgoing or egress\nconnections to your AlloyDB instance only on port 5433. If your client\nhost has an outbound firewall, it must allow connections to port 5433 on your\nAlloyDB instance's IP address. The client host must also allow\nconnections to port 443, which is the standard HTTPS port, to all IP addresses.\n\nHow the AlloyDB Auth Proxy authorizes IAM principals\n----------------------------------------------------\n\nTo authorize a client's connection to an AlloyDB instance, the\nAuth Proxy client authenticates to Google Cloud using IAM principal\ncredentials on the client, and then validates that the IAM principal has the\nCloud AlloyDB Client (`roles/alloydb.client`) and Service Usage Consumer\n(`roles/serviceusage.serviceUsageConsumer`) IAM roles.\n\nTo locate the IAM credentials on the client, the Auth Proxy client checks\nfor each of the following items, using the first one it\nfinds to attempt authentication to Google Cloud:\n\n1. **Credentials supplied by the --credentials-file flag**\n\n Use a [service account](/alloydb/docs/auth-proxy/best-practices#using-a-service-account) to\n create and download the associated JSON key file, and set the\n `--credentials-file` flag to the path of the file when you start\n the Auth Proxy client.\n The service account must have the Cloud AlloyDB Client\n (`roles/alloydb.client`) and Service Usage Consumer\n (`roles/serviceusage.serviceUsageConsumer`)\n IAM roles for the AlloyDB instance.\n\n To use this option on the command-line, invoke the `alloydb-auth-proxy` command with\n the `--credentials-file` flag set to the path and filename of a JSON credential\n file. The path can be absolute, or relative to the current working directory.\n2. **Credentials supplied by the --token flag**\n\n [Create an\n access token](https://developers.google.com/oauthplayground/) and invoke the `alloydb-auth-proxy` command with the\n `--token` flag set to an OAuth 2.0 access token.\n3. **Credentials supplied by an environment variable**\n\n This option is similar to using the `--credentials-file` flag, except you specify\n the JSON credential file you set in the `GOOGLE_APPLICATION_CREDENTIALS` environment\n variable instead of using the `--credentials-file` flag.\n4. **Credentials from an authenticated Google Cloud CLI client**\n\n If you installed the [gcloud CLI](/sdk/gcloud)\n and have authenticated with your personal account, the Auth Proxy client\n can use the same account credentials if you enable the\n `--gcloud-auth` flag. This method is especially helpful for\n getting a development environment up and running.\n | To enable the Auth Proxy client to use your gcloud CLI credentials, use the `gcloud auth login` command to authenticate the gcloud CLI. To determine your current gcloud CLI credentials, use the `gcloud auth list` command.\n\n If no account was selected for `gcloud auth login`, the\n Auth Proxy client checks for an account that was selected for `gcloud\n auth application-default login`. This is the default behavior when you\n don't enable the `--gcloud-auth` flag.\n5. **Credentials associated with the Compute Engine instance**\n\n If you are connecting to AlloyDB from a Compute Engine instance, the\n Auth Proxy client can use the service account associated with the Compute Engine instance.\n If the service account has the Cloud AlloyDB Client\n (`roles/alloydb.client`) and Service Usage Consumer\n (`roles/serviceusage.serviceUsageConsumer`)\n Identity and Access Management (IAM) roles for the AlloyDB instance, the Auth Proxy client\n authenticates successfully.\n\n If the Compute Engine instance is in the same project as the AlloyDB\n instance, the default service account for the Compute Engine instance has the\n necessary permissions for authenticating the AlloyDB.\n If the two instances are in different projects, you must add the Compute Engine\n instance's service account to the project containing the AlloyDB\n instance.\n6. **Environment's default service account**\n\n If the Auth Proxy client cannot find credentials in any of the places covered earlier, it\n follows the logic documented in\n [Authenticating as a service account](/docs/authentication/production).\n Some environment (such as Compute Engine, App Engine, and others) provide a\n default service account that your application can use to authenticate by default. If\n you use a default service account, it must have the Cloud AlloyDB Client\n (`roles/alloydb.client`) and Service Usage Consumer\n (`roles/serviceusage.serviceUsageConsumer`) IAM roles.\n\n For more information about Google Cloud's approach to authentication, see\n [Authentication overview](/docs/authentication).\n\nWhat's next\n-----------\n\n- [Connect using the AlloyDB Auth Proxy](/alloydb/docs/auth-proxy/connect).\n- [Explore the Google Cloud GitHub repository for the AlloyDB Auth Proxy](https://github.com/GoogleCloudPlatform/alloydb-auth-proxy)."]]