Configura los Controles del servicio de VPC

Cloud Composer 1 | Cloud Composer 2

Los Controles del servicio de VPC permiten que las organizaciones definan un perímetro alrededor de los recursos de Google Cloud para mitigar los riesgos de robo de datos.

Los entornos de Cloud Composer se pueden implementar dentro de un perímetro de servicio. Cuando configuras el entorno con los Controles del servicio de VPC, puedes mantener la privacidad de los datos sensibles mientras aprovechas las funciones de organización del flujo de trabajo completamente administradas de Cloud Composer.

La compatibilidad con los Controles del servicio de VPC para Cloud Composer significa lo siguiente:

  • Cloud Composer ahora se puede seleccionar como un servicio seguro dentro de un perímetro de Controles del servicio de VPC.
  • Todos los recursos subyacentes que usa Cloud Composer están configurados para admitir la arquitectura de los Controles del servicio de VPC y seguir sus reglas.

La implementación de entornos de Cloud Composer con los Controles del servicio de VPC te brinda 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
  • Menor riesgo de que los usuarios maliciosos copien datos en recursos no autorizados de Google Cloud o de atacantes externos que accedan a recursos de Google Cloud desde Internet

Servidor web de Airflow en modo de los Controles del servicio de VPC

En el modo de los Controles del servicio de VPC, Cloud Composer ejecuta dos instancias del servidor web de Airflow. Las cargas de Identity-Aware Proxy balancean el tráfico del usuario entre estas instancias. Los servidores web de Airflow se ejecutan en modo de solo lectura, lo que significa lo siguiente:

  • La serialización de DAG está habilitada. Como resultado, el servidor web de Airflow no analiza los archivos de definición de DAG.

  • Los pods no se sincronizan con el servidor web, por lo que no puedes modificar ni extender la funcionalidad del servidor web con complementos.

  • El servidor web de Airflow usa una imagen de contenedor compilada previamente por el servicio de Cloud Composer. Si instalas imágenes de PyPI en tu entorno, estas no se instalarán en la imagen de contenedor del servidor web.

Recomendamos proteger el acceso al servidor web de Airflow con LCA de red. Puedes especificar los rangos de IP que pueden acceder al servidor web de Airflow para un entorno nuevo o existente.

Crea un perímetro de servicio

Consulta la página Crea un perímetro de servicio para obtener información sobre cómo crear y configurar perímetros de servicio. Asegúrate de seleccionar Cloud Composer como uno de los servicios protegidos dentro del perímetro.

Crea entornos en un perímetro

Hay pasos adicionales necesarios para implementar Cloud Composer dentro de un perímetro. Cuando creas tu entorno de Cloud Composer, sigue estos pasos:

  1. Habilita la API de Access Context Manager y la API de Cloud Composer para tu proyecto. Consulta Habilita API como referencia.

  2. Agrega los siguientes servicios al perímetro para obtener la máxima protección de tu entorno: Cloud SQL, Pub/Sub, Monitoring, Cloud Storage, GKE, Container Registry, Artifact Registry y Compute Engine.

  3. Usa la versión composer-1.10.4 o una posterior.

  4. Asegúrate de que la serialización de DAG esté habilitada. Si tu entorno usa la versión 1.15.0 o posterior de Cloud Composer, la serialización se habilita de forma predeterminada.

  5. Crea un entorno de Cloud Composer nuevo con la IP privada habilitada. Ten en cuenta que esta configuración debe configurarse durante la creación del entorno.

  6. Cuando crees tu entorno, recuerda configurar el acceso al servidor web de Airflow. Para obtener la máxima protección, solo permite el acceso al servidor web desde rangos de IP específicos. Para obtener más detalles, consulta el paso "Configura el acceso a la red del servidor web" en Crea un entorno nuevo.

Configura entornos existentes con los Controles del servicio de VPC

Puedes agregar el proyecto que contiene tu entorno al perímetro si se cumplen las siguientes condiciones:

Instala paquetes de PyPI

