Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Proteger seu ambiente do Cloud Composer é essencial para proteger dados sensíveis e evitar 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 de ambiente.
Para mais informações sobre os recursos de segurança disponíveis no Cloud Composer, consulte Visão geral da segurança.
Gerenciar a configuração do ambiente e os DAGs usando o controle de versões
Crie seu ambiente usando o Terraform. Assim, é possível armazenar a configuração do ambiente como código em um repositório. Assim, as mudanças na configuração do ambiente podem ser revisadas antes de serem aplicadas, e você pode reduzir o número de usuários com permissões para mudar a configuração atribuindo funções com menos permissões.
No Identity and Access Management, desative o acesso direto a DAGs e à configuração do ambiente para usuários comuns, conforme detalhado na seção Identity and Access Management.
Implante DAGs no seu ambiente com um pipeline de CI/CD para que o código DAG seja recuperado de um repositório. Assim, os DAGs são revisados e aprovados antes que as mudanças sejam mescladas ao sistema de controle de versões. Durante o processo de revisão, os aprovadores garantem que os DAGs atendam aos critérios de segurança estabelecidos nas equipes. A etapa de revisão é fundamental para evitar a implantação de DAGs que possam realizar ações indesejadas.
Alguns aspectos importantes de segurança a serem considerados ao revisar DAGs:
Os DAGs que modificam o conteúdo do bucket do ambiente não podem modificar o código de outros DAGs nem acessar dados sensíveis, a menos que seja essa a intenção.
Os DAGs não podem fazer consultas diretas no banco de dados do Airflow, a menos que seja intencional. Um DAG em um ambiente do Cloud Composer tem acesso a todas as tabelas no banco de dados do Airflow. É possível recuperar informações de qualquer tabela, processá-las e armazená-las fora do banco de dados do Airflow.
Segurança de rede
Use ambientes de IP privado 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 e para o cluster do seu ambiente.
Configure a conectividade com APIs e serviços do Google pelo domínio
private.googleapis.com
para que seu ambiente acesse APIs e serviços do Google por endereços IP roteáveis apenas de dentro de Google Cloud.Revise as regras gerais de firewall no projeto e na rede VPC em que o ambiente está localizado. Dependendo da forma como você os configura, os componentes do Airflow no seu ambiente, como os workers que executam os DAGs, podem acessar a Internet.
Identity and Access Management
Isolar permissões. Crie contas de serviço de ambiente e use contas 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 em 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 as concedidas pela papel básico de Editor, isso cria o risco de DAGs usarem permissões mais amplas do que o pretendido.
Não dependa das 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.
Confira as considerações de segurança para contas de serviço do ambiente e entenda como essa conta interage com as permissões e os papéis concedidos a usuários individuais no projeto.
Siga o princípio de privilégio mínimo. Conceda apenas as permissões mínimas necessárias aos usuários. Por exemplo, atribua papéis do IAM para que apenas 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 à interface do Airflow.
Imponha o controle de acesso da interface do Airflow, que permite reduzir a visibilidade na interface do Airflow e na interface do DAG com base na função do usuário no Airflow. Ele 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.
Tenha cuidado ao transmitir e armazenar dados sensíveis:
Tenha cuidado ao transmitir ou armazenar 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 nas suas DAGs ou variáveis de ambiente.
Conceda permissões do IAM ao bucket do ambiente apenas para usuários confiáveis. Use permissões por objeto, se possível. Considerações de segurança para contas de serviço do ambiente listam várias maneiras pelas quais os usuários com acesso ao bucket do ambiente podem realizar ações em nome da conta de serviço do ambiente.
Confira quais dados são armazenados nos snapshots e conceda permissões para criar snapshots de 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ção criptografada (SSL/TLS).
A seguir
- Visão geral da segurança
- Controle de acesso com o IAM
- Controle de acesso à interface do Airflow
- Apresentação do Airflow Summit sobre segurança de DAGs