Práticas recomendadas de segurança

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

A proteção do 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 a segurança da rede, a gestão de identidade e de acesso, a encriptação e a gestão da configuração do ambiente.

Para obter mais informações sobre as funcionalidades de segurança disponíveis no Cloud Composer, consulte a Vista geral da segurança.

Faça a gestão da configuração do ambiente e dos DAGs através do controlo de versões

Um exemplo de uma pipeline de CI/CD do Airflow
Figura 1. Um exemplo de um pipeline de CI/CD do Airflow (clique para aumentar)
  • Crie o seu ambiente com o Terraform. Desta forma, pode armazenar a configuração do ambiente como código num repositório. Desta forma, as alterações à configuração do seu ambiente podem ser revistas antes de serem aplicadas, e pode reduzir o número de utilizadores que têm autorizações para alterar a configuração atribuindo funções com menos autorizações.

  • Na gestão de identidade e acesso, desative o acesso direto aos DAGs e à configuração do ambiente para utilizadores normais, conforme detalhado na secção Gestão de identidade e acesso.

  • Implemente DAGs no seu ambiente com um pipeline de CI/CD, para que o código DAG seja obtido a partir de um repositório. Desta forma, os DAGs são revistos e aprovados antes de as alterações serem unidas no sistema de controlo de versões. Durante o processo de revisão, os aprovadores certificam-se de que os DAGs cumprem os critérios de segurança estabelecidos nas respetivas equipas. O passo de revisão é fundamental para evitar a implementação de DAGs que possam realizar ações indesejadas.

    Alguns aspetos de segurança importantes a ter em conta ao rever os DAGs são:

    • Os DAGs que modificam o conteúdo do contentor do ambiente não devem modificar o código de outros DAGs nem aceder a dados confidenciais, exceto se for essa a intenção.

    • Os DAGs não podem fazer consultas diretas à base de dados do Airflow, a menos que seja essa a intenção. Um DAG num ambiente do Cloud Composer tem acesso a todas as tabelas na base de dados do Airflow. É possível obter informações de qualquer tabela, processá-las e, em seguida, armazená-las fora da base de dados do Airflow.

Segurança de redes

  • Use ambientes de IP privado para que os componentes do Airflow no cluster que executa o seu ambiente não sejam atribuídos a endereços IP públicos e comuniquem apenas através da rede interna da Google.

  • Implemente regras de firewall rigorosas para controlar o tráfego de e para o cluster do seu ambiente.

  • Configure a conetividade às APIs e aos serviços Google através do domínio private.googleapis.com para que o seu ambiente aceda às APIs e aos serviços Google através de endereços IP apenas encaminháveis a partir de Google Cloud.

  • Reveja as regras de firewall gerais no seu projeto e na rede de VPC onde o seu ambiente está localizado. Consoante a forma como os configura, os componentes do Airflow do seu ambiente, como os trabalhadores do Airflow que executam os seus DAGs, podem aceder à Internet.

Gestão de identidade e de acesso

  • Isolar autorizações. Crie contas de serviço de ambiente e use contas de serviço diferentes para ambientes diferentes. Atribua a estas contas de serviço apenas autorizações estritamente necessárias para operar estes ambientes e executar operações definidas nos DAGs do Airflow que executam.

  • Evite usar contas de serviço com autorizações gerais. Embora seja possível criar um ambiente que use uma conta com autorizações amplas, como as concedidas pela função básica de Editor, isto cria um risco de DAGs que usam autorizações mais amplas do que o pretendido.

  • Não confie nas contas de serviço predefinidas dos serviços Google usados pelo Cloud Composer. Muitas vezes, é impossível reduzir as autorizações disponíveis para estas contas de serviço sem também afetar outros serviços Google no seu projeto.

  • Certifique-se de que conhece as considerações de segurança para as contas de serviço do ambiente e compreende como esta conta interage com as autorizações e as funções que concede a utilizadores individuais no seu projeto.

  • Aderir ao princípio do menor privilégio. Conceda apenas as autorizações mínimas necessárias aos utilizadores. Por exemplo, atribuir funções da IAM, para que apenas os administradores possam aceder ao contentor do ambiente e ao cluster do ambiente , e o acesso direto seja desativado para utilizadores normais. Por exemplo, a função de Utilizador do compositor permite o acesso apenas à IU do DAG e à IU do Airflow.

  • Aplique o controlo de acesso da IU do Airflow, que permite reduzir a visibilidade na IU do Airflow e na IU do DAG com base na função do Airflow do utilizador e pode ser usado para atribuir autorizações ao nível do DAG para DAGs individuais.

  • Reveja-as regularmente. Audite regularmente as funções e as autorizações de IAM para identificar e remover privilégios excessivos ou não utilizados.

  • Tenha cuidado ao transmitir e armazenar dados confidenciais:

    • Tenha cuidado ao transmitir e armazenar dados confidenciais, como informações pessoalmente identificáveis ou palavras-passe. Quando necessário, use o Secret Manager para armazenar em segurança ligações e segredos do Airflow, chaves de API, palavras-passe e certificados. Não armazene estas informações nos seus DAGs nem variáveis de ambiente.

    • Conceda autorizações da IAM ao contentor do ambiente apenas a utilizadores fidedignos. Se possível, use autorizações por objeto. Considerações de segurança para as contas de serviço do ambiente apresenta várias formas através das quais os utilizadores com acesso ao contentor do ambiente podem realizar ações em nome da conta de serviço do ambiente.

    • Certifique-se de que sabe que dados são armazenados nos resumos e conceda autorizações para criar resumos do ambiente e aceder ao contentor onde são armazenados apenas a utilizadores fidedignos.

    • Todas as interfaces externas do Cloud Composer usam a encriptação por predefinição. Quando se ligar a produtos e serviços externos, certifique-se de que usa comunicação encriptada (SSL/TLS).

O que se segue?