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.
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.
Certifique-se de que o seu perímetro de serviço tem os seguintes serviços acessíveis por VPC. Caso contrário, a criação do seu ambiente pode falhar:
- API Cloud Composer (composer.googleapis.com)
- API Compute Engine (compute.googleapis.com)
- API Kubernetes Engine (container.googleapis.com)
- API Container Registry (containerregistry.googleapis.com)
- API Artifact Registry (artifactregistry.googleapis.com)
- API Cloud Storage (storage.googleapis.com)
- API Cloud SQL Admin (sqladmin.googleapis.com)
- Cloud Logging API (logging.googleapis.com)
- Cloud Monitoring API (monitoring.googleapis.com)
- API Cloud Pub/Sub (pubsub.googleapis.com)
- API Security Token Service (sts.googleapis.com)
- Cloud Resource Manager API (cloudresourcemanager.googleapis.com)
- API Service Directory (servicedirectory.googleapis.com)
- API Cloud Key Management Service (cloudkms.googleapis.com), se estiver a usar chaves do Cloud KMS ou CMEK.
- API Secret Manager (secretmanager.googleapis.com), se estiver a usar o Secret Manager como um back-end secreto.
Crie um novo ambiente do Cloud Composer:
O IP privado tem de estar ativado. Tenha em atenção que esta definição tem de ser configurada durante a criação do ambiente.
Lembre-se de configurar 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. Para ver detalhes, consulte o artigo Configure o acesso à rede do servidor Web.
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:
- Já criou ou configurou o perímetro conforme descrito na secção anterior.
- Os seus ambientes usam IP privado.
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.
Conceda autorizações adicionais para instalar pacotes de repositórios privados à conta de serviço do seu ambiente, conforme descrito em Controlo de acesso.
Instale a partir de um repositório público
Repositório remoto
Esta é a abordagem recomendada para instalar pacotes a partir de um repositório público.
Para instalar pacotes PyPI a partir de repositórios fora do espaço de IP privado, siga estes passos:
- 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.
- Conceda autorizações adicionais para instalar pacotes de repositórios do Artifact Registry à conta de serviço do seu ambiente, conforme descrito no artigo Controlo de acesso.
Ligações externas
Para instalar pacotes PyPI a partir de repositórios fora do espaço de IP privado, siga estes passos:
Configure o Cloud NAT para permitir que o Cloud Composer em execução no espaço de IP privado se ligue a repositórios PyPI externos.
Configure as regras de firewall para permitir ligações de saída do cluster do Composer ao repositório.
Configure a conetividade às APIs e aos serviços Google
Numa configuração do VPC Service Controls, para controlar o tráfego de rede, configure o acesso às APIs e aos serviços Google através do
restricted.googleapis.com
. Este domínio bloqueia o acesso às APIs Google e aos serviços que não suportam os VPC Service Controls.
Os ambientes do Cloud Composer usam os seguintes domínios:
*.googleapis.com
é usado para aceder a outros serviços Google.*.composer.cloud.google.com
é usado para tornar o servidor Web do Airflow do seu ambiente acessível. Esta regra tem de ser aplicada antes de criar um ambiente.- Em alternativa, pode criar uma regra para uma região específica. Para o fazer,
use
REGION.composer.cloud.google.com
. SubstituaREGION
pela região onde o ambiente está localizado, por exemplo,us-central1
.
- Em alternativa, pode criar uma regra para uma região específica. Para o fazer,
use
(Opcional)
*.composer.googleusercontent.com
é usado quando acede ao servidor Web do Airflow do seu ambiente. Esta regra só é necessária se aceder ao servidor Web do Airflow a partir de uma instância executada na rede VPC e não é necessária de outra forma. Um cenário comum para esta regra é quando quer chamar a API REST do Airflow a partir da rede da VPC.- Em alternativa, pode criar uma regra para um ambiente específico. Para o fazer, use
ENVIRONMENT_WEB_SERVER_NAME.composer.googleusercontent.com
. SubstituaENVIRONMENT_WEB_SERVER_NAME
pela parte única do URL da IU do Airflow do seu ambiente, por exemplo,bffe6ce6c4304c55acca0e57be23128c-dot-us-central1
.
- Em alternativa, pode criar uma regra para um ambiente específico. Para o fazer, use
*.pkg.dev
é usado para obter imagens de ambiente, como quando cria ou atualiza um ambiente.*.gcr.io
O GKE requer conetividade ao domínio do Container Registry, independentemente da versão do Cloud Composer.
Configure a conetividade ao ponto final restricted.googleapis.com
:
Domínio | Nome de DNS | Registo CNAME | Registo A |
---|---|---|---|
*.googleapis.com
|
googleapis.com. |
Nome DNS: *.googleapis.com. Tipo de registo de recurso: CNAME Nome canónico: googleapis.com. |
Tipo de registo de recursos: A Endereços IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 e 199.36.153.7
|
*.composer.cloud.google.com
|
composer.cloud.google.com. |
Nome DNS: *.composer.cloud.google.com. Tipo de registo de recurso: CNAME Nome canónico: composer.cloud.google.com. |
Tipo de registo de recursos: A Endereços IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 e 199.36.153.7
|
*.composer.googleusercontent.com
(opcional, consulte a descrição) |
composer.googleusercontent.com. |
Nome DNS: *.composer.googleusercontent.com. Tipo de registo de recurso: CNAME Nome canónico: composer.googleusercontent.com. |
Tipo de registo de recursos: A Endereços IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 e 199.36.153.7
|
*.pkg.dev
|
pkg.dev. |
Nome DNS: *.pkg.dev. Tipo de registo de recurso: CNAME Nome canónico: pkg.dev. |
Tipo de registo de recursos: A Endereços IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 e 199.36.153.7
|
*.gcr.io
|
gcr.io. |
Nome DNS: *.gcr.io. Tipo de registo de recurso: CNAME Nome canónico: gcr.io. |
Tipo de registo de recursos: A Endereços IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 e 199.36.153.7
|
Para criar uma regra de DNS:
Crie uma nova zona DNS e use DNS name como nome DNS desta zona.
Exemplo:
pkg.dev.
Adicione um conjunto de registos para o registo CNAME.
Exemplo:
- Nome de DNS:
*.pkg.dev.
- Tipo de registo de recurso:
CNAME
- Nome canónico:
pkg.dev.
- Nome de DNS:
Adicione um conjunto de registos com para registo A:
Exemplo:
- Tipo de registo de recurso:
A
- Endereços IPv4:
199.36.153.4
,199.36.153.5
,199.36.153.6
,199.36.153.7
- Tipo de registo de recurso:
Para mais informações, consulte o artigo Configurar a conetividade privada às APIs e aos serviços Google.
Configure regras de firewall
Se o seu projeto tiver regras de firewall não predefinidas, como regras que substituem as regras de firewall implícitas ou modificam as regras pré-preenchidas na rede predefinida, verifique se as seguintes regras de firewall estão configuradas.
Por exemplo, o Cloud Composer pode não conseguir criar um ambiente se tiver uma regra de firewall que negue todo o tráfego de saída. Para evitar problemas,
defina regras allow
seletivas que seguem a lista e têm uma prioridade mais alta
do que a regra deny
global.
Configure a sua rede VPC para permitir o tráfego do seu ambiente:
- Consulte o artigo Usar regras de firewall para saber como verificar, adicionar e atualizar regras para a sua rede de VPC.
- Use a ferramenta de conetividade para validar a conetividade entre intervalos de IP.
- Pode usar etiquetas de rede para limitar ainda mais o acesso. Pode definir estas etiquetas quando cria um ambiente.
Descrição | Direção | Ação | Origem ou destino | Protocolos | Portas |
---|---|---|---|---|---|
DNS Configure conforme descrito no artigo Suporte do VPC Service Controls para o Cloud DNS |
- | - | - | - | - |
APIs e serviços Google | Saída | Permitir | Endereços IPv4 de restricted.googleapis.com que usa para as APIs e os serviços Google. |
TCP | 443 |
Nós de cluster do ambiente | Saída | Permitir | Intervalo de endereços IP principal da sub-rede do ambiente | TCP, UDP | todos |
Pods do cluster do ambiente | Saída | Permitir | Intervalo de endereços IP secundários para pods na sub-rede do ambiente | TCP, UDP | todos |
Plano de controlo do cluster do ambiente | Saída | Permitir | Intervalo de IPs do plano de controlo do GKE | TCP, UDP | todos |
(Se o seu ambiente usar o Private Service Connect) Sub-rede de ligação | Saída | Permitir | Intervalo da sub-rede de ligação do Cloud Composer | TCP | 3306, 3307 |
(Se o seu ambiente usar interligações de VPC) Rede de inquilino | Saída | Permitir | Intervalo de IP da rede de inquilinos do Cloud Composer | TCP | 3306, 3307 |
Para obter os intervalos de IP do cluster de ambientes:
Os intervalos de endereços de pods, serviços e planos de controlo estão disponíveis na página Clusters do cluster do seu ambiente:
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.
Aceda ao separador Configuração do ambiente.
Siga o link ver detalhes do cluster.
Pode ver o intervalo de IPs da rede do inquilino do Cloud Composer do ambiente no separador Configuração do ambiente.
Pode ver o ID da sub-rede do ambiente e o ID da sub-rede de ligação do Cloud Composer no separador Configuração do ambiente. Para obter intervalos de IP para uma sub-rede, aceda à página Redes VPC e clique no nome da rede para ver os detalhes:
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.