Imposta le autorizzazioni per le funzioni di AI generativa che chiamano i LLM di Vertex AI

Questo documento mostra come configurare le autorizzazioni per l'esecuzione di query di AI generativa. Le query di AI generativa contengono funzioni AI.* che chiamano modelli di base in Vertex AI; ad esempio, AI.GENERATE.

Esistono due modi per configurare le autorizzazioni per eseguire query che utilizzano le funzioni AI.*:

  • Esegui la query utilizzando le credenziali dell'utente finale
  • Crea una connessione BigQuery ML per eseguire la query utilizzando un account di servizio

Nella maggior parte dei casi, puoi utilizzare le credenziali dell'utente finale e lasciare l'argomento CONNECTION vuoto. Se è previsto che il tuo job di query venga eseguito per 48 ore o più, devi utilizzare una connessione BigQuery e includerla nell'argomento CONNECTION.

Esegui query di AI generativa con le credenziali dell'utente finale

Per eseguire query di AI generativa utilizzando le credenziali dell'utente finale, configura le autorizzazioni necessarie utilizzando la console Google Cloud . Tieni presente che se sei il proprietario del progetto, disponi già di tutte le autorizzazioni necessarie, quindi non devi fare nulla.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire un job di query che chiama un modello Vertex AI, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

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

Concedi i ruoli richiesti all'utente o al gruppo.

Puoi utilizzare la console Google Cloud per concedere i ruoli richiesti a un'entità. Il principal è l'utente o il gruppo che esegue la query che utilizza le funzioni AI.* per chiamare un modello di base Vertex AI.

  1. Nella console Google Cloud , vai alla pagina IAM.

    Vai a IAM

  2. Seleziona il progetto.

  3. Per concedere ruoli a un'entità:

    1. Vai alla pagina IAM e amministrazione.

      Vai a IAM e amministrazione

    2. Fai clic su Concedi l'accesso.

      Si apre la finestra di dialogo Aggiungi entità.

    3. Nel campo Nuove entità, inserisci l'identificatore dell'entità, ad esempio my-user@example.com o //iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.

    4. Nella sezione Assegna i ruoli, fai clic sulla freccia menu a discesa per Seleziona un ruolo.

    5. Cerca il ruolo Vertex AI User e selezionalo.

    6. Fai clic su Aggiungi un altro ruolo.

    7. Nella sezione Assegna i ruoli, fai clic sulla freccia menu a discesa per Seleziona un ruolo.

    8. Cerca o sfoglia il ruolo Utente job BigQuery e selezionalo.

    9. Fai clic su Salva.

      Fai clic su Salva per concedere i ruoli all'entità.

Per modificare i ruoli di un'entità che ha già ruoli nel progetto, vedi Concedere ruoli aggiuntivi alla stessa entità.

Per informazioni su altri metodi di concessione di ruoli a livello di progetto a un'entità, consulta Concedere o revocare più ruoli IAM a livello di programmazione.

Eseguire query di AI generativa con una connessione BigQuery

Per eseguire query di AI generativa utilizzando una connessione, crea la connessione e poi concedi l'accesso all'account di servizio creato dalla connessione.

Crea una connessione

Puoi configurare una connessione a una risorsa cloud per eseguire tutte le query di AI generativa che contengono funzioni AI.*. Quando crei una connessione, concedi le autorizzazioni per eseguire query a unaccount di serviziot.

Seleziona una delle seguenti opzioni:

Console

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su Explorer:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

    Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro a sinistra per aprirlo.

  3. Nel riquadro Explorer, espandi il nome del progetto e fai clic su Connessioni.

  4. Nella pagina Connessioni, fai clic su Crea connessione.

  5. Per Tipo di connessione, scegli Modelli remoti di Vertex AI, funzioni remote, BigLake e Spanner (risorsa Cloud).

  6. Nel campo ID connessione, inserisci un nome per la connessione.

  7. Per Tipo di località, seleziona una località per la connessione. La connessione deve essere colocalizzata con le altre risorse, ad esempio i set di dati.

  8. Fai clic su Crea connessione.

  9. Fai clic su Vai alla connessione.

  10. Nel riquadro Informazioni sulla connessione, copia l'ID dell'account di servizio da utilizzare in un passaggio successivo.

