Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Os VPC Service Controls permitem que as organizações definam um perímetro em torno dos Google Cloud recursos para mitigar os riscos de exfiltração de dados.
Os ambientes do Cloud Composer podem ser implementados num perímetro de serviço. Ao configurar o seu ambiente com os VPC Service Controls, pode manter os dados sensíveis privados enquanto tira partido das capacidades de orquestração de fluxo de trabalho totalmente geridas do Cloud Composer.
O suporte dos VPC Service Controls para o Cloud Composer significa que:
- Agora, o Cloud Composer pode ser selecionado como um serviço seguro num perímetro do VPC Service Controls.
- Todos os recursos subjacentes usados pelo Cloud Composer estão configurados para suportar a arquitetura dos VPC Service Controls e seguir as respetivas regras.
A implementação de ambientes do Cloud Composer com os VPC Service Controls oferece-lhe:
- Risco reduzido de exfiltração de dados.
- Proteção contra a exposição de dados devido a controlos de acesso configurados incorretamente.
- Risco reduzido de utilizadores maliciosos copiarem dados paraGoogle Cloud recursos não autorizados ou de atacantes externos acederem aGoogle Cloud recursos a partir da Internet.
Acerca dos VPC Service Controls no Cloud Composer
- Todas as restrições de rede dos VPC Service Controls também se aplicam aos seus ambientes do Cloud Composer. Consulte a documentação do VPC Service Controls para ver detalhes.
Se um ambiente do Cloud Composer estiver protegido por um perímetro, o acesso a repositórios públicos do PyPI é restrito. Consulte o artigo Instale pacotes PyPI no VPC Service Controls para mais informações.
Se o seu ambiente usar redes IP privadas, todo o tráfego interno é encaminhado para a sua rede VPC, exceto o tráfego para APIs, serviços e domínios Google que estão disponíveis para ambientes de IP privado através do acesso privado à Google.
Consoante a forma como configura a sua rede VPC, um ambiente de IP privado pode obter acesso à Internet através da sua rede VPC.
No modo VPC Service Controls, o acesso ao servidor Web está protegido pelo perímetro e o acesso a partir do exterior do perímetro está bloqueado. Para permitir o acesso a partir do exterior do perímetro de serviço, configure os níveis de acesso ou as regras de entrada e saída, conforme necessário. Além disso, pode restringir o acesso ao servidor Web a intervalos de IP específicos.
Acerca da conetividade às APIs e aos serviços Google nos VPC Service Controls
O Cloud Composer 3 encaminha o tráfego para os serviços Google através de
restricted.googleapis.com
, o que permite o acesso a APIs, serviços e
domínios Google suportados por este intervalo.
Para mais informações e a lista de serviços e domínios disponíveis
através do 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 Google que não estão na lista de APIs e serviços necessários. Se quiser chamar uma API a partir de um DAG, certifique-se de que:
- Adicione o serviço aos serviços restritos
- Adicione o serviço aos serviços acessíveis da VPC
Por exemplo, se usar um operador VertexAI, adicione aiplatform.googleapis.com
ambos aos serviços restritos e aos serviços acessíveis por VPC.
Para mais informações, consulte o artigo Faça a gestão dos perímetros de serviço na documentação do VPC Service Controls.
Crie ambientes num perímetro
Os passos seguintes são necessários para implementar o Cloud Composer dentro de um perímetro:
Ative a API Access Context Manager e a API Cloud Composer para o seu projeto. Consulte o artigo Ativar APIs para referência.
Crie um perímetro seguindo as instruções de configuração do perímetro na documentação do VPC Service Controls. Certifique-se de que a lista de serviços restritos inclui todos os serviços usados pelo Cloud Composer, além de outros serviços que quer restringir:
- 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)
- Cloud DNS API (dns.googleapis.com)
- API Service Account Credentials (iamcredentials.googleapis.com)
- Cloud Logging API (logging.googleapis.com)
- Cloud Monitoring API (monitoring.googleapis.com)
- API Cloud Pub/Sub (pubsub.googleapis.com)
- API Cloud SQL Admin (sqladmin.googleapis.com)
API Cloud Storage (storage.googleapis.com)
Para todos os outros serviços usados pelos seus DAGs:
- Adicione o serviço aos serviços restritos.
- Adicione o serviço aos serviços acessíveis por VPC.
Crie um novo ambiente do Cloud Composer:
- Use a Google Cloud CLI para criar o seu ambiente.
- Ative o IP privado com o argumento
--enable-private-environment
. - Especifique os parâmetros de acesso para o servidor Web com os argumentos
--web-server-allow-all
,--web-server-allow-ip
ou--web-server-deny-all
. Para mais informações sobre a utilização destes argumentos, consulte o artigo Crie ambientes. Para melhorar a proteção, permita apenas o acesso ao servidor Web a partir de intervalos de IP específicos. Não permita 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 predefinição, o acesso à IU e à API do Airflow só é permitido a partir do perímetro de segurança. Se quiser disponibilizá-lo fora do perímetro de segurança, configure níveis de acesso ou regras de entrada e saída.
Adicione um ambiente existente ao perímetro
Pode adicionar o projeto que contém o seu ambiente a um perímetro se os seus ambientes usarem um IP privado e a instalação de pacotes PyPI a partir de repositórios públicos estiver desativada.
Para atualizar um ambiente do Cloud Composer 3 existente para esta configuração:
- Certifique-se de que já criou ou configurou o perímetro conforme descrito na secção anterior.
- Use a CLI Google Cloud para atualizar o seu ambiente.
- Ative o IP privado com o argumento
--enable-private-environment
. - Não permita 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 Web do Airflow. Para melhorar a proteção, permita apenas o acesso ao servidor Web a partir de intervalos de IP específicos.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--enable-private-environment \
--enable-private-builds-only
Instale pacotes PyPI no VPC Service Controls
Na configuração predefinida dos VPC Service Controls, o Cloud Composer só suporta a instalação de pacotes PyPI a partir de repositórios privados que sejam acessíveis a partir do espaço de endereços IP interno da rede VPC.
Por predefinição, todos os ambientes do Cloud Composer num perímetro dos VPC Service Controls não têm acesso a repositórios públicos do PyPI.
Instale a partir de um repositório privado
A configuração recomendada é configurar um repositório PyPI privado:
Preencha-o com pacotes validados usados pela sua organização e, em seguida, configure o Cloud Composer para instalar dependências do Python a partir de um repositório privado.
Instale a partir de um repositório público
Para instalar pacotes PyPI a partir de um repositório externo:
- Crie um repositório remoto do Artifact Registry.
- Conceda a este repositório acesso a origens a montante.
- Configure o Airflow para instalar pacotes a partir de um repositório do Artifact Registry.
Registos dos VPC Service Controls
Ao resolver problemas de criação de ambientes, pode analisar os registos de auditoria gerados pelo VPC Service Controls.
Além de outras mensagens de registo, pode verificar os registos para obter 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 Cloud Composer usa a conta de serviço cloud-airflow-prod@system.gserviceaccount.com
para gerir os componentes do projeto de inquilino dos seus ambientes.
A
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
conta de serviço, também conhecida como conta de serviço do agente de serviço do Composer, gere os
componentes do ambiente nos
projetos de serviço e anfitrião.