Defina autorizações para funções de IA generativa que chamam os MDIs do Vertex AI

Este documento mostra como configurar autorizações para executar consultas de IA generativa. As consultas de IA generativa contêm funções AI.* que chamam modelos de base no Vertex AI; por exemplo, AI.GENERATE.

Existem duas formas de configurar autorizações para executar consultas que usam funções AI.*:

  • Execute a consulta com as credenciais de utilizador final
  • Crie uma ligação do BigQuery ML para executar a consulta através de uma conta de serviço

Na maioria dos casos, pode usar credenciais de utilizador final e deixar o argumento CONNECTION em branco. Se a tarefa de consulta for executada durante 48 horas ou mais, deve usar uma ligação do BigQuery e incluí-la no argumento CONNECTION.

Execute consultas de IA generativa com credenciais de utilizador final

Para executar consultas de IA generativa com credenciais de utilizador final, configure as autorizações necessárias através da Google Cloud consola. Tenha em atenção que, se for o proprietário do projeto, já tem todas as autorizações necessárias e, por isso, não tem de fazer nada.

Funções necessárias

Para receber as autorizações de que precisa para executar uma tarefa de consulta que chama um modelo do Vertex AI, peça ao seu administrador que lhe conceda as seguintes funções da IAM no projeto:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Conceda as funções necessárias ao utilizador ou grupo

Pode usar a Google Cloud consola para conceder as funções necessárias a um principal. O principal é o utilizador ou o grupo que executa a consulta que usa funções AI.* para chamar um modelo base do Vertex AI.

  1. Na Google Cloud consola, aceda à página IAM.

    Aceda ao IAM

  2. Selecione o seu projeto.

  3. Para conceder funções a um principal:

    1. Aceda à página IAM e administrador.

      Aceda a IAM e administração

    2. Clique em Conceder acesso.

      É apresentada a caixa de diálogo Adicionar responsáveis.

    3. No campo Novos responsáveis, introduza o identificador do responsável, por exemplo, my-user@example.com ou //iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.

    4. Na secção Atribuir funções, para Selecionar uma função, clique na seta do menu pendente.

    5. Pesquise a função Utilizador da Vertex AI e selecione-a.

    6. Clique em Adicionar outra função.

    7. Na secção Atribuir funções, para Selecionar uma função, clique na seta do menu pendente.

    8. Pesquise ou navegue até à função Utilizador da tarefa do BigQuery e selecione-a.

    9. Clique em Guardar.

      Clique em Guardar para conceder as funções ao principal

Para modificar as funções de um principal que já tem funções no projeto, consulte o artigo Conceda funções adicionais ao mesmo principal.

Para ver informações sobre outros métodos de concessão de funções ao nível do projeto a um principal, consulte o artigo Conceda ou revogue várias funções de IAM de forma programática.

Execute consultas de IA generativa com uma ligação do BigQuery

Para executar consultas de IA generativa através de uma ligação, crie a ligação e, em seguida, conceda acesso à conta de serviço criada pela ligação.

Crie uma associação

Pode configurar uma ligação de recursos da nuvem para executar todas as consultas de IA generativa que contenham funções AI.*. Quando cria uma associação, concede autorizações para executar consultas a uma conta de serviço.

Selecione uma das seguintes opções:

Consola

  1. Aceda à página do BigQuery.

    Aceda ao BigQuery

  2. No painel esquerdo, clique em Explorador:

    Botão realçado para o painel do explorador.

    Se não vir o painel esquerdo, clique em Expandir painel esquerdo para o abrir.

  3. No painel Explorador, expanda o nome do projeto e, de seguida, clique em Ligações.

  4. Na página Associações, clique em Criar associação.

  5. Em Tipo de ligação, escolha Modelos remotos do Vertex AI, funções remotas, BigLake e Spanner (recurso da nuvem).

  6. No campo ID da associação, introduza um nome para a associação.

  7. Em Tipo de localização, selecione uma localização para a sua ligação. A ligação deve estar colocada com os seus outros recursos, como conjuntos de dados.

  8. Clique em Criar associação.

  9. Clique em Aceder à associação.

  10. No painel Informações da ligação, copie o ID da conta de serviço para utilização num passo posterior.