bq

  1. In un ambiente a riga di comando, crea una connessione:

    bq mk --connection --location=REGION --project_id=PROJECT_ID \
        --connection_type=CLOUD_RESOURCE CONNECTION_ID

    Il parametro --project_id sostituisce il progetto predefinito.

    Sostituisci quanto segue:

    • REGION: la tua regione di connessione
    • PROJECT_ID: il tuo Google Cloud ID progetto
    • CONNECTION_ID: un ID per la tua connessione

    Quando crei una risorsa di connessione, BigQuery crea un account di serviziot di sistema univoco e lo associa alla connessione.

    Risoluzione dei problemi: se viene visualizzato il seguente errore di connessione, aggiorna Google Cloud SDK:

    Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
    
  2. Recupera e copia l'ID account di servizio da utilizzare in un passaggio successivo:

    bq show --connection PROJECT_ID.REGION.CONNECTION_ID

    L'output è simile al seguente:

    name                          properties
    1234.REGION.CONNECTION_ID     {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
    

Terraform

Utilizza la risorsa google_bigquery_connection.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.

L'esempio seguente crea una connessione di risorsa Cloud denominata my_cloud_resource_connection nella regione US:


# This queries the provider for project information.
data "google_project" "default" {}

# This creates a cloud resource connection in the US region named my_cloud_resource_connection.
# Note: The cloud resource nested object has only one output field - serviceAccountId.
resource "google_bigquery_connection" "default" {
  connection_id = "my_cloud_resource_connection"
  project       = data.google_project.default.project_id
  location      = "US"
  cloud_resource {}
}

Per applicare la configurazione di Terraform in un progetto Google Cloud , completa i passaggi descritti nelle sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.

    Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.

Preparare la directory

Ogni file di configurazione Terraform deve avere la propria directory (chiamata anche modulo radice).

  1. In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione .tf, ad esempio main.tf. In questo tutorial, il file viene denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.

    Copia il codice campione nel file main.tf appena creato.

    (Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

  3. Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
  4. Salva le modifiche.
  5. Inizializza Terraform. Devi effettuare questa operazione una sola volta per directory.
    terraform init

    (Facoltativo) Per utilizzare l'ultima versione del provider Google, includi l'opzione -upgrade:

    terraform init -upgrade

Applica le modifiche

  1. Rivedi la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione Terraform eseguendo questo comando e inserendo yes al prompt:
    terraform apply

    Attendi che Terraform visualizzi il messaggio "Apply complete!".

  3. Apri il tuo Google Cloud progetto per visualizzare i risultati. Nella console Google Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.

Per saperne di più, consulta Crea e configura una connessione a una risorsa Cloud.

Concedi l'accesso al service account

Per eseguire query che utilizzano funzioni AI.* generative che chiamano modelli Vertex AI, devi concedere le autorizzazioni appropriate al account di servizio creato quando hai creato la connessione. Per eseguire funzioni che chiamano un foundation model Vertex AI, è necessario il ruolo Vertex AI User (roles/aiplatform.user).

Seleziona una delle seguenti opzioni:

Console

  1. Vai alla pagina IAM e amministrazione.

    Vai a IAM e amministrazione

  2. Fai clic su Concedi l'accesso.

    Si apre la finestra di dialogo Aggiungi entità.

  3. Nel campo Nuove entità, inserisci l'ID account di servizio che hai copiato in precedenza.

  4. Nella sezione Assegna ruoli, fai clic su Aggiungi ruoli.

  5. Cerca il ruolo Vertex AI User, selezionalo e poi fai clic su Applica.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding gs://PROJECT_ID \
--member="serviceAccount:$(bq show --format=prettyjson --connection $PROJECT_ID.$REGION.$CONNECTION_ID | jq -r .cloudResource.serviceAccountId)"
--role=roles/aiplatform.user

Sostituisci quanto segue:

  • PROJECT_ID: il nome del progetto.
  • REGION: la posizione in cui è stata creata la connessione.
  • CONNECTION_ID: il nome della connessione che hai creato.

Terraform

Utilizza la risorsa google_bigquery_connection.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.

L'esempio seguente concede l'accesso al ruolo IAM al service account della connessione alla risorsa cloud:


# This queries the provider for project information.
data "google_project" "default" {}

# This creates a cloud resource connection in the US region named my_cloud_resource_connection.
# Note: The cloud resource nested object has only one output field - serviceAccountId.
resource "google_bigquery_connection" "default" {
  connection_id = "my_cloud_resource_connection"
  project       = data.google_project.default.project_id
  location      = "US"
  cloud_resource {}
}

## This grants IAM role access to the service account of the connection created in the previous step.
resource "google_project_iam_member" "connectionPermissionGrant" {
  project = data.google_project.default.project_id
  role    = "roles/storage.objectViewer"
  member  = "serviceAccount:${google_bigquery_connection.default.cloud_resource[0].service_account_id}"
}

Per applicare la configurazione di Terraform in un progetto Google Cloud , completa i passaggi descritti nelle sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.

    Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.

Preparare la directory

Ogni file di configurazione Terraform deve avere la propria directory (chiamata anche modulo radice).

  1. In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione .tf, ad esempio main.tf. In questo tutorial, il file viene denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.

    Copia il codice campione nel file main.tf appena creato.

    (Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

  3. Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
  4. Salva le modifiche.
  5. Inizializza Terraform. Devi effettuare questa operazione una sola volta per directory.
    terraform init

    (Facoltativo) Per utilizzare l'ultima versione del provider Google, includi l'opzione -upgrade:

    terraform init -upgrade

Applica le modifiche

  1. Rivedi la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione Terraform eseguendo questo comando e inserendo yes al prompt:
    terraform apply

    Attendi che Terraform visualizzi il messaggio "Apply complete!".

  3. Apri il tuo Google Cloud progetto per visualizzare i risultati. Nella console Google Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.