Configure os VPC Service Controls

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

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:

  1. Ative a API Access Context Manager e a API Cloud Composer para o seu projeto. Consulte o artigo Ativar APIs para referência.

  2. 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:

      1. Adicione o serviço aos serviços restritos.
      2. Adicione o serviço aos serviços acessíveis por VPC.
  3. Crie um novo ambiente do Cloud Composer:

    1. Use a Google Cloud CLI para criar o seu ambiente.
    2. Ative o IP privado com o argumento --enable-private-environment.
    3. 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.
    4. 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
      
  4. 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:

  1. Certifique-se de que já criou ou configurou o perímetro conforme descrito na secção anterior.
  2. Use a CLI Google Cloud para atualizar o seu ambiente.
  3. Ative o IP privado com o argumento --enable-private-environment.
  4. Não permita a instalação de pacotes de repositórios públicos da Internet com o argumento --enable-private-builds-only.
  5. 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:

  1. 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:

  1. Crie um repositório remoto do Artifact Registry.
  2. Conceda a este repositório acesso a origens a montante.
  3. 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.

O que se segue?