bq

  1. Num ambiente de linha de comandos, crie uma associação:

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

    O parâmetro --project_id substitui o projeto predefinido.

    Substitua o seguinte:

    • REGION: a sua região de ligação
    • PROJECT_ID: o ID do seu Google Cloud projeto
    • CONNECTION_ID: um ID para a sua ligação

    Quando cria um recurso de ligação, o BigQuery cria uma conta de serviço do sistema única e associa-a à ligação.

    Resolução de problemas: se receber o seguinte erro de ligação, atualize o SDK do Google Cloud:

    Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
    
  2. Obtenha e copie o ID da conta de serviço para utilização num passo posterior:

    bq show --connection PROJECT_ID.REGION.CONNECTION_ID

    O resultado é semelhante ao seguinte:

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

Terraform

Use o recurso google_bigquery_connection.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

O exemplo seguinte cria uma associação de recursos da nuvem com o nome my_cloud_resource_connection na região 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 {}
}

Para aplicar a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.

Prepare o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o Google Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.

    Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.

Prepare o diretório

Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório (também denominado módulo raiz).

  1. No Cloud Shell, crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o ficheiro é denominado main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver a seguir um tutorial, pode copiar o código de exemplo em cada secção ou passo.

    Copie o exemplo de código para o main.tf criado recentemente.

    Opcionalmente, copie o código do GitHub. Isto é recomendado quando o fragmento do Terraform faz parte de uma solução completa.

  3. Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
  4. Guarde as alterações.
  5. Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do fornecedor Google, inclua a opção -upgrade:

    terraform init -upgrade

Aplique as alterações

  1. Reveja a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expetativas:
    terraform plan

    Faça correções à configuração conforme necessário.

  2. Aplique a configuração do Terraform executando o seguinte comando e introduzindo yes no comando:
    terraform apply

    Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).

  3. Abra o seu Google Cloud projeto para ver os resultados. Na Google Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.

Para mais informações, consulte o artigo Crie e configure uma associação de recursos da nuvem.

Conceda acesso à conta de serviço

Para executar consultas que usam funções generativas AI.* que chamam modelos da Vertex AI, tem de conceder as autorizações adequadas à conta de serviço que foi criada quando criou a ligação. Para executar funções que chamam um modelo base da Vertex AI, é necessário o papel de utilizador da Vertex AI (roles/aiplatform.user).

Selecione uma das seguintes opções:

Consola

  1. Aceda à página IAM e administrador.

    Aceda a IAM e administração

  2. Clique em Conceder acesso.

    É apresentada a caixa de diálogo Adicionar responsáveis.

  3. No campo Novos membros, introduza o ID da conta de serviço que copiou anteriormente.

  4. Na secção Atribuir funções, clique em Adicionar funções.

  5. Pesquise a função Utilizador da Vertex AI, selecione-a e, de seguida, clique em Aplicar.

  6. Clique em Guardar.

gcloud

Use o 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

Substitua o seguinte:

  • PROJECT_ID: o nome do seu projeto.
  • REGION: a localização onde a associação foi criada.
  • CONNECTION_ID: o nome da associação que criou.

Terraform

Use o recurso google_bigquery_connection.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

O exemplo seguinte concede acesso à função do IAM à conta de serviço da ligação de recursos do 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}"
}

Para aplicar a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.

Prepare o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o Google Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.

    Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.

Prepare o diretório

Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório (também denominado módulo raiz).

  1. No Cloud Shell, crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o ficheiro é denominado main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver a seguir um tutorial, pode copiar o código de exemplo em cada secção ou passo.

    Copie o exemplo de código para o main.tf criado recentemente.

    Opcionalmente, copie o código do GitHub. Isto é recomendado quando o fragmento do Terraform faz parte de uma solução completa.

  3. Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
  4. Guarde as alterações.
  5. Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do fornecedor Google, inclua a opção -upgrade:

    terraform init -upgrade

Aplique as alterações

  1. Reveja a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expetativas:
    terraform plan

    Faça correções à configuração conforme necessário.

  2. Aplique a configuração do Terraform executando o seguinte comando e introduzindo yes no comando:
    terraform apply

    Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).

  3. Abra o seu Google Cloud projeto para ver os resultados. Na Google Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.