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:
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.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
Abra a página do IAM no console Google Cloud :
Selecione o projeto e clique em Continuar.
Clique em Conceder acesso.
Digite o endereço de e-mail do usuário que está executando a ação.
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
)
- Consumidor do Service Usage (
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 oumember
, 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
Acesse a página Contas de serviço.
As etapas restantes aparecem no console do Google Cloud .
Selecionar um projeto do Google Cloud
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".
Conceda aos usuários acesso a essa conta de serviço.
- Adicione o ID de todos os usuários (incluindo o seu) que podem executar a implantação pela conta de serviço.
- 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.
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:
- Acesse Contas de serviço.
- Selecione a conta de serviço.
- Clique na guia Permissões.
- Clique em Permitir acesso.
- Adicione o ID de todos os usuários (incluindo o seu) que podem executar a implantação pela conta de serviço.
- Atribua o papel Criador de token da conta de serviço.
gcloud
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"
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"
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
No console Google Cloud , acesse a página IAM.
Selecione o projeto de origem.
Clique em
CONCEDER ACESSO.Adicione a conta de serviço padrão do Cloud Build da etapa anterior como uma nova conta principal.
No menu suspenso Selecionar um papel, pesquise Conta de serviço do Cloud Build e clique em Conta de serviço do Cloud Build.
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)
Clique em Salvar.
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 formatoCLOUD_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 quecortex-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:
- Data Mesh: se você precisar modificar os valores padrão da Data Mesh para implementar recursos além das descrições, consulte os conceitos da Data Mesh e o guia do usuário da Data Mesh.
Crie um bucket de armazenamento para armazenar arquivos relacionados a DAGs
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
Acesse o Cloud Storage.
Crie um bucket na mesma região dos seus conjuntos de dados do BigQuery.
Selecione o bucket criado.
Acesse a guia
Permissions
.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
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.
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:
Acesse o Cloud Storage.
Crie um bucket na mesma região em que a implantação seria executada.
Selecione o bucket criado.
Acesse a guia
Permissions
.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.
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.
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:
- Estabelecer cargas de trabalho.
- Clonar repositório.
- Determine o mecanismo de integração.
- Configurar componentes (esta página).
- Configurar a implantação.
- Executar a implantação.