En la configuración predeterminada de los Controles del servicio de VPC, Cloud Composer solo admite la instalación de paquetes de PyPI desde repositorios privados a los que se puede acceder desde el espacio de direcciones IP privadas de la red de VPC. La configuración recomendada para este proceso es configurar un repositorio privado de PyPI, propagarlo con paquetes aprobados que use tu organización y, luego, configurar Cloud Composer paraInstala las dependencias de Python desde un repositorio privado ,

También es posible instalar paquetes de PyPI desde repositorios fuera del espacio de IP privada. Lleva a cabo los pasos siguientes:

  1. Configura Cloud NAT para permitir que Cloud Composer se ejecute en el espacio de IP privada y se conecte con repositorios externos de PyPI.
  2. Configura tus reglas de firewall para permitir conexiones salientes desde el clúster de Composer al repositorio.

Cuando uses esta configuración, asegúrate de comprender los riesgos de usar repositorios externos. Asegúrate de confiar en el contenido y la integridad de cualquier repositorio externo, ya que estas conexiones podrían usarse como un vector de robo.

Lista de tareas para la configuración de red

La red de VPC debe estar configurada de forma correcta para crear entornos de Cloud Composer dentro de un perímetro. Asegúrate de seguir los requisitos de configuración que se indican a continuación.

Reglas de firewall

Navega a la sección Red de VPC -> Firewall en Cloud Console y verifica que las siguientes reglas de firewall estén configuradas.

  • Permite la salida del rango de IP del nodo de GKE a cualquier puerto del 53.

  • Permite la salida del rango de IP de nodo de GKE al rango de IP de nodo de GKE, todos los puertos.

  • Permite la salida del rango de IP de nodo de GKE al rango de IP de los pods de GKE, todos los puertos.

  • Permite la salida del rango de IP de nodo de GKE al rango de IP de la instancia principal de GKE, todos los puertos.

  • Permite la salida del rango de IP de nodo de GKE a 199.36.153.4/30, puerto 443 (restricted.googleapis.com).

  • Permite la entrada de las verificaciones de estado de GCP 130.211.0.0/22,35.191.0.0/16 al rango de IP de nodo. Puertos TCP 80 y 443.

  • Permitir la salida desde el rango de IP del nodo a las verificaciones de estado de GCP. Los puertos TCP 80 y 443

  • Permite la salida del rango de IP de nodo de GKE al rango de IP del servidor web, los puertos TCP 3306 y 3307.

Consulta Usa reglas de firewall a fin de obtener información sobre cómo verificar, agregar y actualizar reglas para tu red de VPC.

Conectividad al extremo restricted.googleapis.com

Configura la conectividad al extremo restricted.googleapis.com:

  • Verifica la existencia de una asignación de DNS de *.googleapis.com a restricted.googleapis.com.

  • El DNS *.gcr.io debe resolverse como 199.36.153.4/30 de forma similar al extremo googleapis.com. Para ello, crea una zona nueva como: CNAME *.gcr.io -> gcr.io. A gcr.io. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7.

  • El DNS *.pkg.dev debe resolverse como 199.36.153.4/30 de forma similar al extremo googleapis.com. Para ello, crea una zona nueva como: CNAME *.pkg.dev -> pkg.dev. A pkg.dev. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7.

Para obtener más información, consulta Cómo configurar una conectividad privada en los servicios y las API de Google.

Limitaciones

  • La visualización de una plantilla renderizada con funciones en la IU web con la serialización de DAG habilitada es compatible con entornos que ejecutan la versión 1.12.0 de Cloud Composer o versiones posteriores y la versión 1.10.9 o posterior de Airflow.

  • No se puede establecer la marca async_dagbag_loader en True mientras la serialización de DAG está habilitada.

  • La habilitación de la serialización de DAG inhabilita todos los complementos del servidor web de Airflow, ya que podrían poner en riesgo la seguridad de la red de VPC, en la que se implementa Cloud Composer. Esto no afecta al comportamiento de los complementos de trabajador o programador, incluidos los operadores de Airflow, los sensores, etcétera.

  • Cuando Cloud Composer se ejecuta dentro de un perímetro, se restringe el acceso a los repositorios públicos de PyPI. Consulta Instala dependencias de Python para aprender a instalar módulos de PyPI en modo de IP privada.