Etapa 4: configurar componentes

Esta página descreve a quarta etapa para implantar a Data Foundation do Cortex Framework, o núcleo do Cortex Framework. Nesta etapa, você configura os serviçosGoogle Cloud necessários para a implantação.

Ativar Google Cloud serviços

Nesta seção, você vai ativar os seguintes serviços Google Cloud no seu projetoGoogle Cloud :

  • Instância e conjuntos de dados do BigQuery
  • API Cloud Build
  • Buckets do Cloud Storage
  • Conta de serviço
  • API Cloud Resource Manager
  • API Data Catalog (ao implantar um Datamesh)
  • Execuções de fluxo de trabalho (se você estiver implantando o Cortex para Meridian)
  • Plataforma de IA (se você estiver implantando o Cortex para Meridian)

Ative esses serviços Google Cloud usando o Cloud Shell:

  1. Copie e cole este comando:

    gcloud config set project SOURCE_PROJECT
    
    gcloud services enable bigquery.googleapis.com \
                          cloudbuild.googleapis.com \
                          composer.googleapis.com \
                          storage-component.googleapis.com \
                          cloudresourcemanager.googleapis.com \
                          dataflow.googleapis.com \
                          datacatalog.googleapis.com \
                          workflowexecutions.googleapis.com \
                          workflows.googleapis.com \
                          aiplatform.googleapis.com
    

    Substitua SOURCE_PROJECT pelo ID do projeto de origem.

  2. Verifique se os serviços Google Cloud estão ativados se você receber uma mensagem de sucesso.

Opcional. É possível ativar os seguintes serviços Google Cloud no seuGoogle Cloud projeto:

  • Cloud Composer para processamento de captura de dados alterados (CDC), nivelamento de hierarquia (somente SAP) e replicação de dados (somente não SAP) por grafos acíclicos dirigidos (DAGs). Para configurar uma instância, consulte a documentação do Cloud Composer.
  • Looker para se conectar a modelos de relatórios.
  • Os conjuntos de dados vinculados do compartilhamento do BigQuery (antigo Analytics Hub) são usados para algumas fontes externas, como o DAG de clima. Você pode preencher essa estrutura com qualquer outra fonte disponível para cenários avançados.
  • Dataflow: ferramenta de integração para muitos dos conjuntos de dados de marketing, como o Google Ads.
  • Dataplex Universal Catalog: usado para criar uma malha de dados. Para mais informações, consulte o guia do usuário do Data Mesh.
  • Para o Cortex Framework com o Meridian:
    • Colab Enterprise: executar o notebook do Colab Enterprise durante e após a execução, tendo acesso ao seguinte:
    • O notebook e o arquivo de configuração no Cloud Storage.
    • Consulte as tabelas e visualizações relevantes do BigQuery.
    • Grave os resultados de volta no Cloud Storage.
    • Workflows: execução do fluxo de trabalho e do Cloud Build para acionar execuções de notebooks do Colab Enterprise.

Conceder permissões ao usuário que está executando

Conceda as seguintes permissões ao usuário de execução usando o consoleGoogle Cloud ou a Google Cloud CLI para executar a implantação no projeto em que o Cloud Build é acionado:

  • Consumidor do Service Usage (roles/serviceusage.serviceUsageConsumer)
  • Leitor de objetos do Storage (roles/storage.objectViewer)
  • Administrador do Storage (roles/storage.admin)
  • Editor do Cloud Build (roles/cloudbuild.builds.editor)
  • Leitor do projeto (roles/reader)
  • Usuário de jobs do BigQuery (roles/bigquery.jobUser)
  • Editor de dados do BigQuery (roles/bigquery.dataEditor)

Console

  1. Abra a página do IAM no console Google Cloud :

    Abrir a página do IAM

  2. Selecione o projeto e clique em Continuar.

  3. Clique em Conceder acesso.

  4. Digite o endereço de e-mail do usuário que está executando a ação.

  5. Selecione os seguintes papéis no menu suspenso:

    • Consumidor do Service Usage (roles/serviceusage.serviceUsageConsumer)
    • Leitor de objetos do Storage (roles/storage.objectViewer)
    • Administrador do Storage (roles/storage.admin)
    • Editor do Cloud Build (roles/cloudbuild.builds.editor)
    • Leitor do projeto (roles/reader)
    • Usuário de jobs do BigQuery (roles/bigquery.jobUser)
    • Editor de dados do BigQuery (roles/bigquery.dataEditor)
  6. Clique em Salvar.

