Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
O VPC Service Controls permite que as organizações definam um perímetro em torno dos recursos doGoogle Cloud para reduzir os riscos de exfiltração de dados.
Os ambientes do Cloud Composer podem ser implantados dentro de um perímetro de serviço. Ao configurar seu ambiente com o VPC Service Controls, é possível manter os dados confidenciais em sigilo enquanto aproveita os recursos de orquestração de fluxo de trabalho totalmente gerenciados do Cloud Composer.
A compatibilidade do VPC Service Controls com o Cloud Composer significa que:
- O Cloud Composer agora pode ser selecionado como um serviço seguro dentro de um perímetro do VPC Service Controls.
- Todos os recursos subjacentes usados pelo Cloud Composer estão configurados para serem compatíveis com a arquitetura do VPC Service Controls e seguem as regras dela.
A implantação dos ambientes do Cloud Composer com o VPC Service Controls oferece:
- Risco reduzido de exfiltração de dados.
- Proteção contra exposição de dados devido a controles de acesso configurados incorretamente.
- Risco reduzido de usuários mal-intencionados copiando dados para recursos Google Cloud não autorizados ou invasores externos acessando recursosGoogle Cloud pela Internet.
Sobre o VPC Service Controls no Cloud Composer
- Todas as restrições de rede do VPC Service Controls também se aplicam aos ambientes do Cloud Composer. Para mais detalhes, consulte a documentação do VPC Service Controls.
Se um ambiente do Cloud Composer estiver protegido por um perímetro, o acesso a repositórios PyPI públicos será restrito. Consulte o artigo Instalar pacotes PyPI no VPC Service Controls para mais informações.
Se o ambiente usar redes IP particulares, todo o tráfego interno será roteado para a rede VPC, exceto o tráfego para APIs, serviços e domínios do Google que estão disponíveis para ambientes de IP particular com o Acesso privado do Google.
Dependendo de como você configura sua rede VPC, um ambiente de IP particular pode ter acesso à Internet pela rede VPC.
No modo VPC Service Controls, o acesso ao servidor da Web é protegido pelo perímetro, e o acesso de fora do perímetro é bloqueado. Para permitir acesso de fora do perímetro de serviço, configure níveis de acesso ou regras de entrada e saída conforme necessário. Além disso, é possível restringir o acesso ao servidor da Web a intervalos de IP específicos.
Sobre a conectividade com APIs e serviços do Google no VPC Service Controls
O Cloud Composer 3 encaminha o tráfego para os serviços do Google pelo
restricted.googleapis.com
, que permite o acesso a APIs, serviços e
domínios do Google compatíveis com esse intervalo.
Para mais informações e a lista de serviços e domínios disponíveis
com restricted.googleapis.com
, consulte
Configuração de rede na documentação da
nuvem privada virtual.
O Cloud Composer 3 bloqueia chamadas para APIs, serviços e domínios do Google que não estão na lista de APIs e serviços obrigatórios. Se você quiser chamar uma API de um DAG, faça o seguinte:
- Adicionar o serviço aos serviços restritos
- Adicionar o serviço aos serviços acessíveis por VPC
Por exemplo, se você usa um operador do VertexAI, adicione aiplatform.googleapis.com
a serviços restritos e a serviços acessíveis por VPC.
Para mais informações, consulte Gerenciar perímetros de serviço na documentação do VPC Service Controls.
Criar um perímetro de serviço
Consulte Como criar um perímetro de serviço para saber como criar e configurar perímetros de serviço. Selecione o Cloud Composer como um dos serviços protegidos dentro do perímetro.
Criar ambientes em um perímetro
As etapas a seguir são necessárias para implantar o Cloud Composer em um perímetro:
Ative a API Access Context Manager e a API do Cloud Composer no projeto. Consulte Como ativar APIs para referência.
Verifique se o perímetro de serviço tem os seguintes serviços do Google acessíveis por VPC. Caso contrário, a criação do ambiente pode falhar:
- API Cloud Composer (composer.googleapis.com)
- API Artifact Registry (artifactregistry.googleapis.com)
- API Compute Engine (compute.googleapis.com)
- API Kubernetes Engine (container.googleapis.com)
- API Container File System (containerfilesystem.googleapis.com)
- API Cloud DNS (dns.googleapis.com)
- API Service Account Credentials (iamcredentials.googleapis.com)
- API Cloud Logging (logging.googleapis.com)
- API Cloud Monitoring (monitoring.googleapis.com)
- API Cloud Pub/Sub (pubsub.googleapis.com)
- API Cloud SQL Admin (sqladmin.googleapis.com)
- API Cloud Storage (storage.googleapis.com)
Crie um novo ambiente do Cloud Composer:
- Use a Google Cloud CLI para criar seu ambiente.
- Ative o IP particular com o argumento
--enable-private-environment
. - Especifique parâmetros de acesso para o servidor da Web com
argumentos
--web-server-allow-all
,--web-server-allow-ip
ou--web-server-deny-all
. Para mais informações sobre o uso desses argumentos, consulte Criar ambientes. Para melhorar a proteção, permita o acesso ao servidor da Web apenas de intervalos de IP específicos. Não permitir a instalação de pacotes de repositórios públicos da Internet com o argumento
--enable-private-builds-only
.Exemplo:
gcloud composer environments create example-environment \ --location us-central1 \ --enable-private-environment \ --web-server-allow-all \ --enable-private-builds-only
Por padrão, o acesso à interface e à API do Airflow só é permitido dentro do perímetro de segurança. Se você quiser disponibilizá-lo fora do perímetro de segurança, configure níveis de acesso ou regras de entrada e saída.
Adicionar um ambiente ao perímetro
É possível adicionar o projeto que contém seu ambiente a um perímetro se os ambientes usarem IP particular e a instalação de pacotes PyPI de repositórios públicos estiver desativada.
Para atualizar um ambiente do Cloud Composer 3 para essa configuração:
- Verifique se você já criou ou configurou o perímetro conforme descrito na seção anterior.
- Use a Google Cloud CLI para atualizar seu ambiente.
- Ative o IP particular com o argumento
--enable-private-environment
. - Não permitir a instalação de pacotes de repositórios públicos da Internet
com o argumento
--enable-private-builds-only
. - Se necessário, configure o acesso ao servidor da Web do Airflow. Para melhorar a proteção, permita o acesso ao servidor da Web apenas de intervalos de IP específicos.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--enable-private-environment \
--enable-private-builds-only
Instalar pacotes PyPI no VPC Service Controls
Na configuração padrão do VPC Service Controls, o Cloud Composer é compatível apenas com a instalação de pacotes PyPI de repositórios particulares acessíveis do espaço de endereço IP interno da rede VPC.
Todos os ambientes do Cloud Composer em um perímetro do VPC Service Controls não têm acesso a repositórios PyPI públicos por padrão.
Instalar de um repositório particular
A configuração recomendada é definir um repositório PyPI particular:
Preencha-o com pacotes verificados usados pela organização e, em seguida, configure o Cloud Composer para instalar dependências do Python de um repositório particular.
Instalar de um repositório público
Para instalar pacotes PyPI de um repositório externo:
- Crie um repositório remoto do Artifact Registry.
- Conceda a este repositório acesso a origens upstream.
- Configure o Airflow para instalar pacotes de um repositório do Artifact Registry.
Registros do VPC Service Controls
Ao resolver problemas de criação de ambiente, analise os registros de auditoria gerados pelo VPC Service Controls.
Além de outras mensagens de registro, você pode conferir os registros para informações sobre as contas de serviço
cloud-airflow-prod@system.gserviceaccount.com
e
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
que configuram componentes dos seus ambientes.
O serviço do Cloud Composer usa a conta de serviço cloud-airflow-prod@system.gserviceaccount.com
para gerenciar os componentes do projeto do locatário dos seus ambientes.
A conta de serviço
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
, também conhecida como conta de serviço do agente de serviço do Composer, gerencia
componentes de ambiente em
projetos de serviço e host.