Connettiti ad AlloyDB per PostgreSQL

In qualità di amministratore BigQuery, puoi creare una connessione per accedere ai dati AlloyDB. Questa connessione consente agli analisti di dati di eseguire query sui dati in AlloyDB.

Per connetterti ad AlloyDB, devi eseguire questi passaggi:

  1. Crea una connessione AlloyDB.

  2. Concedi l'accesso all'account di servizio.

Prima di iniziare

  1. Abilitare l'API BigQuery Connection.

    Abilitare l'API

  2. Per ottenere le autorizzazioni necessarie per creare una connessione AlloyDB, chiedi all'amministratore di concederti il ruolo IAM Amministratore connessione BigQuery (roles/bigquery.connectionAdmin) per il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea una connessione AlloyDB

Come best practice, usa le connessioni per gestire le credenziali del database quando ti connetti ad AlloyDB. Le connessioni sono criptate e archiviate in modo sicuro nel servizio di connessione BigQuery. Se le credenziali utente sono valide per altri dati nell'origine, puoi riutilizzare la connessione. Ad esempio, puoi utilizzare una singola connessione per eseguire più volte query sullo stesso database in un'istanza AlloyDB.

Seleziona una delle seguenti opzioni per creare una connessione AlloyDB:

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. Le query che utilizzano questa connessione devono essere eseguite 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 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
  • USERNAME: inserisci il nome utente del database.
  • PASSWORD: inserisci la password dell'utente del database.
  • CONNECTION_ID: inserisci un ID connessione per identificare questa connessione.

API

All'interno dell'API BigQuery Connection, puoi richiamare CreateConnection in ConnectionService per creare un'istanza di 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 crei 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 ha il 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à stata assegnata questa autorizzazione. Puoi omettere questo passaggio se l'account di servizio dispone già dell'autorizzazione richiesta.

Console

  1. Vai alla pagina IAM e amministrazione.

    Vai a IAM e amministrazione

  2. Fai clic su Concedi l'accesso.

    Viene visualizzata la finestra di dialogo Aggiungi entità.

  3. Nel campo Nuove entità, inserisci il nome dell'account di servizio Agente di servizio connessione BigQuery o l'ID account di servizio recuperato dalle informazioni di connessione.

  4. Nel campo Seleziona un ruolo, seleziona AlloyDB, quindi seleziona Client AlloyDB.

  5. 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 in service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com e utilizzalo.

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 connettersi con origini dati esterne ed eseguire query su queste.

  • roles/bigquery.connectionAdmin: consente agli utenti di gestire le connessioni.

Per ulteriori informazioni su ruoli e autorizzazioni IAM in BigQuery, vedi Ruoli e autorizzazioni predefiniti.

Seleziona una delle seguenti opzioni:

bq

Utilizza questo comando set-iam-policy:

  bq set-iam-policy RESOURCE FILE_NAME

Sostituisci quanto segue:

  • RESOURCE: inserisci il nome della risorsa nel formato project_id.region.connection_id o region.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 il metodo projects.locations.connections.setIAM nella sezione di riferimento dell'API REST di BigQuery Connections e fornisci un'istanza della risorsa policy.

Passaggi successivi