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 principales prácticas recomendadas, 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 la Descripción general de seguridad.

Administra la configuración del entorno y los DAG con el control de versión

Ejemplo de una canalización de CI/CD de Airflow
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 del entorno se pueden revisar antes de aplicarse, 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 los DAG y a la configuración del entorno para los usuarios habituales, como se detalla en la sección Identity and Access Management.

  • Implementa DAGs 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 en el sistema de control de versión. Durante el proceso de revisión, los aprobadores se aseguran de que los DAG cumplan con los criterios de seguridad establecidos dentro de sus equipos. El paso de revisión es fundamental para evitar la implementación de DAGs que podrían realizar acciones no deseadas.

    Estos son algunos aspectos importantes de seguridad que debes tener en cuenta cuando revises los DAGs:

    • Los DAGs que modifican el contenido del bucket del entorno no deben modificar el código de otros DAGs ni acceder a datos sensibles, a menos que sea necesario.

    • Los DAG no deben realizar consultas directas a la base de datos de Airflow, a menos que sea intencional. 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

Identity and Access Management

  • Aislamiento de permisos Crea cuentas de servicio para el entorno y usa cuentas de servicio diferentes para cada entorno. 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 genera el riesgo de que los DAG usen 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 afectar también otros servicios de Google en tu proyecto.

  • Asegúrate de conocer las consideraciones de seguridad para las cuentas de servicio del entorno y comprender cómo interactúa esta cuenta con los permisos y los roles que otorgas a los usuarios individuales de 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 se inhabilite el acceso directo para los usuarios normales. Por ejemplo, el rol de Usuario de Composer permite el acceso solo a la IU de DAG y a la IU de Airflow.

  • Aplica el control de acceso a la IU de Airflow, que permite reducir la visibilidad en la IU de Airflow y la IU del 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 configuración periódicamente. Audita periódicamente los permisos y roles de IAM para identificar y quitar los privilegios excesivos o sin usar.

  • Ten cuidado al pasar y almacenar datos sensibles:

    • Ten cuidado cuando pases o almacenes 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 DAGs ni en las variables de entorno.

    • Otorga permisos de IAM al bucket del entorno solo a los usuarios de confianza. Usa permisos por objeto, si es posible. 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 otorga 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).

¿Qué sigue?