El 15 de septiembre de 2026, todos los entornos de Cloud Composer 1 y Cloud Composer 2 versión 2.0.x alcanzarán el final de su ciclo de vida previsto, y no podrás usarlos. Te recomendamos que planifiques la migración a Cloud Composer 3.
Proteger tu entorno de Cloud Composer es fundamental para proteger
los datos sensibles y evitar el acceso no autorizado. En esta página, se describen las prácticas recomendadas clave, incluidas las recomendaciones para la seguridad de la red, Identity and Access Management, la encriptación y la administración de la configuración del entorno.
Para obtener más información sobre las funciones de seguridad disponibles en
Cloud Composer, consulta Descripción general de seguridad.
Administra la configuración del entorno y los DAG con el control de versión
Figura 1. Ejemplo de una canalización de CI/CD de Airflow (haz clic para ampliar)
Crea tu entorno con Terraform.
De esta manera, puedes almacenar la configuración del entorno como código en un
repositorio. De esta manera, los cambios en la configuración de tu entorno se pueden revisar antes de que se apliquen, y puedes reducir la cantidad de usuarios que tienen permisos para cambiar la configuración asignando roles con menos permisos.
En Identity and Access Management, inhabilita el acceso directo a las DAG y la configuración del
ambiente para los usuarios normales, como se detalla en la sección
Identity and Access Management.
Implementa DAG en tu entorno con una canalización de CI/CD para que el código de DAG se recupere de un repositorio. De esta manera, los DAG se revisan y aprueban antes de que los cambios se combinen con el sistema de control de versión. Durante el proceso de revisión, los revisores se aseguran de que los DAG cumplan con los criterios de seguridad establecidos en sus equipos. El paso de revisión es fundamental para evitar la implementación de DAG que podrían realizar acciones no deseadas.
Estos son algunos aspectos de seguridad importantes que debes tener en cuenta cuando revises los DAG:
Los DAG que modifican el contenido del bucket del entorno no deben modificar el código de otros DAG ni acceder a datos sensibles, a menos que sea la intención.
Los DAG no deben realizar consultas directas a la base de datos de Airflow, a menos que sea su intención. Un DAG en un entorno de Cloud Composer tiene acceso a todas las tablas de la base de datos de Airflow. Es posible recuperar información de cualquier tabla, procesarla y, luego, almacenarla fuera de la base de datos de Airflow.
Seguridad de red
Usa el tipo de red de IP privada para tus entornos de modo que los componentes de Airflow del entorno no tengan acceso a Internet y su Acceso privado a Google se configure a través del rango private.googleapis.com, que permite el acceso a las APIs, los servicios y los dominios de Google compatibles con este rango.
Revisa las reglas de firewall en la red de VPC conectada a tu entorno (si está conectada). Según la forma en que los configures, es posible que los componentes de Airflow de tu entorno, como los trabajadores de Airflow que ejecutan tus DAG, accedan a Internet a través de tu red de VPC.
Identity and Access Management
Aísla los permisos.
Crea cuentas de servicio de entorno y usa cuentas de servicio diferentes para entornos diferentes. Asigna a estas cuentas de servicio solo los permisos que sean estrictamente necesarios para operar estos entornos y realizar las operaciones definidas en los DAG de Airflow que ejecutan.
Evita usar cuentas de servicio con permisos amplios. Si bien es posible crear un entorno que use una cuenta con permisos amplios, como los que otorga el rol básico de editor, esto crea un riesgo de que los DAG usen permisos más amplios de lo previsto.
No dependas de las cuentas de servicio predeterminadas de los servicios de Google que usa
Cloud Composer. A menudo, es imposible reducir los permisos disponibles para estas cuentas de servicio sin afectar también a otros servicios de Google en tu proyecto.
Sigue el principio de privilegio mínimo. Otorga solo los permisos mínimos necesarios a los usuarios. Por ejemplo, asigna roles de IAM para que solo los administradores puedan acceder al bucket del entorno y el acceso directo esté inhabilitado para los usuarios normales. Por ejemplo, el rol de usuario de Composer solo permite el acceso a la IU de DAG y a la IU de Airflow.
Aplica el Control de acceso de la IU de Airflow, que permite reducir la visibilidad en la IU de Airflow y la IU de DAG según el rol de Airflow del usuario y se puede usar para asignar permisos a nivel del DAG para DAG individuales.
Revisa la información periódicamente. Audita periódicamente los permisos y roles de IAM
para identificar y quitar los privilegios excesivos o sin usar.
Ten cuidado con pasar y almacenar datos sensibles:
Ten cuidado cuando pases datos sensibles, como información de identificación personal o contraseñas. Cuando sea necesario, usa Secret Manager para almacenar de forma segura las conexiones y los secretos de Airflow, las claves de API, las contraseñas y los certificados. No almacenes esta información en tus DAG ni en las variables de entorno.
Otorga permisos de IAM al bucket del entorno solo a los usuarios de confianza. Si es posible, usa permisos por objeto.
En Consideraciones de seguridad para las cuentas de servicio del entorno, se enumeran varias formas en las que los usuarios con acceso al bucket del entorno pueden realizar acciones en nombre de la cuenta de servicio del entorno.
Asegúrate de conocer
qué datos se almacenan en las instantáneas y de proporcionar
permisos para crear instantáneas del entorno y acceder al bucket en el que
se almacenan solo a los usuarios de confianza.
Todas las interfaces externas de Cloud Composer usan la encriptación de forma predeterminada. Cuando te conectes a productos y servicios externos, asegúrate de usar comunicación encriptada (SSL/TLS).
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-29 (UTC)"],[[["\u003cp\u003eSecuring Cloud Composer environments involves implementing best practices for network security, Identity and Access Management (IAM), encryption, and environment configuration management to safeguard sensitive data and prevent unauthorized access.\u003c/p\u003e\n"],["\u003cp\u003eUtilize version control with tools like Terraform for environment configuration and CI/CD pipelines for DAG deployment to ensure reviewed and approved changes, reducing the number of users with direct modification permissions.\u003c/p\u003e\n"],["\u003cp\u003eEmploy Private IP networking, disable internet access for PyPI package installation, and configure firewall rules in connected VPC networks to enhance network security and limit external access to Airflow components.\u003c/p\u003e\n"],["\u003cp\u003eIsolate permissions by creating dedicated service accounts for different environments, adhering to the principle of least privilege, and regularly auditing IAM roles to minimize the risk of unauthorized access or unintended permissions.\u003c/p\u003e\n"],["\u003cp\u003eAvoid storing sensitive data in DAGs or environment variables, instead use Secret Manager to securely store Airflow connections, API keys, and other sensitive credentials, and restrict access to the environment's bucket and snapshots to trusted users.\u003c/p\u003e\n"]]],[],null,["\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\n**Cloud Composer 3** \\| [Cloud Composer 2](/composer/docs/composer-3/security-practices \"View this page for Cloud Composer 2\") \\| [Cloud Composer 1](/composer/docs/composer-1/security-practices \"View this page for 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-3/composer-security-overview).\n\nManage environment configuration and DAGs using version control [](/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-3/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-3/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- Use [Private IP networking type](/composer/docs/composer-3/change-networking-type) for your environments so that\n Airflow components of the environment don't have access to the internet and\n their Private Google Access is configured through the\n `private.googleapis.com` range, which enables access to Google APIs,\n services, and domains supported by this range.\n\n- [Disable access to the internet when installing PyPI packages](/composer/docs/composer-3/packages-internet-access).\n Instead, use an Artifact Registry repository\n [as the only source of packages](/composer/docs/composer-3/install-python-dependencies#install-ar-repo).\n\n- Review the firewall rules\n [in the VPC network connected to yor environment](/composer/docs/composer-3/connect-vpc-network) (if\n connected). Depending on the way you configure them, Airflow components of\n your environment, such as Airflow workers that run your DAGs, might access\n the internet through your VPC network.\n\n\nIdentity and Access Management\n\n- Isolate permissions.\n [Create environment service accounts](/composer/docs/composer-3/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-3/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-3/access-control#user-account), so that only\n administrators can access the environment's bucket\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-3/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-3/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-3/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-3/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- [Security overview](/composer/docs/composer-3/composer-security-overview)\n- [Access control with IAM](/composer/docs/composer-3/access-control)\n- [Airflow UI Access Control](/composer/docs/composer-3/airflow-rbac)\n- [Airflow summit presentation about DAG security](https://www.youtube.com/watch?v=QhnItssm4yU)"]]