Proteger los trabajos cron con Controles de Servicio de VPC

Controles de Servicio de VPC es una Google Cloud función que te permite configurar un perímetro seguro para protegerte frente a la filtración externa de datos. En esta guía se muestra cómo incluir trabajos de Cloud Scheduler en un perímetro de controles de servicio de VPC.

Limitaciones

Las siguientes limitaciones se aplican a la compatibilidad de los Controles de Servicio de VPC con Cloud Scheduler.

Acciones aplicadas

Controles de Servicio de VPC solo se aplica a las siguientes acciones:

  • Creación de tareas de Cloud Scheduler
  • Actualizaciones de tareas de Cloud Scheduler

¿Por qué es importante?

Como Controles de Servicio de VPC solo se aplica al crear y actualizar trabajos, no se aplica automáticamente a los trabajos que se crearon antes de que añadieras Cloud Scheduler a tu perímetro de Controles de Servicio de VPC. Los trabajos se siguen ejecutando aunque los destinos de los trabajos no formen parte de tu perímetro de Controles de Servicio de VPC o no sean destinos admitidos. Para aplicar Controles de Servicio de VPC a todas las tareas de Cloud Scheduler, sigue estos pasos:

Segmentaciones admitidas

La integración de Cloud Scheduler con Controles de Servicio de VPC admite los siguientes destinos. Se admiten los endpoints HTTP que se indiquen, pero no se admiten los endpoints HTTP arbitrarios.

  • Funciones de Cloud Run en la URL functions.net
  • Cloud Run: en la URL run.app de los servicios de Cloud Run. No se admiten las segmentaciones de trabajos de Cloud Run. Para obtener información sobre la diferencia entre los recursos de servicio y de trabajo de Cloud Run, consulta Servicios y trabajos: dos formas de ejecutar tu código.
  • API Dataflow: debe estar en el mismo Google Cloud proyecto que tu tarea de Cloud Scheduler.
  • Data Pipelines: debe estar en el mismo proyecto Google Cloud que tu trabajo de Cloud Scheduler.
  • Pub/Sub: debe estar en el mismo Google Cloud proyecto que tu trabajo de Cloud Scheduler

Eliminar tareas que no cumplan los requisitos

Recommended. Eliminar tareas de Cloud Scheduler con destinos que sean:

  • No admitido (consulta Segmentaciones admitidas)
  • Fuera del perímetro de Controles de Servicio de VPC que tienes previsto usar

Para obtener instrucciones sobre cómo eliminar trabajos, consulta Eliminar un trabajo.

Si no eliminas estos trabajos antes de añadir Cloud Scheduler a tu perímetro de Controles de Servicio de VPC, los trabajos seguirán ejecutándose, pero Controles de Servicio de VPC no se aplicará a ellos. En este documento, consulta Acciones obligatorias.

Por ejemplo, si tienes un trabajo de Cloud Scheduler que tiene como destino un destino no admitido (como un dominio personalizado de Cloud Run), el trabajo seguirá ejecutándose después de añadir Cloud Scheduler a tu perímetro de Controles de Servicio de VPC, pero no estará protegido por Controles de Servicio de VPC. Lo mismo ocurre con un trabajo que ya exista y cuyo destino esté fuera de tu perímetro de Controles de Servicio de VPC.

Añadir los roles de gestión de identidades y accesos necesarios

Obligatorio. Para usar Controles de Servicio de VPC, la cuenta de servicio de Cloud Scheduler debe tener el rol de gestión de identidades y accesos Agente de servicio de Cloud Scheduler. La cuenta de servicio de Cloud Scheduler se crea automáticamente para tu proyecto. Para verificar que tiene el rol de gestión de identidades y accesos de agente de servicio de Cloud Scheduler o para conceder este rol, sigue estos pasos:

  1. En la Google Cloud consola, ve a IAM.

    Ir a IAM

  2. Selecciona la casilla Incluir concesiones de roles proporcionadas por Google.

  3. En el filtro, escribe Cloud Scheduler Service Account (Cuenta de servicio de Cloud Scheduler) y selecciona este principal.

  4. Consulta la columna Rol del principal Cuenta de servicio de Cloud Scheduler. Puedes continuar si aparece el siguiente rol:

    • Agente de servicios de Cloud Scheduler

    Si el rol de cuenta de servicio de Cloud Scheduler no aparece, haz clic en el icono Editar y asigna el rol Agente de servicio de Cloud Scheduler al principal de la cuenta de servicio de Cloud Scheduler.

Especificar un perímetro de Controles de Servicio de VPC

Obligatorio. Puedes usar un perímetro que ya tengas o crear uno para proteger tus tareas de Cloud Scheduler que tengan destinos compatibles. Con ambos métodos, puedes especificar los servicios que quieres restringir. Especifica la API de Cloud Scheduler.

Aplicar Controles de Servicio de VPC en trabajos preexistentes

Recommended. Para aplicar Controles de Servicio de VPC a los trabajos de Cloud Scheduler que hayas creado antes de añadir Cloud Scheduler a tu perímetro de Controles de Servicio de VPC, ejecuta un update en el trabajo. No tienes que cambiar el trabajo, pero debes ejecutar la actualización para que Controles de Servicio de VPC se aplique al trabajo y a sus futuras ejecuciones.

Puedes actualizar el trabajo desde la consola de Google Cloud (selecciona el trabajo y usa el botón Editar), mediante la API o con la CLI de gcloud.

Para aplicar Controles de Servicio de VPC en un trabajo que ya existe mediante la CLI de gcloud, ejecuta el siguiente comando:

Destinos HTTP

gcloud scheduler jobs update http JOB_ID

Haz los cambios siguientes:

  • JOB_ID: el ID de tu trabajo

Destinos de Pub/Sub

gcloud scheduler jobs update pubsub JOB_ID

Haz los cambios siguientes:

  • JOB_ID: el ID de tu trabajo