Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
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.
Servidor web de Airflow en modo de Controles del servicio de VPC
En el modo de Controles del servicio de VPC, el acceso al servidor web está protegido por perímetro y el acceso desde fuera del perímetro.
Para permitir el acceso desde fuera del perímetro de servicio, configura el nivel de acceso adecuado.
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:
Habilita la API de Access Context Manager y la API de Cloud Composer para tu proyecto. Consulta Habilita API para obtener referencia.
Asegúrate de que tu perímetro de servicio tenga los siguientes servicios accesibles de VPC: De lo contrario, tu entorno podría no crearse:
- API de Cloud Composer (composer.googleapis.com)
- API de Compute Engine (compute.googleapis.com)
- API de Kubernetes Engine (container.googleapis.com)
- API de Container Registry (containerregistry.googleapis.com)
- API de Artifact Registry (artifactregistry.googleapis.com)
- La API de Cloud Storage (storage.googleapis.com)
- API de Administrador de Cloud SQL (sqladmin.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 Security Token Service (sts.googleapis.com)
- API de Cloud Resource Manager (cloudresourcemanager.googleapis.com)
- API de Directorio de servicios (servicedirectory.googleapis.com)
- API de Cloud Key Management Service (cloudkms.googleapis.com), si usas claves de Cloud KMS o CMEK
- La API de Secret Manager (secretmanager.googleapis.com), si usas Secret Manager como un backend de Secret
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.
De forma predeterminada, el acceso a la IU y la API de Airflow solo se permite desde el perímetro de seguridad en la nube. Si quieres que esté disponible fuera del entorno perímetro y, luego, configurarás el nivel de acceso de forma apropiada, como se describe en Permite el acceso a recursos protegidos desde fuera del perímetro.
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:
Creaste el perímetro como se describe en la sección anterior.
Tus entornos son entornos de IP privada.
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 que se accesible desde el espacio de direcciones IP internas de la red de VPC.
Instalar desde un repositorio privado
Se recomienda establecer un repositorio de PyPI privado, propagar con paquetes aprobados que usa tu organización y, luego, configurar Cloud Composer para Instalar dependencias de Python desde un repositorio privado
Instalar desde un repositorio público
Repositorio remoto
Este es el enfoque recomendado para instalar paquetes desde un en un repositorio de confianza.
Para instalar paquetes de PyPI desde repositorios fuera del espacio de IP privado, sigue estos pasos:
- Crea un Repositorio remoto de Artifact Registry
- Otorgar este repositorio acceso a fuentes upstream.
- Configura Airflow para instalar paquetes desde un repositorio de Artifact Registry
Conexiones externas
Para instalar paquetes de PyPI desde repositorios fuera del espacio de IP privado, sigue estos pasos:
Configura Cloud NAT para permitir Cloud Composer que se ejecutan en el espacio de la IP privada para conectarse con una PyPI externa de Cloud Storage.
Configura tus reglas de firewall para permitir conexiones salientes desde el clúster de Composer al repositorio.
La cuenta de servicio que se usa para el plano de datos de Cloud Composer debe tener los siguientes roles de permisos: Composer.Worker
y iam.serviceAccountUser
.
Configura la conectividad a los servicios y las APIs de Google
En una configuración de los Controles del servicio de VPC, para controlar el tráfico de red,
configurar el acceso a los servicios y las APIs de Google
restricted.googleapis.com
Este dominio bloquea el acceso a las APIs de Google y
servicios que no son compatibles con los Controles del servicio de VPC.
Los entornos de Cloud Composer usan los siguientes dominios:
*.googleapis.com
se usa para acceder a otros servicios de Google.*.composer.cloud.google.com
se usa para crear el servidor web de Airflow de tu accesible. Esta regla se debe aplicar antes de crear una en un entorno de nube.- Como alternativa, puedes crear una regla para una región específica. Para ello, sigue estos pasos:
usa
REGION.composer.cloud.google.com
. ReemplazaREGION
por la región en la que se encuentra el entorno, por Por ejemplo,us-central1
.
- Como alternativa, puedes crear una regla para una región específica. Para ello, sigue estos pasos:
usa
(Opcional) Se usa
*.composer.googleusercontent.com
cuando se accede al Servidor web de Airflow de tu entorno. Esta regla solo es necesaria si acceder al servidor web de Airflow desde una instancia que se ejecuta en la red de VPC y, de lo contrario, no se requiere. Una situación común para esta regla es cuando deseas llamar a la API de REST de Airflow desde la red de VPC.- Como alternativa, puedes crear una regla para un entorno específico. Para
hazlo, usa
ENVIRONMENT_WEB_SERVER_NAME.composer.googleusercontent.com
de Google Cloud. ReemplazaENVIRONMENT_WEB_SERVER_NAME
por la parte única de la URL de la IU de Airflow de tu entorno, por ejemplo,bffe6ce6c4304c55acca0e57be23128c-dot-us-central1
- Como alternativa, puedes crear una regla para un entorno específico. Para
hazlo, usa
*.pkg.dev
se usa para obtener imágenes de entorno, como cuando se crean o actualizar un entorno.*.gcr.io
GKE requiere conectividad para Dominio de Container Registry, sin importar la versión de Cloud Composer.
Configura la conectividad con el extremo restricted.googleapis.com
.
Dominio | Nombre de DNS | Registro CNAME | Registro A |
---|---|---|---|
*.googleapis.com
|
googleapis.com. |
Nombre de DNS: *.googleapis.com. Tipo de registro de recursos: CNAME Nombre canónico: googleapis.com. |
Tipo de registro de recursos: A Direcciones IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.composer.cloud.google.com
|
composer.cloud.google.com. |
Nombre de DNS: *.composer.cloud.google.com. Tipo de registro de recursos: CNAME Nombre canónico: composer.cloud.google.com. |
Tipo de registro de recursos: A Direcciones IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.composer.googleusercontent.com
(opcional, ver descripción) |
composer.googleusercontent.com. |
Nombre de DNS: *.composer.googleusercontent.com. Tipo de registro de recursos: CNAME Nombre canónico: composer.googleusercontent.com. |
Tipo de registro de recursos: A Direcciones IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.pkg.dev
|
pkg.dev. |
Nombre de DNS: *.pkg.dev. Tipo de registro de recursos: CNAME Nombre canónico: pkg.dev. |
Tipo de registro de recursos: A Direcciones IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.gcr.io
|
gcr.io. |
Nombre de DNS: *.gcr.io. Tipo de registro de recursos: CNAME Nombre canónico: gcr.io. |
Tipo de registro de recursos: A Direcciones IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
Para crear una regla de DNS, sigue estos pasos:
Crea una nueva zona del DNS y usa el nombre de DNS como nombre del DNS de esta zona.
Ejemplo:
pkg.dev.
Agrega un conjunto de registros para Registro CNAME.
Ejemplo:
- Nombre de DNS:
*.pkg.dev.
- Tipo de registro de recursos:
CNAME
- Nombre canónico:
pkg.dev.
- Nombre de DNS:
Agrega un conjunto de registros con el siguiente registro A:
Ejemplo:
- Tipo de registro de recursos:
A
- Direcciones IPv4:
199.36.153.4
,199.36.153.5
,199.36.153.6
,199.36.153.7
- Tipo de registro de recursos:
Para obtener más información, consulta Configura una conectividad privada a los servicios y las APIs de Google.
Configura reglas de firewall
Si tu proyecto tiene reglas de firewall no predeterminadas, como reglas que anulen reglas de firewall implícitas modifica las reglas prepropagadas en la red predeterminada y que se cumplan las siguientes reglas de firewall configurado.
Por ejemplo, Cloud Composer podría no crear un entorno si
tienes una regla de firewall que rechaza todo el tráfico de salida. Para evitar problemas,
definir reglas allow
selectivas que siguen la lista y tienen una prioridad más alta
que la regla deny
global.
Configura tu red de VPC para permitir el tráfico de tu entorno:
- Consulta Cómo usar reglas de firewall para obtener información sobre verificar, agregar y actualizar reglas para tu red de VPC.
- Usa Herramienta de conectividad para validar la conectividad entre rangos de IP.
- Puedes usar etiquetas de herramientas de redes para y limitar el acceso. Puedes configurar estas etiquetas cuando creas un entorno.
Descripción | Dirección | Acción | Origen o destino | Protocolos | Puertos |
---|---|---|---|---|---|
DNS Configúralo como se describe en Compatibilidad de los Controles del servicio de VPC con Cloud DNS |
- | - | - | - | - |
Servicios y APIs de Google | Salida | Permitir | Direcciones IPv4 de restricted.googleapis.com que usas para las APIs y los servicios de Google. |
TCP | 443 |
Nodos de clúster del entorno | Salida | Permitir | Rango de direcciones IP principal de la subred del entorno | TCP, UDP | todos |
Pods del clúster del entorno | Salida | Permitir | Rango de direcciones IP secundario para Pods en la subred del entorno | TCP, UDP | todos |
Plano de control del clúster del entorno | Salida | Permitir | Rango de IP del plano de control de GKE | TCP, UDP | todos |
(Si tu entorno usa Private Service Connect) Subred de conexión | Salida | Permitir | Rango de subred de conexión de Cloud Composer | TCP | 3306 y 3307 |
(Si tu entorno usa intercambios de tráfico de VPC) Red de usuario | Salida | Permitir | Rango de IP de la red de usuarios de Cloud Composer | TCP | 3306 y 3307 |
Para obtener rangos de IP, haz lo siguiente:
Los rangos de direcciones del Pod, Service y Plano de control están disponibles La página Clústeres del clúster de tu entorno:
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
Sigue el vínculo para ver detalles del clúster.
Como puedes ver, El rango de IP de la red de usuarios de Cloud Composer en la pestaña Configuración del entorno.
Como puedes ver, y el ID de subred de conexión de Cloud Composer en la pestaña Configuración del entorno. Cómo obtener IP para una subred, ve a la página Redes de VPC y haz clic en nombre de la red para ver los detalles:
Registros de los Controles del servicio de VPC
Cuando solucionas problemas de creación de entornos, puedes analizar los registros de auditoría generada 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
de servicio que configuran componentes de tus entornos.
El servicio de Cloud Composer usa
cloud-airflow-prod@system.gserviceaccount.com
cuenta de servicio para administrar
componentes de proyecto de usuario de tus entornos.
El
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
también conocida como Composer Service Agent Service Account
administra
componentes de entorno
proyectos host y de servicio.
Limitaciones
- Todas las restricciones de red de los Controles del servicio de VPC también se aplicarán a tus entornos de Cloud Composer. Consulta la documentación de los Controles del servicio de VPC para obtener más información.
- 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.