Passo 4: configure os componentes
Esta página descreve o quarto passo para implementar a Data Foundation do Cortex Framework, o núcleo do Cortex Framework. Neste passo, configura osGoogle Cloud serviços necessários para implementar.
Ative os Google Cloud serviços
Nesta secção, ativa os seguintes Google Cloud serviços no seu Google Cloud projeto:
- Instância e conjuntos de dados do BigQuery
- API Cloud Build
- Contentores do Cloud Storage
- Conta de serviço
- Cloud Resource Manager API
- API Data Catalog (se estiver a implementar o Datamesh)
- Execuções do fluxo de trabalho (se estiver a implementar o Cortex for Meridian)
- Plataforma de IA (se estiver a implementar o Cortex para Meridian)
Ative estes Google Cloud serviços através do Cloud Shell:
Copie e cole o seguinte 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.Verifique se os Google Cloud serviços estão ativados se receber uma mensagem de êxito.
Opcional. Pode ativar os seguintes Google Cloud serviços no seu Google Cloud projeto:
- Cloud Composer para processamento de captura de dados de alterações (CDC), redução da hierarquia (apenas SAP) e replicação de dados (apenas não SAP) através de grafos acíclicos dirigidos (DAGs). Para configurar uma instância, consulte a documentação do Cloud Composer.
- Looker para estabelecer ligação a modelos de relatórios.
- Os conjuntos de dados partilhados do BigQuery (anteriormente Analytics Hub) são usados para algumas origens externas, como o DAG de meteorologia. Pode optar por preencher esta estrutura com qualquer outra origem disponível à sua escolha para cenários avançados.
- Dataflow: Ferramenta de integração para muitos dos conjuntos de dados de marketing, como o Google Ads.
- Catálogo universal do Dataplex: usado para criar uma malha de dados. Para mais informações, consulte o manual do utilizador da malha de dados.
- Para a framework Cortex com o Meridian:
- Colab Enterprise: executar o bloco de notas do Colab Enterprise durante a execução e ter acesso ao seguinte:
- O bloco de notas e o ficheiro de configuração no Cloud Storage.
- Consultar vistas e tabelas relevantes do BigQuery.
- Escrever os resultados novamente no Cloud Storage.
- Fluxos de trabalho: executar o fluxo de trabalho e o Cloud Build para acionar execuções de blocos de notas do Colab Enterprise.
Conceda autorizações ao utilizador de execução
Conceda as seguintes autorizações ao utilizador de execução, através da consolaGoogle Cloud ou da CLI do Google Cloud, para executar a implementação no projeto onde o Cloud Build é acionado:
- Consumidor de utilização de serviços (
roles/serviceusage.serviceUsageConsumer
) - Visualizador de objetos de armazenamento (
roles/storage.objectViewer
) - Administrador de armazenamento (
roles/storage.admin
) - Editor do Cloud Build (
roles/cloudbuild.builds.editor
) - Leitor de projetos (
roles/reader
) - Utilizador de tarefas do BigQuery (
roles/bigquery.jobUser
) Editor de dados do BigQuery (
roles/bigquery.dataEditor
)
Consola
Abra a página IAM na Google Cloud consola:
Selecione o projeto e clique em Continuar.
Clique em Conceder acesso.
Introduza o endereço de email do utilizador que está a executar a ação.
Selecione as seguintes funções no menu pendente:
- Consumidor de utilização de serviços (
roles/serviceusage.serviceUsageConsumer
) - Visualizador de objetos de armazenamento (
roles/storage.objectViewer
) - Administrador de armazenamento (
roles/storage.admin
) - Editor do Cloud Build (
roles/cloudbuild.builds.editor
) - Leitor de projetos (
roles/reader
) - Utilizador de tarefas do BigQuery (
roles/bigquery.jobUser
) - Editor de dados do BigQuery (
roles/bigquery.dataEditor
)
- Consumidor de utilização de serviços (
Clique em Guardar.
gcloud
Para conceder uma função a um utilizador, 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 o seguinte:
SOURCE_PROJECT
com o ID do projeto de origem.USER_EMAIL
com o email do utilizador que está a executar. Por exemplo, user:my-user@example.com. Para uma lista completa dos tipos de principais oumember
, consulte a referência de associação de políticas.
Crie e configure a conta de serviço do Cloud Build
O Cloud Build usa uma conta de serviço para executar compilações em seu nome. Esta secção explica como criar uma conta de serviço dedicada para implementações do Cortex Framework e conceder as autorizações necessárias à conta de serviço do Cloud Build.
Crie uma nova conta de serviço
Crie uma conta de serviço dedicada para implementar o Cortex Framework
para maior segurança e controlo. Depois de criar a nova conta de serviço, pode especificar esta conta de serviço durante o processo de implementação através do parâmetro de substituição _BUILD_ACCOUNT
.
Antes de começar, tem de ativar a API IAM, configurar a autenticação e compreender as contas de serviço e as funções do IAM. Para mais informações, consulte o artigo Crie contas de serviço.
Crie esta nova conta de serviço através da Google Cloud consola ou da CLI do Google Cloud.
Consola
Aceda à página Contas de serviço.
Os passos restantes aparecem na Google Cloud consola.
Selecione um Google Cloud projeto.
Introduza uma conta de serviço e um nome a apresentar, com uma descrição, na consola Google Cloud . A Google Cloud consola gera um ID da conta de serviço com base neste nome. Edite o ID, se necessário. Não pode alterar o ID mais tarde. Use os seguintes valores predefinidos para a conta de serviço:
- Nome: "cortex-deployer".
- Descrição: "Cortex Deployer Service Account".
- Nome a apresentar: "Cortex Deployer".
Conceder aos utilizadores acesso a esta conta de serviço.
- Adicione o ID de todos os utilizadores (incluindo o seu) que podem executar a implementação através da conta de serviço.
- Atribua a função Criador de tokens de contas de serviço. Para mais informações acerca desta função, consulte o artigo Funções da conta de serviço.
Clique em Concluído para terminar de criar a conta de serviço.
Se já tiver uma conta de serviço, siga estes passos:
- Aceda a Contas de serviço.
- Selecione a Conta de serviço.
- Clique no separador Autorizações.
- Clique em Conceder acesso.
- Adicione o ID de todos os utilizadores (incluindo o seu) que podem executar a implementação através da conta de serviço.
- Atribua a função Criador de tokens de contas de serviço.
gcloud
Crie uma conta de serviço através de uma política IAM com o seguinte comando:
gcloud iam service-accounts create cortex-deployer \ --description="Cortex Deployer Service Account" \ --display-name="Cortex Deployer"
Adicione a política de IAM ao seu Google Cloud projeto 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"
Adicione o ID de todos os utilizadores (incluindo o seu) que podem executar a implementação através da conta de serviço e atribua-lhes a função Criador de tokens 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 o seguinte:
SOURCE_PROJECT
com o projeto de origem para a implementação da base de dados do Cortex Framework.USER_EMAIL
com o email do utilizador de execução.
Para mais informações sobre como criar uma nova conta de serviço, consulte o artigo Crie uma conta de serviço.
Conceder autorizações
A conta de serviço do Cloud Build precisa de autorizações específicas no seu projeto de origem (e no projeto de destino, se estiver a implementar num projeto separado). Conceda as seguintes funções através da Google Cloud consola ou da CLI do Google Cloud:
- Conta de serviço do Cloud Build (
roles/cloudbuild.builds.builder
) - Utilizador da conta de serviço (
roles/iam.serviceAccountUser
) - Editor de dados do BigQuery (
roles/bigquery.dataEditor
) - Utilizador de tarefas do BigQuery (
roles/bigquery.jobUser
) - Logs Writer (
roles/logging.logWriter
) - Administrador do Colab Enterprise (
roles/aiplatform.colabEnterpriseAdmin
, se estiver a implementar o Cortex para o Meridian) - Utilizador do objeto de armazenamento (
roles/storage.objectUser
, se estiver a implementar o Cortex para Meridian) Editor de fluxos de trabalho (
roles/workflows.editor
- se estiver a implementar o Cortex para Meridian)
Consola
Na Google Cloud consola, aceda à página IAM.
Selecione o projeto de origem.
Clique em
Conceder acesso.Adicione a conta de serviço predefinida do Cloud Build do passo anterior como um novo principal.
No menu pendente Selecionar uma função, pesquise Conta de serviço do Cloud Build e, de seguida, clique em Conta de serviço do Cloud Build.
Repita o passo anterior para adicionar as restantes funções:
- Utilizador da conta de serviço
- Editor de dados do BigQuery
- Utilizador de tarefas do BigQuery
- Escritor de registos
- Administrador do Colab Enterprise (se estiver a implementar o Cortex para o Meridian)
- Utilizador do objeto de armazenamento (se estiver a implementar o Cortex para Meridian)
- Editor de fluxos de trabalho (se estiver a implementar o Cortex para Meridian)
Clique em Guardar.
Confirme se a conta de serviço e as funções correspondentes estão listadas na página IAM. Concedeu uma função do IAM com êxito.
gcloud
Use o seguinte comando para conceder as funções à 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 o seguinte:
SOURCE_PROJECT
com o ID do projeto de origem.CLOUD_BUILD_SA
com a conta de serviço do Cloud Build, no formatoCLOUD_BUILD_SA@SOURCE_PROJECT.gserviceaccount.com
.
Para mais informações, consulte os artigos Atribuir uma função à conta de serviço do Cloud Build através da página IAM e Definir e gerir políticas de IAM em contentores.
Crie uma conta de serviço adicional para o Cortex para Meridian
É necessária uma conta de serviço separada para o Meridian quando implementar o Cortex Framework. Se não estiver a implementar para o Meridian, pode ignorar este passo. É necessária uma conta de serviço separada para o seguinte:
- Executar o fluxo de trabalho e o Cloud Build para acionar execuções de blocos de notas do Colab Enterprise.
- Executar o bloco de notas do Colab Enterprise com acesso a:
- Ficheiro de configuração e bloco de notas no Cloud Storage.
- Consultar vistas e tabelas relevantes do BigQuery.
- Escrever os resultados novamente no Cloud Storage.
Use o seguinte comando para criar uma conta de serviço para o 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 o seguinte:
PROJECT_ID
com o ID do projeto onde o Cortex for Meridian está implementado.cortex-meridian-colab-runner
: opcionalmente, pode usar um ID de conta de serviço diferente. Tenha em atenção quecortex-meridian-colab-runner
é a predefinição e que a alteração pode exigir ajustes a outros comandos.
As funções mínimas necessárias para uma conta de serviço dedicada para o Cortex para o Meridian são as seguintes:
- Visualizador de dados do BigQuery (
roles/bigquery.dataViewer
) - Utilizador de tarefas do BigQuery (
roles/bigquery.jobUser
) - Utilizador da sessão de leitura do BigQuery (
roles/bigquery.readSessionUser
) - Editor do Cloud Build (
roles/cloudbuild.builds.editor
) - Administrador do Colab Enterprise (
roles/aiplatform.colabEnterpriseAdmin
) - Logs Writer (
roles/logging.logWriter
) - Administrador do tempo de execução do bloco de notas (
aiplatform.notebookRuntimeAdmin
) - Administrador de armazenamento (
roles/storage.admin
) - Utilizador do objeto de armazenamento (
roles/storage.objectUser
) - Agente do serviço Vertex AI Colab (
roles/aiplatform.colabServiceAgent
)
Use o seguinte comando para conceder as funções à conta de serviço dedicada para o Cortex for 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 o seguinte:
PROJECT_ID
com o ID do projeto onde o Cortex for Meridian está implementado.SERVICE_ACCOUNT_EMAIL
com a sua conta de serviço para o Cortex para Meridian.
Passos opcionais
Para uma melhor personalização da implementação, considere seguir estes passos opcionais:
- Data Mesh: se precisar de modificar os valores predefinidos do Data Mesh para implementar funcionalidades além das descrições, consulte os conceitos do Data Mesh e o guia do utilizador do Data Mesh.
Crie um contentor de armazenamento para armazenar ficheiros relacionados com DAGs
É necessário um contentor de armazenamento para armazenar scripts DAG de processamento e outros ficheiros temporários gerados durante a implementação. Estes scripts têm de ser movidos manualmente para uma instância do Cloud Composer ou do Apache Airflow após a implementação.
Pode criar o contentor de armazenamento a partir da Google Cloud CLI ou da Google Cloud consola com os seguintes passos.
Consola
Aceda ao Cloud Storage.
Crie um contentor na mesma região que os seus conjuntos de dados do BigQuery.
Selecione o contentor criado.
Aceda ao separador
Permissions
.Conceda a autorização
Storage Object Creator
ao ID do utilizador que executa o comando de compilação ou à conta de serviço que criou. Para mais informações, consulte o artigo Defina uma nova condição num contentor: Console.
gcloud
Crie um contentor a partir do Cloud Shell com o seguinte comando:
gcloud storage buckets create gs://DAG_BUCKET_NAME -l REGION/MULTI_REGION
Substitua o seguinte:
DAG_BUCKET_NAME
com o nome do novo contentor.REGION/MULTI_REGION
com a mesma região que os seus conjuntos de dados do BigQuery.
Use o seguinte comando para atribuir a autorizaçã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 o seguinte:
CLOUD_BUILD_SA
com a conta de serviço predefinida do Cloud Build.DAG_BUCKET_NAME
com o nome do novo contentor.
Crie um contentor do Storage para registos
Pode criar um contentor específico para o processo do Cloud Build para armazenar os registos. Isto é útil se quiser restringir os dados que podem ser armazenados em registos a uma região específica. Pode criar o contentor de armazenamento para registos a partir da Google Cloud CLI ou da Google Cloud consola.
Consola
Para criar um contentor específico para os registos, siga estes passos:
Aceda ao Cloud Storage.
Crie um contentor na mesma região onde a implementação seria executada.
Selecione o contentor criado.
Aceda ao separador
Permissions
.Conceda a autorização
Storage Object Admin
ao ID do utilizador que executa o comando de compilação ou à conta de serviço que criou. Para mais informações, consulte o artigo Defina uma nova condição num contentor: Console.
gcloud
Para criar um contentor específico para os registos, use os seguintes comandos.
Crie um contentor a partir do Cloud Shell com o seguinte comando:
gcloud storage buckets create gs://LOGS_BUCKET_NAME -l REGION/MULTI_REGION
Substitua o seguinte:
REGION/MULTI_REGION
com a região escolhida para criar o contentor.LOGS_BUCKET_NAME
com o nome do novo contentor.
Use o seguinte comando para atribuir a autorizaçã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 o seguinte:
CLOUD_BUILD_SA
com a conta de serviço predefinida do Cloud Build.LOGS_BUCKET_NAME
com o nome do novo contentor.
Passos seguintes
Depois de concluir este passo, avance para os seguintes passos de implementação:
- Estabeleça cargas de trabalho.
- Clonar repositório.
- Determine o mecanismo de integração.
- Configure os componentes (esta página).
- Configure a implementação.
- Execute a implementação.