Configurar Controles de Servicio de VPC

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Controles de Servicio de VPC permite a las organizaciones definir un perímetro alrededor de los recursos deGoogle Cloud para mitigar el riesgo de filtración externa de datos.

Los entornos de Cloud Composer se pueden desplegar en un perímetro de servicio. Si configuras tu entorno con Controles de Servicio de VPC, puedes mantener la confidencialidad de los datos sensibles y, al mismo tiempo, beneficiarte de las funciones de orquestación de flujos de trabajo totalmente gestionadas de Cloud Composer.

La compatibilidad de Controles de Servicio de VPC con Cloud Composer implica lo siguiente:

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

Al implementar entornos de Cloud Composer con Controles de Servicio de VPC, obtienes lo siguiente:

  • Se reduce el riesgo de filtración externa de datos.
  • Protección frente a la exposición de datos debido a controles de acceso mal configurados.
  • Se reduce el riesgo de que usuarios malintencionados copien datos en recursos no autorizados o de que atacantes externos accedan a recursos desde Internet.Google Cloud Google Cloud

Acerca de los Controles de Servicio de VPC en Cloud Composer

Acerca de la conectividad con servicios y APIs de Google en Controles de Servicio de VPC

Cloud Composer 3 dirige el tráfico a los servicios de Google a través de restricted.googleapis.com, lo que permite acceder a las APIs, los servicios y los dominios de Google compatibles con este intervalo.

Para obtener más información y la lista de servicios y dominios disponibles a través de restricted.googleapis.com, consulta la sección Configuración de red de la documentación de Virtual Private Cloud.

Cloud Composer 3 bloquea 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 quieres llamar a una API desde un DAG, asegúrate de lo siguiente:

  • Añade el servicio a los servicios restringidos
  • Añadir el servicio a los servicios accesibles de VPC

Por ejemplo, si usas un operador de Vertex AI, añade aiplatform.googleapis.com both a los servicios restringidos y a los servicios accesibles de la VPC.

Para obtener más información, consulta Gestionar perímetros de servicio en la documentación de Controles de Servicio de VPC.

Crear entornos en un perímetro

Para desplegar Cloud Composer dentro de un perímetro, debes seguir estos pasos:

  1. Habilita las APIs Access Context Manager y Cloud Composer en tu proyecto. Consulta la sección Habilitar APIs.

  2. Para crear un perímetro, sigue las instrucciones de configuración de perímetros de la documentación de Controles de Servicio de VPC. Asegúrate de que la lista de servicios restringidos incluya todos los servicios que usa Cloud Composer, además de otros servicios que quieras 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 Container File System (containerfilesystem.googleapis.com)
    • API de Cloud DNS (dns.googleapis.com)
    • API 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 Admin de Cloud SQL (sqladmin.googleapis.com)
    • API de Cloud Storage (storage.googleapis.com)

    • Para el resto de los servicios que usen tus DAGs:

      1. Añade el servicio a los servicios restringidos.
      2. Añade el servicio a los servicios accesibles de VPC.
  3. Crea un entorno de Cloud Composer:

    1. Usa Google Cloud CLI para crear tu entorno.
    2. Habilita la IP privada con el argumento --enable-private-environment.
    3. Especifica los parámetros de acceso del servidor web con los argumentos --web-server-allow-all, --web-server-allow-ip o --web-server-deny-all. Para obtener más información sobre cómo usar estos argumentos, consulta Crear entornos. Para mejorar la protección, permite el acceso al servidor web solo desde intervalos de IP específicos.
    4. No permitir la instalación de paquetes de repositorios de Internet públicos con el argumento --enable-private-builds-only.

      Ejemplo:

      gcloud composer environments create example-environment \
        --location us-central1 \
        --enable-private-environment \
        --web-server-allow-all \
        --enable-private-builds-only
      
  4. De forma predeterminada, solo se permite el acceso a la interfaz de usuario y a la API de Airflow desde el perímetro de seguridad. Si quieres que esté disponible fuera del perímetro de seguridad, configura niveles de acceso o reglas de entrada y salida.

Añadir un entorno a un perímetro

Puede añadir el proyecto que contiene su entorno a un perímetro si sus entornos usan IP privada y la instalación de paquetes de PyPI desde repositorios públicos está inhabilitada.

Para actualizar un entorno de Cloud Composer 3 a esta configuración, sigue estos pasos:

  1. Asegúrate de haber creado o configurado el perímetro como se describe en la sección anterior.
  2. Usa Google Cloud CLI para actualizar tu entorno.
  3. Habilita la IP privada con el argumento --enable-private-environment.
  4. No permitas la instalación de paquetes de repositorios de Internet públicos con el argumento --enable-private-builds-only.
  5. Si es necesario, configura el acceso al servidor web de Airflow. Para mejorar la protección, permite el acceso al servidor web solo desde determinados intervalos de IP.

Ejemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --enable-private-environment \
  --enable-private-builds-only

Instalar paquetes de PyPI en Controles de Servicio de VPC

En la configuración predeterminada de Controles de 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 internas de la red de VPC.

De forma predeterminada, todos los entornos de Cloud Composer que se encuentren dentro de un perímetro de Controles de Servicio de VPC no tienen acceso a los repositorios públicos de PyPI.

Instalar desde un repositorio privado

La configuración recomendada es configurar un repositorio privado de PyPI:

  1. Rellénalo con los paquetes verificados que usa tu organización y, a continuación, configura Cloud Composer para instalar dependencias de Python desde un repositorio privado.

Instalar desde un repositorio público

Para instalar paquetes de PyPI desde un repositorio externo, sigue estos pasos:

  1. Crea un repositorio remoto de Artifact Registry.
  2. Concede a este repositorio acceso a las fuentes upstream.
  3. Configura Airflow para instalar paquetes desde un repositorio de Artifact Registry.

Registros de Controles de Servicio de VPC

Cuando solucionas problemas de creación de entornos, puedes analizar los registros de auditoría generados por Controles de 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 componentes de tus entornos.

El servicio Cloud Composer usa la cuenta de servicio cloud-airflow-prod@system.gserviceaccount.com para gestionar los componentes del proyecto de arrendatario de tus entornos.

La cuenta de servicio service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com, también conocida como cuenta de servicio del agente de servicio de Composer, gestiona los componentes del entorno en los proyectos de servicio y host.

Siguientes pasos