gcloud

Para conceder um papel a um usuário, execute o comando add-iam-policy-binding:

  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/serviceusage.serviceUsageConsumer"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/storage.objectViewer"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/storage.admin"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/cloudbuild.builds.editor"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/reader"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/bigquery.jobUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/bigquery.dataEditor"

Substitua:

  • SOURCE_PROJECT com o ID do projeto de origem.
  • USER_EMAIL com o e-mail do usuário que está executando. Por exemplo, user:my-user@example.com. Para ver uma lista completa dos tipos principal ou member, consulte a referência de vinculação de políticas.

Criar e configurar a conta de serviço do Cloud Build

O Cloud Build usa uma conta de serviço para executar builds em seu nome. Esta seção orienta você na criação de uma conta de serviço dedicada para implantações do Cortex Framework e na concessão das permissões necessárias à conta de serviço do Cloud Build.

Criar uma nova conta de serviço

Crie uma conta de serviço dedicada para implantar o Cortex Framework e aumentar a segurança e o controle. Depois de criar a nova conta de serviço, especifique essa conta de serviço durante o processo de implantação usando o parâmetro de substituição _BUILD_ACCOUNT.

Antes de começar, ative a API IAM, configure a autenticação e entenda as contas de serviço e os papéis do IAM. Para mais informações, consulte Criar contas de serviço.

Crie essa nova conta de serviço usando o console Google Cloud ou a Google Cloud CLI.

Console

  1. Acesse a página Contas de serviço.

    Contas de serviço

    As etapas restantes aparecem no console do Google Cloud .

  2. Selecionar um projeto do Google Cloud

  3. Insira uma conta de serviço e um nome de exibição, com descrição e no console Google Cloud . O console Google Cloud gera um ID de conta de serviço com base nesse nome. Edite o ID se for necessário. Não será possível mudar o ID depois. Use os seguintes valores padrão para a conta de serviço:

    • Nome: "cortex-deployer".
    • Descrição: "Conta de serviço do Cortex Deployer".
    • Nome de exibição: "Cortex Deployer".
  4. Conceda aos usuários acesso a essa conta de serviço.

    1. Adicione o ID de todos os usuários (incluindo o seu) que podem executar a implantação pela conta de serviço.
    2. Atribua o papel Criador de token da conta de serviço. Para mais informações sobre essa função, consulte Papéis da conta de serviço.
  5. Clique em Concluído para terminar a criação da conta de serviço.

Se você já tiver uma conta de serviço, siga estas etapas:

  1. Acesse Contas de serviço.
  2. Selecione a conta de serviço.
  3. Clique na guia Permissões.
  4. Clique em Permitir acesso.
    1. Adicione o ID de todos os usuários (incluindo o seu) que podem executar a implantação pela conta de serviço.
    2. Atribua o papel Criador de token da conta de serviço.

gcloud

  1. Crie uma conta de serviço usando uma política do IAM com o seguinte comando:

    gcloud iam service-accounts create cortex-deployer \
    --description="Cortex Deployer Service Account" \
    --display-name="Cortex Deployer"
    
  2. Adicione a política do IAM ao seu projeto Google Cloud com o seguinte comando:

    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role="roles/cloudbuild.builds.editor"
    
  3. Adicione o ID de todos os usuários (incluindo o seu) que podem executar a implantação pela conta de serviço e atribua a eles o papel de Criador de token da conta de serviço com o seguinte comando:

    gcloud iam service-accounts add-iam-policy-binding cortex-deployer\
    --member="user:USER_EMAIL" \
    --role="roles/iam.serviceAccountTokenCreator"
    

    Substitua:

    • SOURCE_PROJECT com o projeto de origem para implantação da Data Foundation do Cortex Framework.
    • USER_EMAIL com o e-mail do usuário que está executando.

Para mais informações sobre como criar uma conta de serviço, consulte Criar uma conta de serviço.

Conceder permissões

