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:
-
Esegui job di query:
Utente job BigQuery (
roles/bigquery.jobUser) -
Accedi a un foundation model in Vertex AI:
Vertex AI User (
roles/aiplatform.user)
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.
Nella console Google Cloud , vai alla pagina IAM.
Seleziona il progetto.
Per concedere ruoli a un'entità:
Vai alla pagina IAM e amministrazione.
Fai clic su Concedi l'accesso.
Si apre la finestra di dialogo Aggiungi entità.
Nel campo Nuove entità, inserisci l'identificatore dell'entità, ad esempio
my-user@example.como//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.Nella sezione Assegna i ruoli, fai clic sulla freccia menu a discesa per Seleziona un ruolo.
Cerca il ruolo Vertex AI User e selezionalo.
Fai clic su Aggiungi un altro ruolo.
Nella sezione Assegna i ruoli, fai clic sulla freccia menu a discesa per Seleziona un ruolo.
Cerca o sfoglia il ruolo Utente job BigQuery e selezionalo.
Fai clic su Salva.
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
Vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su Explorer:

Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro a sinistra per aprirlo.
Nel riquadro Explorer, espandi il nome del progetto e fai clic su Connessioni.
Nella pagina Connessioni, fai clic su Crea connessione.
Per Tipo di connessione, scegli Modelli remoti di Vertex AI, funzioni remote, BigLake e Spanner (risorsa Cloud).
Nel campo ID connessione, inserisci un nome per la connessione.
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.
Fai clic su Crea connessione.
Fai clic su Vai alla connessione.
Nel riquadro Informazioni sulla connessione, copia l'ID dell'account di servizio da utilizzare in un passaggio successivo.
bq
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_idsostituisce il progetto predefinito.Sostituisci quanto segue:
REGION: la tua regione di connessionePROJECT_ID: il tuo Google Cloud ID progettoCONNECTION_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...
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:
Per applicare la configurazione di Terraform in un progetto Google Cloud , completa i passaggi descritti nelle sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
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).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione
.tf, ad esempiomain.tf. In questo tutorial, il file viene denominatomain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel file
main.tfappena creato.(Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
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
-
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.
-
Applica la configurazione Terraform eseguendo questo comando e inserendo
yesal prompt:terraform apply
Attendi che Terraform visualizzi il messaggio "Apply complete!".
- 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
Vai alla pagina IAM e amministrazione.
Fai clic su Concedi l'accesso.
Si apre la finestra di dialogo Aggiungi entità.
Nel campo Nuove entità, inserisci l'ID account di servizio che hai copiato in precedenza.
Nella sezione Assegna ruoli, fai clic su Aggiungi ruoli.
Cerca il ruolo Vertex AI User, selezionalo e poi fai clic su Applica.
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:
Per applicare la configurazione di Terraform in un progetto Google Cloud , completa i passaggi descritti nelle sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
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).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione
.tf, ad esempiomain.tf. In questo tutorial, il file viene denominatomain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel file
main.tfappena creato.(Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
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
-
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.
-
Applica la configurazione Terraform eseguendo questo comando e inserendo
yesal prompt:terraform apply
Attendi che Terraform visualizzi il messaggio "Apply complete!".
- 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.