Configurar 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 riesgos de robo de datos.

Los entornos de Cloud Composer 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 Cloud Composer.

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

  • Ahora se puede seleccionar Cloud Composer como un servicio protegido dentro del perímetro de los Controles del servicio de VPC.
  • Todos los recursos subyacentes que usa Cloud Composer se configuran para admitir la arquitectura de los Controles del servicio de VPC y seguir sus reglas.

Implementar entornos de Cloud Composer 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 de Google Cloud, o ante atacantes externos que acceden a recursos de Google Cloud desde Internet.

Crea un perímetro de servicio

Consulta Crea un perímetro de servicio a fin de obtener información para 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 para obtener 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. Crea un nuevo entorno de Cloud Composer con la IP privada habilitada. Ten en cuenta que esta configuración debe establecerse durante la creación del entorno.

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 los paquetes aprobados que usa tu organización y, luego, Configurar Cloud Composer para instalar 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 los repositorios externos, ya que estas conexiones podrían usarse como vectores de robo de datos.

Lista de tareas para la configuración de red

Tu 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 detallan a continuación.

Reglas de firewall

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

  • Configura el servicio de DNS en tu VPC como se describe en Compatibilidad con los controles del servicio de VPC para Cloud DNS. Como alternativa, puedes permitir la salida desde el rango de IP del nodo de GKE a cualquier lugar en el puerto 53.

  • Permitir el tráfico de entrada y salida del rango de IP del nodo de GKE al rango de IP del nodo de GKE, todos los puertos.

  • Permitir el tráfico de entrada y salida entre el rango de IP del nodo de GKE y el rango de IP de los Pods, todos los puertos

  • Permitir el tráfico de entrada y salida entre el rango de IP del nodo de GKE y el rango de IP de los servicios, todos los puertos.

  • Permitir el tráfico de entrada y salida entre los rangos de IP de los Pods de GKE y los servicios, todos los puertos.

  • Permitir la salida desde el rango de IP del nodo de GKE al rango de IP de la instancia principal de GKE, todos los puertos

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

  • Permitir la entrada de 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. Puertos TCP 80 y 443

  • Permite la salida desde el rango de IP del nodo de GKE al rango de IP de la red de Cloud Composer, los puertos TCP 3306 y 3307.

Consulta Cómo usar reglas de firewall para aprender a verificar, agregar y actualizar las reglas de tu red de VPC. Usa la Herramienta de conectividad para validar la conectividad entre los rangos de IP mencionados con anterioridad.

Conectividad con el extremo restricted.googleapis.com

Configura la conectividad con el extremo restricted.googleapis.com.

  • Verifica la existencia de un mapeo 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

  • El DNS *.composer.cloud.google.com debe resolverse como 199.36.153.4/30 de forma similar al extremo googleapis.com. Para ello, crea una zona nueva como: CNAME *.composer.cloud.google.com -> composer.cloud.google.com. A composer.cloud.google.com. -> 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

  • 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 obtener información sobre cómo instalar módulos de PyPi en modo de IP privada.