A conta de serviço do Cloud Build precisa de permissões específicas no projeto de origem (e no projeto de destino, se você estiver fazendo a implantação em um projeto separado). Conceda os papéis a seguir usando o console Google Cloud ou a Google Cloud CLI:

  • Conta de serviço do Cloud Build (roles/cloudbuild.builds.builder)
  • Usuário da conta de serviço (roles/iam.serviceAccountUser)
  • Editor de dados do BigQuery (roles/bigquery.dataEditor)
  • Usuário de jobs do BigQuery (roles/bigquery.jobUser)
  • Gravador de registros (roles/logging.logWriter)
  • Administrador do Colab Enterprise (roles/aiplatform.colabEnterpriseAdmin - se estiver implantando o Cortex para Meridian)
  • Usuário do objeto de armazenamento (roles/storage.objectUser - se você estiver implantando o Cortex para Meridian)
  • Editor do Workflows (roles/workflows.editor - se você estiver implantando o Cortex para Meridian)

Console

  1. No console Google Cloud , acesse a página IAM.

    Acessar IAM

  2. Selecione o projeto de origem.

  3. Clique em CONCEDER ACESSO.

  4. Adicione a conta de serviço padrão do Cloud Build da etapa anterior como uma nova conta principal.

  5. No menu suspenso Selecionar um papel, pesquise Conta de serviço do Cloud Build e clique em Conta de serviço do Cloud Build.

  6. Repita a etapa anterior para adicionar as outras funções:

    • Usuário da conta de serviço
    • Editor de dados do BigQuery
    • Usuário de jobs do BigQuery
    • Gravador de registros
    • Administrador do Colab Enterprise (se estiver implantando o Cortex para Meridian)
    • Usuário do objeto de armazenamento (se estiver implantando o Cortex para Meridian)
    • Editor do Workflows (se você estiver implantando o Cortex para Meridian)
  7. Clique em Salvar.

  8. Verifique se a conta de serviço e os papéis correspondentes estão listados na página do IAM. Você concedeu um papel do IAM.

gcloud

Use o comando a seguir para conceder os papéis à conta de serviço do Cloud Build:

  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/cloudbuild.builds.builder"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/iam.serviceAccountUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/bigquery.dataEditor"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/bigquery.jobUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/logging.logWriter"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/aiplatform.colabEnterpriseAdmin"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/storage.objectUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/workflows.editor"

Substitua:

  • SOURCE_PROJECT com o ID do projeto de origem.
  • CLOUD_BUILD_SA com a conta de serviço do Cloud Build, no formato CLOUD_BUILD_SA@SOURCE_PROJECT.gserviceaccount.com.

Para mais informações, consulte Conceder um papel à conta de serviço do Cloud Build usando a página do IAM e Definir e gerenciar políticas do IAM em buckets.

Criar outra conta de serviço para o Cortex para Meridian

Uma conta de serviço separada é necessária para o Meridian ao implantar o Cortex Framework. Se você não estiver fazendo a implantação para o Meridian, pule esta etapa. É necessário ter uma conta de serviço separada para o seguinte:

  • Executar o fluxo de trabalho e o Cloud Build para acionar execuções de notebooks do Colab Enterprise.
  • Executar o notebook do Colab Enterprise com acesso a:
    • Notebook e arquivo de configuração no Cloud Storage.
    • Consulte as tabelas e visualizações relevantes do BigQuery.
    • Grave os resultados de volta no Cloud Storage.

Use o comando a seguir para criar uma conta de serviço do Cortex para Meridian:


 gcloud iam service-accounts create cortex-meridian-colab-runner --project= PROJECT_ID \
        --description="Cortex for Meridian Colab Runner Service Account" \
        --display-name="Cortex Meridian Runner"

Substitua:

  • PROJECT_ID com o ID do projeto em que o Cortex para Meridian está implantado.
  • cortex-meridian-colab-runner: se quiser, use um ID de conta de serviço diferente. Considere que cortex-meridian-colab-runner é o padrão, e a mudança pode exigir ajustes em outros comandos.

Os papéis mínimos necessários para uma conta de serviço dedicada do Cortex para Meridian são os seguintes:

  • Leitor de dados do BigQuery (roles/bigquery.dataViewer)
  • Usuário de jobs do BigQuery (roles/bigquery.jobUser)
  • Usuário de sessão de leitura do BigQuery (roles/bigquery.readSessionUser)
  • Editor do Cloud Build (roles/cloudbuild.builds.editor)
  • Administrador do Colab Enterprise (roles/aiplatform.colabEnterpriseAdmin)
  • Gravador de registros (roles/logging.logWriter)
  • Administrador do ambiente de execução do notebook (aiplatform.notebookRuntimeAdmin)
  • Administrador do Storage (roles/storage.admin)
  • Usuário do objeto de armazenamento (roles/storage.objectUser)
  • Agente de serviço da Vertex AI Colab (roles/aiplatform.colabServiceAgent)

