Prácticas recomendadas de seguridad

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

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

Ejemplo de un flujo de procesamiento de CI/CD de Airflow
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 el tipo de red IP privada en tus entornos para que los componentes de Airflow del entorno no tengan acceso a Internet y su acceso privado de Google se configure a través del intervalo private.googleapis.com, lo que permite acceder a las APIs, los servicios y los dominios de Google admitidos por este intervalo.

  • Inhabilita el acceso a Internet al instalar paquetes PyPI. En su lugar, utilice un repositorio de Artifact Registry como única fuente de paquetes.

  • Revisa las reglas de cortafuegos de la red de VPC conectada a tu entorno (si está conectada). En función de cómo los configures, los componentes de Airflow de tu entorno, como los trabajadores de Airflow que ejecutan tus DAGs, pueden acceder a Internet a través de tu red de VPC.

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.

  • Familiarízate con las consideraciones de seguridad de las cuentas de servicio del entorno y comprende cómo interactúa esta cuenta con los permisos y los roles que asignas a usuarios concretos de tu proyecto.

  • Cumple el principio de mínimos accesos. Concede a los usuarios solo los permisos mínimos necesarios. Por ejemplo, asigna roles de gestión de identidades y accesos para que solo los administradores puedan acceder al segmento del entorno y se inhabilite el acceso directo 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).

Siguientes pasos