Los Controles del servicio de VPC te permiten configurar un perímetro seguro alrededor de los recursos de Google Cloud para protegerte contra el robo de datos. Puedes incluir trabajos de Cloud Scheduler en un perímetro de Controles del servicio de VPC para proteger tus cargas de trabajo programadas y restringir los destinos de los trabajos.
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 se aplican en las siguientes acciones:
- Creaciones 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 a las creaciones y actualizaciones de trabajos, no se aplican automáticamente a los trabajos que se crearon antes de agregar Cloud Scheduler a tu perímetro de Controles del servicio de VPC. Los trabajos se siguen ejecutando incluso si los destinos de los trabajos 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:
- Trabajos con destinos que no son compatibles o están fuera de tu perímetro: Borra los trabajos. En este documento, consulta Borra trabajos que no cumplen con los requisitos.
- Trabajos con destinos que son compatibles y están dentro de tu perímetro: Ejecuta una actualización en cada trabajo después de agregar Cloud Scheduler a tu perímetro. En este documento, consulta Aplica los Controles del servicio de VPC en trabajos preexistentes.
Categorías admitidas
La integración de Cloud Scheduler con los Controles del servicio de VPC admite los siguientes destinos. Se admiten los extremos HTTP si se incluyen en la lista; sin embargo, no se admiten los extremos HTTP arbitrarios.
- Servicios de Cloud Run: Deben usar el dominio
run.apppredeterminado canónico. No se admiten los dominios ni los DNS personalizados, y provocarán que falle la creación del trabajo. - Funciones de Cloud Run: Deben usar el dominio canónico predeterminado
cloudfunctions.netorun.app. No se admiten los dominios ni los DNS personalizados, y provocarán que falle la creación del trabajo. Google Cloud Las APIs que cumplen con los Controles del servicio de VPC (ya sea en versión preliminar o de DG) pueden estar en un proyecto diferente Google Cloud del de tu trabajo de Cloud Scheduler.
Debes usar el formato de extremo global (
https://SERVICE.googleapis.com). Se rechazan los extremos regionales, como*.rep.googleapis.com,LOCATION.SERVICE.googleapis.comyREGION-SERVICE.googleapis.com, y los extremos de mTLS (*.mtls.googleapis.com).Este requisito solo se aplica a los URI de destino de los trabajos. Para enviar tus propias solicitudes a la API de Cloud Scheduler a través de un extremo regional, consulta Usa extremos regionales.
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:runPara obtener información sobre la diferencia entre los recursos de servicio y trabajo de Cloud Run, consulta Servicios, trabajos, grupos de trabajadores e instancias: cuatro formas de ejecutar tu código.
Pub/Sub
Objetivos no admitidos
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 compatible 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 ejecución de prueba.
Los dominios personalizados (como los balanceadores de cargas de aplicaciones externos o el DNS personalizado) para los extremos sin servidores no son destinos compatibles. El servicio de destino bloquea las invocaciones del entorno de ejecución a los dominios personalizados debido a que faltan credenciales dentro del perímetro, incluso para los trabajos preexistentes creados antes de la inscripción en el perímetro.
Para evitar bloquear tus cargas de trabajo de forma inesperada, borra cualquier trabajo con destinos no compatibles o con destinos fuera del perímetro de los Controles del servicio de VPC que planeas usar antes de mover el perímetro al modo de aplicación forzosa.
Borra los trabajos que no cumplen con los requisitos
(recomendado) Borra los trabajos de Cloud Scheduler con destinos que sean:
- No compatible (consulta Objetivos compatibles)
- Fuera del perímetro de los Controles del servicio de VPC que planeas usar
Si quieres obtener instrucciones para 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 seguirán ejecutándose, pero no se aplicarán los Controles del servicio de VPC en ellos. En este documento, consulta Acciones aplicadas.
Por ejemplo, si tienes un trabajo de Cloud Scheduler que se orienta a un destino no compatible (como un extremo HTTP arbitrario), el trabajo se sigue ejecutando después de agregar Cloud Scheduler al perímetro de los Controles del servicio de VPC, pero no está protegido por los Controles del servicio de VPC. Lo mismo ocurre con un trabajo preexistente con un destino fuera del perímetro de los Controles del servicio de VPC. Sin embargo, si un trabajo preexistente se orienta a un dominio personalizado sin servidores dentro de tu perímetro, el servicio de destino bloquea las invocaciones del entorno de ejecución.
Agrega los roles de IAM necesarios
Obligatorio. Para usar los Controles del servicio de VPC, la cuenta de servicio de Cloud Scheduler debe tener el rol de IAM de agente de servicio 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 de agente de servicio de Cloud Scheduler o para otorgar este rol, sigue estos pasos:
En la consola de Google Cloud , ve a IAM.
Selecciona la casilla de verificación Incluir asignaciones de funciones proporcionadas por Google.
En el filtro, escribe Cuenta de servicio de Cloud Scheduler y selecciona esta principal.
Observa la columna Rol de la principal Cuenta de servicio de Cloud Scheduler. Puedes continuar si aparece el siguiente rol:
- Agente de servicio de Cloud Scheduler
Si no aparece el rol de agente de servicio de Cloud Scheduler, haz clic en el ícono Editar y otorga el rol de agente de servicio de Cloud Scheduler a la principal de la 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.
Perímetros existentes: Para actualizar un perímetro de Controles del servicio de VPC existente y que incluya Cloud Scheduler, sigue los pasos para actualizar un perímetro de servicio.
Perímetros nuevos: Para crear un perímetro nuevo para Cloud Scheduler, sigue los pasos para crear un perímetro de servicio.
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 un 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 con la consola de Google Cloud (selecciona el trabajo y haz clic en Editar), la API o gcloud CLI.
Para aplicar los Controles del servicio de VPC en un trabajo preexistente con la 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.