Connettiti ad AlloyDB per PostgreSQL
In qualità di amministratore BigQuery, puoi creare connection per accedere Dati AlloyDB. Questa connessione consente agli analisti di dati di eseguire query in AlloyDB.
Per connetterti ad AlloyDB, devi eseguire i seguenti passaggi:
Prima di iniziare
- Abilita l'API BigQuery Connection.
-
Per ottenere le autorizzazioni necessarie per creare una connessione AlloyDB, chiedi all'amministratore di concederti Ruolo IAM Amministratore connessione BigQuery (
roles/bigquery.connectionAdmin
) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
Crea una connessione AlloyDB
Come best practice, utilizza le connessioni per gestire le credenziali del database quando ti colleghi ad AlloyDB. Le connessioni vengono criptate e archiviate in modo sicuro nel Servizio di connessione BigQuery. Se le credenziali utente sono valide per altri dati dell'origine, puoi riutilizzare la connessione. Ad esempio, puoi utilizzare una connessione per eseguire query sullo stesso database in un'istanza AlloyDB più volte.
Seleziona una delle seguenti opzioni per creare una connessione AlloyDB:
Console
Vai alla pagina BigQuery.
Nel riquadro Explorer, fai clic su
Aggiungi dati.Nella finestra di dialogo Aggiungi dati, fai clic su Connessioni a origini dati esterne:
Nella finestra di dialogo Origine dati esterna, inserisci le seguenti informazioni:
- Per Tipo di connessione, seleziona AlloyDB.
- In ID connessione, inserisci un identificatore per la connessione.
risorsa. Sono consentiti lettere, numeri e trattini bassi. Ad esempio:
bq_alloydb_connection
. - Per Località dei dati, seleziona un'istanza BigQuery località (o regione) compatibile con la regione esterna dell'origine dati.
- (Facoltativo) In Nome visualizzato, inserisci un nome intuitivo per la connessione, ad esempio
My connection resource
. Il nome visualizzato può essere qualsiasi valore che ti aiuti a identificare la risorsa di connessione se devi modificarla in un secondo momento. - (Facoltativo) Per Descrizione, inserisci una descrizione. risorsa di connessione.
- (Facoltativo) Crittografia Se vuoi utilizzare una chiave di crittografia gestita dal cliente (CMEK) per criptare le tue credenziali, seleziona Chiave di crittografia gestita dal cliente (CMEK) e poi una chiave gestita dal cliente. In caso contrario, le tue credenziali sono protette dalla chiave predefinita di proprietà di Google e gestita da Google.
- In Nome database, inserisci il nome del database.
- In Nome utente database, inserisci il nome utente del database.
- In Password database, inserisci la password del database.
- (Facoltativo) Per visualizzare la password, fai clic su Mostra password.
In Istanza AlloyDB, inserisci l'URI di connessione di AlloyDB principale o di lettura con il prefisso //alloydb.googleapis.com.
- URI di esempio:
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- URI di esempio:
Fai clic su Crea connessione.
Fai clic su Vai alla connessione.
Nel riquadro Informazioni connessione, copia l'ID account di servizio da utilizzare nella passaggio successivo per concedere le autorizzazioni IAM corrette.
bq
Inserisci il comando bq mk
.
con i seguenti flag:
bq mk \
--connection \
--location=LOCATION \
--project_id=PROJECT_ID \
--connector_configuration '{
"connector_id": "google-alloydb",
"asset": {
"database": "DATABASE",
"google_cloud_resource": "RESOURCE_PATH"
},
"authentication": {
"username_password": {
"username": "USERNAME",
"password": {
"plaintext": "PASSWORD"
}
}
}
}' \
CONNECTION_ID
Sostituisci quanto segue:
LOCATION
: specifica una regione del set di dati BigQuery da combinare con i dati di AlloyDB. Query che utilizzano la connessione deve essere eseguita da questa regione.PROJECT_ID
: inserisci l'ID progetto Google Cloud.DATABASE
: inserisci il nome del database.RESOURCE_PATH
: inserisci l'URI di connessione dell'istanza principale o di lettura AlloyDB con il prefisso //alloydb.googleapis.com.- URI di esempio:
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- URI di esempio:
USERNAME
: inserisci il nome dell'utente del database.PASSWORD
: inserisci la password dell'utente del database.CONNECTION_ID
: inserisci un ID connessione per identificarlo connessione.
API
Nell'API BigQuery Connection, puoi invocare CreateConnection
all'interno di ConnectionService
per creare un'istanza di una connessione. Per ulteriori dettagli, consulta la pagina della libreria client.
Concedi l'accesso all'account di servizio
Un account di servizio viene creato automaticamente quando creare la prima connessione all'interno di un progetto. Il nome dell'account di servizio è Agente di servizio di connessione BigQuery. L'ID dell'account di servizio è seguente formato:
service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
.
Per connetterti ad AlloyDB, devi concedere alla nuova connessione l'accesso ad AlloyDB, in modo che BigQuery possa accedere ai dati per conto degli utenti. L'account di servizio deve avere la seguente autorizzazione:
alloydb.instances.connect
Puoi concedere all'account di servizio associato alla connessione il ruolo IAM client AlloyDB, a cui è già assegnata questa autorizzazione. Puoi omettere questo passaggio se l'account di servizio dispone già dell'autorizzazione richiesta.
Console
Vai alla sezione IAM e Console di amministrazione.
Fai clic su
Concedi l'accesso.Viene visualizzata la finestra di dialogo Aggiungi entità.
Nel campo Nuove entità, inserisci il nome dell'account di servizio Agente di servizio connessione BigQuery o l'ID account di servizio preso da le informazioni di connessione.
Nel campo Seleziona un ruolo, seleziona AlloyDB, quindi seleziona Client AlloyDB.
Fai clic su Salva.
gcloud
Utilizza il comando
gcloud projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:SERVICE_ACCOUNT_ID --role=roles/alloydb.client
Fornisci i seguenti valori:
PROJECT_ID
: l'ID del tuo progetto Google Cloud.SERVICE_ACCOUNT_ID
: sostituisci il numero di progetto inservice-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
e usala.
Condividere le connessioni con gli utenti
Puoi concedere i ruoli seguenti per consentire agli utenti di eseguire query sui dati e gestire le connessioni:
roles/bigquery.connectionUser
: consente agli utenti di utilizzare le connessioni per collegarsi a origini dati esterne ed eseguire query su di esse.roles/bigquery.connectionAdmin
: consente agli utenti di gestire le connessioni.
Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina BigQuery.
Le connessioni sono elencate nel progetto, in un gruppo denominato Connessioni esterne.
Nel riquadro Explorer, fai clic sul nome del tuo progetto. > Connessioni esterne > Connessione.
Nel riquadro Dettagli, fai clic su Condividi per condividere una connessione. Quindi:
Nella finestra di dialogo Autorizzazioni di connessione, condividi la connessione con altre entità aggiungendole o modificandole.
Fai clic su Salva.
bq
Utilizza il seguente comando set-iam-policy
:
bq set-iam-policy RESOURCE FILE_NAME
Sostituisci quanto segue:
RESOURCE
: inserisci il nome della risorsa nel formatoproject_id.region.connection_id
oregion.connection_id
.FILE_NAME
: inserisci il nome file che contiene il criterio IAM in formato JSON.
Per saperne di più sul comando set-iam-policy, consulta Controllare l'accesso alle risorse con IAM.
API
Utilizza la
Metodo projects.locations.connections.setIAM
nella sezione di riferimento dell'API REST di BigQuery Connections
fornisce un'istanza della risorsa policy
.
Passaggi successivi
- Scopri di più sui diversi tipi di connessione.
- Scopri di più sulla gestione delle connessioni.
- Scopri di più sulle query federate.
- Scopri come eseguire query sui dati di AlloyDB.