A 15 de setembro de 2026, todos os ambientes do Cloud Composer 1 e do Cloud Composer 2 versão 2.0.x vão atingir o fim da vida útil planeado e não vai poder usá-los. Recomendamos que planeie a migração para o Cloud Composer 3.
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
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.
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.
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).
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-28 UTC."],[[["\u003cp\u003eSecuring a Cloud Composer environment involves implementing best practices for network security, Identity and Access Management (IAM), encryption, and environment configuration management.\u003c/p\u003e\n"],["\u003cp\u003eManaging environment configurations and DAGs using version control and CI/CD pipelines is crucial for ensuring code review and preventing unauthorized changes to the environment.\u003c/p\u003e\n"],["\u003cp\u003eUtilizing Private IP environments, implementing strict firewall rules, and configuring connectivity to Google APIs through the \u003ccode\u003eprivate.googleapis.com\u003c/code\u003e domain are vital for network security.\u003c/p\u003e\n"],["\u003cp\u003eIsolating permissions through dedicated service accounts and adhering to the principle of least privilege are key aspects of effective Identity and Access Management.\u003c/p\u003e\n"],["\u003cp\u003eSensitive data should be managed securely using Secret Manager, avoiding storage in DAGs or environment variables, and limiting access to environment buckets and snapshots to trusted users.\u003c/p\u003e\n"]]],[],null,["# Security best practices\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\n[Cloud Composer 3](/composer/docs/composer-3/security-practices \"View this page for Cloud Composer 3\") \\| [Cloud Composer 2](/composer/docs/composer-3/security-practices \"View this page for Cloud Composer 2\") \\| **Cloud Composer 1**\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nSecuring your Cloud Composer environment is crucial for protecting\nsensitive data and preventing unauthorized access. This page outlines key best\npractices, including recommendations for network security, Identity and Access Management,\nencryption, and environment configuration management.\n\nTo get more information about security features available in\nCloud Composer, see [Security overview](/composer/docs/composer-1/composer-security-overview).\n\nManage environment configuration and DAGs using version control\n---------------------------------------------------------------\n\n[](/static/composer/docs/images/composer-airflow-secure-cicd.svg) **Figure 1.** An example of an Airflow CI/CD pipeline (click to enlarge)\n\n- [Create your environment using Terraform](/composer/docs/composer-1/terraform-create-environments).\n In this way, you can store environment's configuration as code in a\n repository. In this way, changes to your environment configuration can be\n reviewed before they are applied, and you can reduce the number of users\n who have permissions to change the configuration by assigning roles with\n less permissions.\n\n- In Identity and Access Management, disable direct access to DAGs and environment's\n configuration to regular users, as detailed in the\n [Identity and Access Management](#iam-security) section.\n\n- [Deploy DAGs in your environment with a CI/CD pipeline](/composer/docs/composer-1/dag-cicd-github),\n so that DAG code is retrieved from a repository. In this way, DAGs are\n reviewed and approved before the changes are merged to the version control\n system. During the review process, approvers make sure that DAGs meet the\n security criteria established within their teams. The review step is\n critical to prevent deployment of DAGs that might perform unwanted actions.\n\n Some important security aspects to take into account when reviewing DAGs\n are:\n - DAGs that modify the content of the environment's bucket must not modify\n the code of other DAGs or access sensitive data, unless intended.\n\n - DAGs must not make direct queries to the Airflow database, unless\n intended. A DAG in a Cloud Composer environment has\n access to all tables in the Airflow database. It is possible to retrieve\n information from any table, process it, and then store it outside of the\n Airflow database.\n\nNetwork security\n----------------\n\n\u003cbr /\u003e\n\n- Use [Private IP environments](/composer/docs/composer-1/configure-private-ip) so that Airflow components in\n that run your environment's cluster are not assigned public IP addresses\n and communicate only over Google's internal network.\n\n- [Implement strict firewall rules](/composer/docs/composer-1/configure-private-ip#private-ip-firewall-rules) to control\n traffic to and from your environment's cluster.\n\n- [Configure connectivity to Google APIs and services](/composer/docs/composer-1/configure-private-ip#connectivity-domains)\n through the `private.googleapis.com` domain so that your environment\n accesses Google APIs and services through IP addresses only routable from\n within Google Cloud.\n\n- Review the general firewall rules in your project and in the VPC network\n where your environment is located. Depending on the way you configure them,\n Airflow components of your environment, such as Airflow workers that run\n your DAGs, might access the internet.\n\nIdentity and Access Management\n------------------------------\n\n- Isolate permissions.\n [Create environment service accounts](/composer/docs/composer-1/access-control#service-account)\n and use different service accounts for different environments. Assign to\n these service accounts only permissions that are strictly necessary to\n operate these environments and perform operations defined in Airflow DAGs\n that they run.\n\n- Avoid using service accounts with broad permissions. While it\n is possible to create an environment that uses an account with broad\n permissions, such as those granted by the **Editor** basic role, this\n creates a risk of DAGs using broader permissions than intended.\n\n- Don't rely on default service accounts of Google services used by\n Cloud Composer. It is often impossible to reduce permissions\n available to these service accounts without also affecting other Google\n services in your project.\n\n- Make sure that you are familiar with\n [security considerations for environment's service accounts](/composer/docs/composer-1/access-control#service-account-security)\n and understand how this account interacts with permissions and roles that\n you grant to individual users in your project.\n\n- Adhere to the principle of least privilege. Grant only the minimum necessary\n permissions to users. For example,\n [assign IAM roles](/composer/docs/composer-1/access-control#user-account), so that only\n administrators can access the environment's bucket\n\n and the environment's cluster\n ,\n and direct access is disabled for regular users. For example, the\n **Composer User** role enables access only to DAG UI and Airflow UI.\n\n- Enforce [Airflow UI Access Control](/composer/docs/composer-1/airflow-rbac), which allows to reduce\n visibility in Airflow UI and DAG UI based on user's Airflow role, and can be\n used to assign DAG-level permissions for individual DAGs.\n\n- Review regularly. Regularly audit IAM permissions and roles\n to identify and remove any excessive or unused privileges.\n\n- Beware of passing and storing sensitive data:\n\n - Exercise caution when passing storing sensitive data like personally\n identifiable information or passwords. Where required,\n [use Secret Manager](/composer/docs/composer-1/configure-secret-manager) to\n securely store Airflow connections and Airflow secrets, API keys,\n passwords, and certificates. Don't store this information in your DAGs\n or environment variables.\n\n - Grant IAM permissions to the environment's bucket only\n to trusted users. Use per-object permissions, if possible.\n [Security considerations for environment's service accounts](/composer/docs/composer-1/access-control#service-account-security)\n list several ways in which users with access to the environment's\n bucket can perform actions on behalf of the environment's service\n account.\n\n - Make sure that you are familiar with\n [what data is stored in the snapshots](/composer/docs/composer-1/save-load-snapshots) and provide\n permissions to create environment snapshots and access the bucket where\n they are stored only to trusted users.\n\n - All Cloud Composer's external interfaces use encryption by\n default. When connecting to external products and services, make sure\n that you use encrypted communication (SSL/TLS).\n\nWhat's next\n-----------\n\n- [Security overview](/composer/docs/composer-1/composer-security-overview)\n- [Access control with IAM](/composer/docs/composer-1/access-control)\n- [Airflow UI Access Control](/composer/docs/composer-1/airflow-rbac)\n- [Airflow summit presentation about DAG security](https://www.youtube.com/watch?v=QhnItssm4yU)"]]