Airflow administrado (3ª gen.) | Airflow administrado (2ª gen.) | Airflow administrado (1ª gen. heredada)
Los Controles del servicio de VPC permiten que las organizaciones definan un perímetro alrededor de Google Cloud los recursos para mitigar los riesgos de robo de datos.
Los entornos de Airflow administrado se pueden implementar dentro de un perímetro de servicio. Cuando configuras tu entorno con los Controles del servicio de VPC, puedes mantener la privacidad de los datos sensibles mientras aprovechas las capacidades de organización de flujos de trabajo completamente administradas de Airflow administrado.
La compatibilidad con los Controles del servicio de VPC para Airflow administrado significa lo siguiente:
- Ahora se puede seleccionar Airflow administrado como un servicio protegido dentro del perímetro de los Controles del servicio de VPC.
- Todos los recursos subyacentes que usa Airflow administrado se configuran para admitir la arquitectura de los Controles del servicio de VPC y seguir sus reglas.
Implementar entornos de Airflow administrado con los Controles del servicio de VPC te proporciona lo siguiente:
- Reducción del riesgo de robo de datos
- Protección contra la exposición de datos debido a controles de acceso mal configurados
- Reducción del riesgo de que usuarios maliciosos copien datos a recursos no autorizados Google Cloud , o ante atacantes externos que acceden a recursos desde Internet Google Cloud
Acerca de los Controles del servicio de VPC en Airflow administrado
- Todas las restricciones de red de los Controles del servicio de VPC también se aplicarán a tus entornos de Airflow administrado. Consulta la documentación de los Controles del servicio de VPC para obtener más información.
Si un entorno de Airflow administrado está protegido por un perímetro, se restringe el acceso a los repositorios públicos de PyPI. Consulta Instala paquetes de PyPI en los Controles del servicio de VPC para obtener más información.
Si tu entorno usa redes de IP privadas, todo el tráfico interno se enruta a tu red de VPC, excepto el tráfico a las APIs, los servicios y los dominios de Google que están disponibles para los entornos de IP privadas a través del Acceso privado a Google.
Según cómo configures tu red de VPC, un entorno de IP privada puede obtener acceso a Internet a través de tu red de VPC.
Airflow administrado no admite el uso de identidades de terceros en reglas de entrada y salida para permitir las operaciones de la IU de Apache Airflow. Sin embargo, puedes usar el tipo de identidad
ANY_IDENTITYen las reglas de entrada y salida para permitir el acceso a todas las identidades, incluidas las identidades de terceros. Para obtener más información sobre elANY_IDENTITYtipo de identidad, consulta Reglas de entrada y salida.En el modo de Controles del servicio de VPC, el acceso al servidor web está protegido por el perímetro y se bloquea el acceso desde fuera del perímetro. Para permitir el acceso desde fuera del perímetro de servicio, configura los niveles de acceso o las reglas de entrada y salida según sea necesario. Además, puedes restringir el acceso al servidor web a rangos de IP específicos.
Acerca de la conectividad a los servicios y las APIs de Google en los Controles del servicio de VPC
Airflow administrado (3ª gen.) enruta el tráfico a los servicios de Google a través de restricted.googleapis.com, lo que permite el acceso a las APIs, los servicios y los dominios de Google compatibles con este rango.
Para obtener más información y la lista de servicios y dominios disponibles
a través de restricted.googleapis.com, consulta
Configuración de red en la documentación de la nube privada virtual.
Los entornos de Airflow administrado (3ª gen.) bloquean las llamadas a las APIs, los servicios y los dominios de Google que no están en la lista de APIs y servicios obligatorios. Si deseas llamar a una API desde un DAG, haz lo siguiente:
- Asegúrate de que el servicio admita los Controles del servicio de VPC.
- Agrega el servicio a los servicios restringidos.
- Agrega el servicio a los servicios accesibles de VPC.
Por ejemplo, si usas un operador de Vertex AI, agrega aiplatform.googleapis.com a los servicios restringidos y a los servicios accesibles de VPC.
Para obtener más información sobre cómo agregar servicios a un perímetro, consulta Administra perímetros de servicio en la documentación de los Controles del servicio de VPC.
En Airflow administrado (3ª gen.), no se puede acceder a los servicios que no
admiten los Controles del servicio de VPC
y que no están disponibles a través de restricted.googleapis.com desde entornos protegidos con los Controles del servicio de VPC.
Esta restricción se agregó en Airflow administrado (3ª gen.) para mejorar la seguridad del entorno. Si bien Airflow administrado (2ª gen.) permite configurar el acceso a esos servicios no compatibles, te recomendamos que no lo hagas en ningún entorno protegido por los Controles del servicio de VPC.
Crea entornos en un perímetro
Se requieren los siguientes pasos para implementar Airflow administrado dentro de un perímetro:
Habilita la API de Access Context Manager y la API de Airflow administrado para tu proyecto. Consulta Habilita API para obtener referencia.
Para crear un perímetro, sigue las instrucciones de configuración del perímetro en la documentación de los Controles del servicio de VPC. Asegúrate de que la lista de servicios restringidos incluya todos los servicios que usa Airflow administrado, además de otros servicios que deseas restringir:
- API de Cloud Composer (composer.googleapis.com)
- API de Artifact Registry (artifactregistry.googleapis.com)
- API de Compute Engine (compute.googleapis.com)
- API de Kubernetes Engine (container.googleapis.com)
- API de Container File System (containerfilesystem.googleapis.com)
- API de Cloud DNS (dns.googleapis.com)
- API de Service Account Credentials (iamcredentials.googleapis.com)
- API de Cloud Logging (logging.googleapis.com)
- API de Cloud Monitoring (monitoring.googleapis.com)
- API de Cloud Pub/Sub (pubsub.googleapis.com)
- API de Cloud SQL Admin (sqladmin.googleapis.com)
API de Cloud Storage (storage.googleapis.com)
Para todos los demás servicios que usan tus DAGs, haz lo siguiente:
- Agrega el servicio a los servicios restringidos.
- Agrega el servicio a los servicios accesibles de VPC.
Crea un nuevo entorno de Airflow administrado:
- Usa Google Cloud CLI para crear tu entorno.
- Habilita la IP privada con el argumento
--enable-private-environment. - Especifica los parámetros de acceso para el servidor web con
--web-server-allow-all,--web-server-allow-ip, o--web-server-deny-allargumentos. Para obtener más información sobre el uso de estos argumentos, consulta Crea entornos. Para mejorar la protección, solo permite el acceso al servidor web desde rangos de IP específicos. No permitas la instalación de paquetes desde repositorios públicos de Internet con el
--enable-private-builds-onlyargumento.Ejemplo:
gcloud composer environments create example-environment \ --location us-central1 \ --enable-private-environment \ --web-server-allow-all \ --enable-private-builds-only
De forma predeterminada, solo se permite el acceso a la IU y la API de Airflow desde dentro del perímetro de seguridad. Si deseas que esté disponible fuera del perímetro de seguridad, configura los niveles de acceso o las reglas de entrada y salida.
Agrega un entorno existente al perímetro
Puedes agregar el proyecto que contiene tu entorno a un perímetro si tus entornos usan IP privadas y la instalación de paquetes de PyPI desde repositorios públicos está inhabilitada.
Para actualizar un entorno existente de Airflow administrado (3ª gen.) a esta configuración, haz lo siguiente:
- Asegúrate de haber creado o configurado el perímetro como se describe en la sección anterior.
- Usa Google Cloud CLI para actualizar tu entorno.
- Habilita la IP privada con el argumento
--enable-private-environment. - No permitas la instalación de paquetes desde repositorios públicos de Internet con el argumento
--enable-private-builds-only. - Si es necesario, configura el acceso al servidor web de Airflow. Para mejorar la protección, solo permite el acceso al servidor web desde rangos de IP específicos.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--enable-private-environment \
--enable-private-builds-only
Instala paquetes de PyPI en los Controles del servicio de VPC
En la configuración predeterminada de los Controles del servicio de VPC, Airflow administrado solo admite la instalación de paquetes de PyPI desde repositorios privados a los que se puede acceder desde el espacio de direcciones IP internas de la red de VPC.
De forma predeterminada, todos los entornos de Airflow administrado dentro de un perímetro de Controles del servicio de VPC no tienen acceso a los repositorios públicos de PyPI.
Instala desde un repositorio privado
La configuración recomendada es configurar un repositorio privado de PyPI:
Propágalo con los paquetes aprobados que usa tu organización y, luego, configura Airflow administrado para instalar dependencias de Python desde un repositorio privado.
Instala desde un repositorio público
Para instalar paquetes de PyPI desde un repositorio externo, haz lo siguiente:
- Crea un repositorio remoto de Artifact Registry.
- Otorga acceso a este repositorio a las fuentes ascendentes.
- Configura Airflow para instalar paquetes desde un repositorio de Artifact Registry.
Registros de los Controles del servicio de VPC
Cuando solucionas problemas de creación de entornos, puedes analizar los registros de auditoría generados por los Controles del servicio de VPC.
Además de otros mensajes de registro, puedes consultar los registros para obtener información sobre
cloud-airflow-prod@system.gserviceaccount.com y
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
cuentas de servicio que configuran los componentes de tus entornos.
El servicio de Airflow administrado usa la
cloud-airflow-prod@system.gserviceaccount.com cuenta de servicio para administrar
los componentes del proyecto de usuario de tus entornos.
La
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
cuenta de servicio, también conocida como cuenta de servicio del agente de servicio de Composer, administra
los componentes del entorno en
los proyectos host y de servicio.