El 15 de septiembre del 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 sobre seguridad de redes, gestión de identidades y accesos, cifrado y gestión de la configuración del entorno.
Para obtener más información sobre las funciones de seguridad disponibles en Cloud Composer, consulta el artículo Información general sobre la seguridad.
Gestionar la configuración del entorno y los DAGs mediante el control de versiones
Figura 1. Ejemplo de un flujo de procesamiento de CI/CD de Airflow (haz clic para ampliar)
Crea tu entorno con Terraform.
De esta forma, puedes almacenar la configuración del entorno como código en un repositorio. De esta forma, los cambios en la configuración de tu entorno se pueden revisar antes de aplicarlos y puedes reducir el número de usuarios que tienen permisos para cambiar la configuración asignando roles con menos permisos.
En Gestión de Identidades y Accesos, inhabilita el acceso directo a los DAGs y a la configuración del entorno para los usuarios normales, tal como se detalla en la sección Gestión de Identidades y Accesos.
Despliega los DAGs en tu entorno con un flujo de procesamiento de CI/CD para que el código de los DAGs se obtenga de un repositorio. De esta forma, los DAGs se revisan y aprueban antes de que los cambios se combinen con el sistema de control de versiones. Durante el proceso de revisión, los aprobadores se aseguran de que los DAGs cumplan los criterios de seguridad establecidos en sus equipos. El paso de revisión es fundamental para evitar que se implementen DAGs que puedan realizar acciones no deseadas.
Estos son algunos aspectos de seguridad importantes que se deben tener en cuenta al revisar los DAGs:
Los DAGs que modifiquen el contenido del segmento del entorno no deben modificar el código de otros DAGs ni acceder a datos sensibles, a menos que sea necesario.
Los DAGs no deben hacer consultas directas a la base de datos de Airflow, a menos que sea necesario. Un DAG de un entorno de Cloud Composer tiene acceso a todas las tablas de la base de datos de Airflow. Es posible obtener información de cualquier tabla, procesarla y, a continuación, almacenarla fuera de la base de datos de Airflow.
Seguridad de la red
Usa entornos de IP privada para que los componentes de Airflow que ejecutan el clúster de tu entorno no tengan asignadas direcciones IP públicas y se comuniquen solo a través de la red interna de Google.
Revisa las reglas de cortafuegos generales de tu proyecto y de la red de VPC en la que se encuentra tu entorno. En función de cómo los configure, los componentes de Airflow de su entorno, como los trabajadores de Airflow que ejecutan sus DAGs, pueden acceder a Internet.
Gestión de Identidades y Accesos
Aísla los permisos.
Crea cuentas de servicio de entorno y usa cuentas de servicio diferentes para distintos entornos. Asigna a estas cuentas de servicio solo los permisos estrictamente necesarios para operar en estos entornos y realizar las operaciones definidas en los DAGs de Airflow que ejecuten.
Evita usar cuentas de servicio con permisos amplios. Aunque es posible crear un entorno que utilice una cuenta con permisos amplios, como los que concede el rol básico Editor, esto conlleva el riesgo de que los DAGs utilicen permisos más amplios de lo previsto.
No confíes en 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 que también afecte a otros servicios de Google de tu proyecto.
Cumple el principio de mínimos accesos. Concede a los usuarios solo los permisos mínimos necesarios. Por ejemplo, asignar roles de gestión de identidades y accesos para que solo los administradores puedan acceder al segmento del entorno
y al clúster del entorno
,
y que el acceso directo esté inhabilitado para los usuarios normales. Por ejemplo, el rol Usuario de Composer solo permite acceder a las interfaces de usuario de DAG y Airflow.
Implementa el control de acceso a la interfaz de usuario de Airflow, que permite reducir la visibilidad en la interfaz de usuario de Airflow y en la interfaz de usuario de DAG en función del rol de Airflow del usuario. También se puede usar para asignar permisos a nivel de DAG a DAGs concretos.
Revisa la información con frecuencia. Audita periódicamente los permisos y roles de gestión de identidades y accesos para identificar y eliminar los privilegios excesivos o sin usar.
Ten cuidado al transferir y almacenar datos sensibles:
Tenga cuidado al transferir o almacenar datos sensibles, como información personal identificable o contraseñas. Cuando sea necesario, usa Secret Manager para almacenar de forma segura conexiones y secretos de Airflow, claves de API, contraseñas y certificados. No almacenes esta información en tus DAGs ni en las variables de entorno.
Concede permisos de gestión de identidades y accesos al segmento del entorno solo a usuarios de confianza. Usa permisos por objeto, si es posible.
Consideraciones de seguridad para las cuentas de servicio del entorno
enumera varias formas en las que los usuarios con acceso al
contenedor del entorno pueden realizar acciones en nombre de la cuenta de servicio del entorno.
Asegúrate de que sabes qué datos se almacenan en las capturas y proporciona permisos para crear capturas del entorno y acceder al segmento donde se almacenan solo a usuarios de confianza.
Todas las interfaces externas de Cloud Composer usan el cifrado de forma predeterminada. Cuando te conectes a productos y servicios externos, asegúrate de usar una comunicación cifrada (SSL/TLS).
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información 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 a Cloud Composer environment involves implementing best practices for network security, Identity and Access Management (IAM), encryption, and environment configuration management to protect sensitive data.\u003c/p\u003e\n"],["\u003cp\u003eUtilize a CI/CD pipeline for managing both environment configurations and DAGs, ensuring that changes are reviewed and approved before deployment, which significantly enhances security.\u003c/p\u003e\n"],["\u003cp\u003eEmploy Private IP environments and strict firewall rules to limit external access and control traffic to and from the environment's cluster, utilizing internal networks and private domains for enhanced security.\u003c/p\u003e\n"],["\u003cp\u003eIsolate permissions by using dedicated service accounts for each environment, granting only the necessary permissions to these accounts and avoiding broad permissions to minimize potential security risks.\u003c/p\u003e\n"],["\u003cp\u003eExercise caution with sensitive data, storing such data securely with Secret Manager rather than in DAGs or environment variables, as well as managing access permissions to environment buckets and snapshots carefully.\u003c/p\u003e\n"]]],[],null,["\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** \\| [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-2/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-2/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-2/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\u003cbr /\u003e\n\n- Use [Private IP environments](/composer/docs/composer-2/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-2/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-2/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- Isolate permissions.\n [Create environment service accounts](/composer/docs/composer-2/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-2/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-2/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-2/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-2/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-2/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-2/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-2/composer-security-overview)\n- [Access control with IAM](/composer/docs/composer-2/access-control)\n- [Airflow UI Access Control](/composer/docs/composer-2/airflow-rbac)\n- [Airflow summit presentation about DAG security](https://www.youtube.com/watch?v=QhnItssm4yU)"]]