Use o comando a seguir para conceder os papéis à conta de serviço dedicada do Cortex para Meridian:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/bigquery.dataViewer'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/bigquery.jobUser'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/bigquery.readSessionUser'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/cloudbuild.builds.editor'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/aiplatform.colabEnterpriseAdmin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/logging.logWriter'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/aiplatform.notebookRuntimeAdmin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/storage.admin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/storage.objectUser'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/aiplatform.colabServiceAgent'

Substitua:

  • PROJECT_ID com o ID do projeto em que o Cortex para Meridian está implantado.
  • SERVICE_ACCOUNT_EMAIL com sua conta de serviço do Cortex para Meridian.

Etapas opcionais

Para uma melhor personalização da implantação, siga estas etapas opcionais:

Um bucket de armazenamento é necessário para armazenar scripts DAG de processamento e outros arquivos temporários gerados durante a implantação. Esses scripts precisam ser movidos manualmente para uma instância do Cloud Composer ou do Apache Airflow após a implantação.

É possível criar o bucket de armazenamento na Google Cloud CLI no console Google Cloud com as etapas a seguir.

Console

  1. Acesse o Cloud Storage.

    Cloud Storage

  2. Crie um bucket na mesma região dos seus conjuntos de dados do BigQuery.

  3. Selecione o bucket criado.

  4. Acesse a guia Permissions.

  5. Conceda a permissão Storage Object Creator ao ID do usuário que executa o comando "Build" ou à conta de serviço criada. Para mais informações, consulte Definir uma nova condição em um bucket: console.

gcloud

  1. Crie um bucket no Cloud Shell com o seguinte comando:

    gcloud storage buckets create gs://DAG_BUCKET_NAME -l REGION/MULTI_REGION
    

    Substitua:

    • DAG_BUCKET_NAME com o nome do novo bucket.
    • REGION/MULTI_REGION com a mesma região dos seus conjuntos de dados do BigQuery.
  2. Use o comando a seguir para atribuir a permissão Storage Object Creator à conta de serviço:

    gcloud storage buckets add-iam-policy-binding gs://DAG_BUCKET_NAME --member=serviceAccount:CLOUD_BUILD_SA --role=roles/storage.objectCreator
    

    Substitua:

    • CLOUD_BUILD_SA com a conta de serviço padrão do Cloud Build.
    • DAG_BUCKET_NAME com o nome do novo bucket.

Criar um bucket do Storage para registros

É possível criar um bucket específico para o processo do Cloud Build armazenar os registros. Isso é útil se você quiser restringir a uma região específica os dados que podem ser armazenados em registros. É possível criar o bucket de armazenamento para registros da Google Cloud CLI ou do console Google Cloud .

Console

Para criar um bucket específico para os registros, siga estas etapas:

  1. Acesse o Cloud Storage.

    Cloud Storage

  2. Crie um bucket na mesma região em que a implantação seria executada.

  3. Selecione o bucket criado.

  4. Acesse a guia Permissions.

  5. Conceda a permissão Storage Object Admin ao ID do usuário que executa o comando "Build" ou à conta de serviço criada. Para mais informações, consulte Definir uma nova condição em um bucket: console.

gcloud

Para criar um bucket específico para os registros, use os seguintes comandos.

  1. Crie um bucket no Cloud Shell com o seguinte comando:

    gcloud storage buckets create gs://LOGS_BUCKET_NAME -l REGION/MULTI_REGION
    

    Substitua:

    • REGION/MULTI_REGION com a região escolhida para criar o bucket.
    • LOGS_BUCKET_NAME com o nome do novo bucket.
  2. Use o comando a seguir para atribuir a permissão Storage Object Admin à conta de serviço:

    gcloud storage buckets add-iam-policy-binding gs://LOGS_BUCKET_NAME --member=serviceAccount:CLOUD_BUILD_SA --role=roles/storage.objectAdmin
    

    Substitua:

    • CLOUD_BUILD_SA com a conta de serviço padrão do Cloud Build.
    • LOGS_BUCKET_NAME com o nome do novo bucket.

Próximas etapas

Depois de concluir essa etapa, siga para as etapas de implantação a seguir:

  1. Estabelecer cargas de trabalho.
  2. Clonar repositório.
  3. Determine o mecanismo de integração.
  4. Configurar componentes (esta página).
  5. Configurar a implantação.
  6. Executar a implantação.