Airflow gerenciado (geração 3) | Airflow gerenciado (geração 2) | Airflow gerenciado (geração 1 legada)
O VPC Service Controls permite que as organizações definam um perímetro em torno dos Google Cloud recursos para reduzir os riscos de exfiltração de dados.
Os ambientes do Airflow gerenciado 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 sensíveis em sigilo enquanto aproveita os recursos de orquestração de fluxo de trabalho totalmente gerenciados do Airflow Gerenciado.
A compatibilidade do VPC Service Controls com o Airflow gerenciado significa que:
- O Airflow gerenciado agora pode ser selecionado como um serviço seguro dentro de um perímetro do VPC Service Controls.
- Todos os recursos subjacentes usados pelo Airflow gerenciado 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 Airflow gerenciado 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 não autorizados Google Cloud ou invasores externos acessando Google Cloud recursos da Internet.
Sobre o VPC Service Controls no Airflow gerenciado
- Todas as restrições de rede do VPC Service Controls também se aplicam aos ambientes do Airflow gerenciado. Para mais detalhes, consulte a documentação do VPC Service Controls.
Se um ambiente do Airflow gerenciado estiver protegido por um perímetro, o acesso a repositórios PyPI públicos será restrito. Consulte Instalar pacotes PyPI no VPC Service Controls para mais informações.
Se o ambiente usar a rede de IP particular, 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 pelo Acesso privado do Google.
Dependendo de como você configura a rede VPC, um ambiente de IP particular pode acessar a Internet pela rede VPC.
O Airflow gerenciado não é compatível com o uso de identidades de terceiros em regras de entrada e saída para permitir operações da interface do Apache Airflow. No entanto, é possível usar o tipo de identidade
ANY_IDENTITYnas regras de entrada e saída para permitir o acesso a todas as identidades, incluindo as de terceiros. Para mais informações sobre o tipo de identidadeANY_IDENTITY, consulte Regras de entrada e saída.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 o 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 Airflow gerenciado (geração 3) roteia 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 pelo restricted.googleapis.com, consulte Configuração de rede na documentação da nuvem privada virtual.
Os ambientes do Airflow gerenciado (geração 3) bloqueiam chamadas para APIs, serviços e domínios do Google que não estão na lista de APIs e serviços necessários. Se você quiser chamar uma API de um DAG:
- Verifique se o serviço é compatível com o VPC Service Controls.
- Adicione o serviço aos serviços restritos.
- Adicione o serviço aos serviços acessíveis por VPC.
Por exemplo, se você usar um operador VertexAI, adicione aiplatform.googleapis.com aos serviços restritos e aos serviços acessíveis por VPC.
Para mais informações sobre como adicionar serviços a um perímetro, consulte Gerenciar perímetros de serviço na documentação do VPC Service Controls.
No Airflow gerenciado (geração 3), os serviços que não
são compatíveis com o VPC Service Controls
e não estão disponíveis pelo restricted.googleapis.com não podem ser acessados
em ambientes protegidos com o VPC Service Controls. Essa restrição foi adicionada no Airflow gerenciado (geração 3) para aumentar a segurança do ambiente. Embora o Airflow gerenciado (geração 2) permita configurar o acesso a esses serviços não compatíveis, recomendamos evitar isso em qualquer ambiente protegido pelo VPC Service Controls.
Criar ambientes em um perímetro
As etapas a seguir são necessárias para implantar o Airflow gerenciado em um perímetro:
Ative a API Access Context Manager e a API Airflow Gerenciado no projeto. Consulte Como ativar APIs para referência.
Crie um perímetro seguindo as instruções de configuração de perímetro na documentação do VPC Service Controls. Verifique se a lista de serviços restritos inclui todos os serviços usados pelo Airflow gerenciado, além de outros serviços que você quer restringir:
- API 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)
Para todos os outros serviços usados pelos 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 Airflow gerenciado:
- Use a CLI do Google Cloud para criar seu ambiente.
- Ative o IP particular com o argumento
--enable-private-environment. - Especifique os parâmetros de acesso para o servidor da Web com
--web-server-allow-all,--web-server-allow-ip, ou--web-server-deny-allargumentos. Para mais informações sobre como usar esses argumentos, consulte Criar ambientes. Para melhorar a proteção, permita o acesso ao servidor da Web somente 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
--enable-private-builds-onlyargumento.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 de 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 atual 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 Airflow gerenciado (geração 3) para essa configuração:
- Verifique se você já criou ou configurou o perímetro conforme descrito na seção anterior.
- Use a CLI do Google Cloud para atualizar seu ambiente.
- Ative o IP particular 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 da Web do Airflow. Para melhorar a proteção, permita o acesso ao servidor da Web somente 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
Instalar pacotes PyPI no VPC Service Controls
Na configuração padrão do VPC Service Controls, o Airflow gerenciado é 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 Airflow gerenciado 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 depois configure o Airflow gerenciado para instalar dependências do Python a partir 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 esse repositório acesso a fontes upstream.
- Configure o Airflow para instalar pacotes de um repositório do Artifact Registry.
Registros do VPC Service Controls
Ao solucionar problemas de criação de ambiente, é possível analisar os registros de auditoria gerados pelo VPC Service Controls.
Além de outras mensagens de registro, é possível verificar os registros para informações sobre
cloud-airflow-prod@system.gserviceaccount.com e
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
contas de serviço que configuram componentes dos ambientes.
O serviço do Airflow Gerenciado usa a
cloud-airflow-prod@system.gserviceaccount.com conta de serviço para gerenciar
componentes do projeto locatário dos 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, gerencia
componentes de ambiente em
projetos de serviço e host.