Protege los trabajos de cron con los Controles del servicio de VPC

Controles del servicio de VPC es una Google Cloud función que te permite configurar un perímetro seguro para protegerte contra el robo de datos. En esta guía, se muestra cómo incluir trabajos de Cloud Scheduler en un perímetro de Controles del servicio de VPC.

Limitaciones

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

Acciones aplicadas

Los Controles del servicio de VPC solo se aplican en las siguientes acciones:

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

¿Por qué es importante esto?

Debido a que los Controles del servicio de VPC solo se aplican en la creación y las actualizaciones de trabajos, no se aplican automáticamente a los trabajos que se crearon antes de que agregaras Cloud Scheduler a tu perímetro de Controles del servicio de VPC. Los trabajos continúan ejecutándose incluso si los destinos del trabajo no forman parte de tu perímetro de Controles del servicio de VPC o no son destinos compatibles. Para aplicar los Controles del servicio de VPC a todos los trabajos de Cloud Scheduler, haz lo siguiente:

Categorías admitidas

La integración de Cloud Scheduler con los Controles del servicio de VPC admite los siguientes destinos. Los extremos HTTP se admiten si aparecen en la lista; sin embargo, los extremos HTTP arbitrarios no son compatibles.

  • Servicios de Cloud Run: en la URL run.app
  • Funciones de Cloud Run: en la URL functions.net
  • Google Cloud Las APIs que cumplen con los Controles del servicio de VPC (ya sea en versión preliminar o GA) pueden estar en un proyecto diferente al de tu trabajo de Cloud Scheduler. Google Cloud

    • Para los trabajos de Cloud Run, el formato de URI admitido es el siguiente: https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME: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.

  • Pub/Sub

Categorías no admitidas

Cuando Cloud Scheduler es un servicio restringido en tu perímetro de Controles del servicio de VPC, cualquier intento de crear o actualizar un trabajo con un destino no admitido fallará con un código de error TARGET_TYPE_NOT_PERMITTED_FOR_VPC. Esta acción no genera un registro de incumplimiento cuando se usa el modo de prueba.

Para evitar bloquear tus cargas de trabajo de forma inesperada, borra cualquier trabajo con destinos no admitidos o con destinos fuera del perímetro de Controles del servicio de VPC que planeas usar antes de mover tu perímetro al modo aplicado.

Borra trabajos no conformes

(recomendado) Borra los trabajos de Cloud Scheduler con destinos que sean:

  • No admitidos (consulta Categorías admitidas)
  • Fuera del perímetro de Controles del servicio de VPC que planeas usar

Para obtener instrucciones sobre cómo borrar trabajos, consulta Borra un trabajo.

Si no borras estos trabajos antes de agregar Cloud Scheduler a tu perímetro de Controles del servicio de VPC, los trabajos continuarán ejecutándose, pero los Controles del servicio de VPC no se aplicarán a ellos. En este documento, consulta Acciones aplicadas.

Por ejemplo, si tienes un trabajo de Cloud Scheduler que apunta a un destino no admitido (como un dominio personalizado de Cloud Run), el trabajo continúa ejecutándose después de que agregas Cloud Scheduler a tu perímetro de Controles del servicio de VPC, pero no está protegido por los Controles del servicio de VPC. Lo mismo sucede con un trabajo preexistente con un destino fuera de tu perímetro de Controles del servicio de VPC.

Agrega las funciones requeridas de IAM

Obligatorio. Para usar los Controles del servicio de VPC, la cuenta de servicio de Cloud Scheduler debe tener el rol de IAM Agente de servicios de Cloud Scheduler. La cuenta de servicio de Cloud Scheduler se crea automáticamente para tu proyecto. Para verificar que tenga el rol de IAM Agente de servicios de Cloud Scheduler o para otorgar este rol, sigue estos pasos:

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

    Ir a IAM

  2. Selecciona la casilla de verificación Incluir asignaciones de funciones proporcionadas por Google.

  3. En el filtro, escribe Cuenta de servicio de Cloud Scheduler y selecciona esta principal.

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

    • Agente de servicios de Cloud Scheduler

    Si no aparece el rol Cuenta de servicio de Cloud Scheduler, haz clic en el ícono Editar y otorga el rol Agente de servicios de Cloud Scheduler a la principal Cuenta de servicio de Cloud Scheduler.

Especifica un perímetro de Controles del servicio de VPC

Obligatorio. Puedes usar un perímetro existente o crear uno nuevo para proteger tus trabajos de Cloud Scheduler que tengan destinos compatibles. Ambos enfoques te permiten especificar los servicios que deseas restringir. Especifica la API de Cloud Scheduler.

Aplica los Controles del servicio de VPC en trabajos preexistentes

(recomendado) Para aplicar los Controles del servicio de VPC en los trabajos de Cloud Scheduler que creaste antes de agregar Cloud Scheduler a tu perímetro de Controles del servicio de VPC, ejecuta una update en el trabajo. No es necesario que cambies el trabajo, pero debes ejecutar la actualización para que los Controles del servicio de VPC se apliquen al trabajo y a sus ejecuciones futuras.

Puedes ejecutar una actualización para el trabajo desde la Google Cloud consola (selecciona el trabajo y usa el Editar botón), con la API o con la gcloud CLI.

Para aplicar los Controles del servicio de VPC en un trabajo preexistente con gcloud CLI, ejecuta lo siguiente:

Destinos de HTTP

gcloud scheduler jobs update http JOB_ID

Reemplaza JOB_ID por el ID de tu trabajo.

Destinos de Pub/Sub

gcloud scheduler jobs update pubsub JOB_ID

Reemplaza JOB_ID por el ID de tu trabajo.