Práticas recomendadas de segurança

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Proteger seu ambiente do Cloud Composer é fundamental para proteger dados confidenciais e impedir o acesso não autorizado. Esta página descreve as principais práticas recomendadas, incluindo recomendações para segurança de rede, Identity and Access Management, criptografia e gerenciamento de configuração do ambiente.

Para mais informações sobre os recursos de segurança disponíveis no Cloud Composer, consulte Visão geral de segurança.

Gerenciar a configuração do ambiente e as DAGs usando o controle de versões

Exemplo de pipeline de CI/CD do Airflow
Figura 1. Exemplo de um pipeline de CI/CD do Airflow (clique para ampliar)
  • Crie seu ambiente usando o Terraform. Dessa forma, você pode armazenar a configuração do ambiente como código em um repositório. Dessa forma, as mudanças na configuração do ambiente podem ser analisadas antes de serem aplicadas, e você pode reduzir o número de usuários que têm permissões para mudar a configuração atribuindo funções com menos permissões.

  • Implante DAGs no seu ambiente com um pipeline de CI/CD, para que o código DAG seja recuperado de um repositório. Dessa forma, os DAGs são analisados e aprovados antes que as mudanças sejam mescladas ao sistema de controle de versões. Durante o processo de análise, os aprovadores verificam se os DAGs atendem aos critérios de segurança estabelecidos nas equipes. A etapa de revisão é essencial para evitar a implantação de DAGs que modifiquem o conteúdo do bucket do ambiente.

  • No Gerenciamento de identidade e acesso, desative o acesso direto a DAGs e à configuração do ambiente para usuários comuns, conforme detalhado na seção Gerenciamento de identidade e acesso.

Segurança de rede

  • Use ambientes de IP particular para que os componentes do Airflow que executam o cluster do ambiente não recebam endereços IP públicos e se comuniquem apenas pela rede interna do Google.

  • Implemente regras de firewall rígidas para controlar o tráfego de entrada e saída do cluster do ambiente.

  • Configure a conectividade a APIs e serviços do Google usando o domínio private.googleapis.com para que o ambiente acessa APIs e serviços do Google usando endereços IP somente roteáveis dentro de Google Cloud.

  • Revise as regras gerais de firewall no seu projeto e na rede VPC em que seu ambiente está localizado. Dependendo da forma como você os configura, os componentes do Airflow do seu ambiente, como workers que executam os DAGs, podem acessar a Internet.

Identity and Access Management

  • Isole as permissões. Crie contas de serviço de ambiente e use contas de serviço diferentes para ambientes diferentes. Atribua a essas contas de serviço apenas as permissões estritamente necessárias para operar esses ambientes e realizar operações definidas nos DAGs do Airflow que elas executam.

  • Evite usar contas de serviço com permissões amplas. Embora seja possível criar um ambiente que use uma conta com permissões amplas, como aquelas concedidas pela função básica de editor, isso cria o risco de DAGs usarem permissões mais amplas do que o pretendido.

  • Não confie em contas de serviço padrão dos serviços do Google usados pelo Cloud Composer. Muitas vezes, é impossível reduzir as permissões disponíveis para essas contas de serviço sem afetar outros serviços do Google no seu projeto.

  • Conheça as considerações de segurança para as contas de serviço do ambiente e entenda como essa conta interage com as permissões e funções que você concede a usuários individuais no projeto.

  • Siga o princípio do privilégio mínimo. Conceda apenas as permissões mínimas necessárias aos usuários. Por exemplo, atribua funções do IAM para que apenas os administradores possam acessar o bucket e o cluster do ambiente, e o acesso direto seja desativado para usuários comuns. Por exemplo, a função Usuário do Composer permite o acesso apenas à interface do DAG e do Airflow.

  • Aplique o controle de acesso da interface do Airflow, que permite reduzir a visibilidade na interface do Airflow e na interface do DAG com base no papel do usuário no Airflow e pode ser usado para atribuir permissões no nível do DAG para DAGs individuais.

  • Revise regularmente. Audite regularmente as permissões e os papéis do IAM para identificar e remover privilégios excessivos ou não utilizados.

  • Cuidado ao transmitir e armazenar dados sensíveis:

    • Tenha cuidado ao transmitir dados sensíveis, como informações de identificação pessoal ou senhas. Quando necessário, use o Secret Manager para armazenar com segurança conexões e secrets do Airflow, chaves de API, senhas e certificados. Não armazene essas informações em DAGs ou variáveis de ambiente.

    • Conceder permissões do IAM ao bucket do ambiente apenas para usuários confiáveis. Use permissões por objeto, se possível. As considerações de segurança para as contas de serviço do ambiente listam várias maneiras de usuários com acesso ao bucket do ambiente realizarem ações em nome da conta de serviço do ambiente.

    • Conheça quais dados são armazenados nos snapshots e forneça permissões para criar snapshots do ambiente e acessar o bucket em que eles são armazenados apenas para usuários confiáveis.

    • Todas as interfaces externas do Cloud Composer usam criptografia por padrão. Ao se conectar a produtos e serviços externos, use comunicações criptografadas (SSL/TLS).

A seguir