VPC Service Controls est une Google Cloud fonctionnalité qui vous permet de configurer un périmètre sécurisé pour vous protéger contre l'exfiltration de données. Ce guide vous explique comment inclure des jobs Cloud Scheduler dans un périmètre VPC Service Controls.
Limites
Les limites suivantes s'appliquent à la compatibilité de VPC Service Controls avec Cloud Scheduler.
Actions appliquées
VPC Service Controls n'est appliqué qu'aux actions suivantes :
- Création de jobs Cloud Scheduler
- Mises à jour des jobs Cloud Scheduler
Pourquoi est-ce important ?
Étant donné que VPC Service Controls n'est appliqué qu'à la création et à la mise à jour des jobs, il n'est pas automatiquement appliqué aux jobs créés avant que vous n'ayez ajouté Cloud Scheduler à votre périmètre VPC Service Controls. Les jobs continuent de s'exécuter même si les cibles de job ne font pas partie de votre périmètre VPC Service Controls ou ne sont pas des cibles compatibles. Pour appliquer VPC Service Controls à tous les jobs Cloud Scheduler :
- Jobs avec des cibles non compatibles ou en dehors de votre périmètre : supprimez les jobs. Dans ce document, consultez la section Supprimer les jobs non conformes.
- Jobs avec des cibles compatibles et dans votre périmètre : exécutez une mise à jour sur chaque job après avoir ajouté Cloud Scheduler à votre périmètre. Dans ce document, consultez la section Appliquer VPC Service Controls aux jobs préexistants.
Cibles compatibles
L'intégration de Cloud Scheduler à VPC Service Controls est compatible avec les cibles suivantes. Les points de terminaison HTTP sont compatibles s'ils sont listés. Toutefois, les points de terminaison HTTP arbitraires ne sont pas compatibles.
- Services Cloud Run : sur l'URL
run.app. - Cloud Run Functions : sur l'URL
functions.net. Google Cloud Les APIcompatibles avec VPC Service Controls (en version Preview ou en disponibilité générale) peuvent se trouver dans un projet Google Cloud différent de celui de votre job Cloud Scheduler.
Pour les jobs Cloud Run, le format d'URI compatible est le suivant :
https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:runPour en savoir plus sur la différence entre les ressources de service et de job Cloud Run, consultez Services et jobs : deux façons d'exécuter votre code.
Pub/Sub
Cibles non compatibles
Lorsque Cloud Scheduler est un service restreint dans votre périmètre VPC Service Controls, toute tentative de création ou de mise à jour d'un job avec une cible non compatible échoue avec le code d'erreur TARGET_TYPE_NOT_PERMITTED_FOR_VPC. Cette action
ne génère pas de journal de violation lorsque vous utilisez le
mode d'exécution à sec.
Supprimer les jobs non conformes
Recommended. Supprimez les jobs Cloud Scheduler avec des cibles qui sont :
- Non compatibles (voir Cibles compatibles)
- En dehors du périmètre VPC Service Controls que vous prévoyez d'utiliser
Pour savoir comment supprimer des jobs, consultez Supprimer un job.
Si vous ne supprimez pas ces jobs avant d'ajouter Cloud Scheduler à votre périmètre VPC Service Controls, ils continueront de s'exécuter, mais VPC Service Controls ne leur sera pas appliqué. Dans ce document, consultez la section Actions appliquées.
Par exemple, si vous avez un job Cloud Scheduler qui cible une cible non compatible (telle qu'un domaine personnalisé Cloud Run), le job continue de s'exécuter après que vous avez ajouté Cloud Scheduler à votre périmètre VPC Service Controls, mais il n'est pas protégé par VPC Service Controls. Il en va de même pour un job préexistant avec une cible en dehors de votre périmètre VPC Service Controls.
Ajouter les rôles IAM requis
Obligatoire. Pour utiliser VPC Service Controls, le compte de service Cloud Scheduler doit disposer du rôle IAM Agent de service Cloud Scheduler. Le compte de service Cloud Scheduler est créé automatiquement pour votre projet. Pour vérifier qu'il dispose du rôle IAM Agent de service Cloud Scheduler ou pour attribuer ce rôle, procédez comme suit :
Dans la Google Cloud console, accédez à IAM.
Cochez la case Inclure les attributions de rôles fournies par Google.
Dans le filtre, saisissez Compte de service Cloud Scheduler, puis sélectionnez ce compte principal.
Examinez la colonne Rôle pour le compte principal Compte de service Cloud Scheduler. Vous pouvez continuer si le rôle suivant est listé :
- Agent de service Cloud Scheduler
Si le rôle Compte de service Cloud Scheduler n'est pas listé, cliquez sur l'icône Modifier et attribuez le rôle Agent de service Cloud Scheduler au compte principal Compte de service Cloud Scheduler.
Spécifier un périmètre VPC Service Controls
Obligatoire. Vous pouvez utiliser un périmètre existant ou en créer un pour protéger vos jobs Cloud Scheduler avec des cibles compatibles. Les deux approches vous permettent de spécifier les services à limiter. Spécifiez l'API Cloud Scheduler.
Périmètres existants : pour mettre à jour un périmètre VPC Service Controls existant afin d'inclure Cloud Scheduler, suivez les étapes de mise à jour d'un périmètre de service.
Nouveaux périmètres : pour créer un périmètre pour Cloud Scheduler, suivez les étapes de création d'un périmètre de service.
Appliquer VPC Service Controls aux jobs préexistants
Recommended. Pour appliquer VPC Service Controls aux jobs Cloud Scheduler que vous avez créés avant d'ajouter Cloud Scheduler à votre périmètre VPC Service Controls, exécutez une update sur le job. Vous n'avez pas besoin de modifier le job, mais vous devez exécuter la mise à jour pour que VPC Service Controls s'applique au job et à ses futures exécutions.
Vous pouvez exécuter une mise à jour pour le job à partir de la Google Cloud console (sélectionnez le job et utilisez le Modifier bouton), à l'aide de l'API ou avec la gcloud CLI.
Pour appliquer VPC Service Controls à un job préexistant à l'aide de gcloud CLI, exécutez la commande suivante :
Tâches HTTP Target
gcloud scheduler jobs update http JOB_ID
Remplacez JOB_ID par l'ID de votre job.
Cibles Pub/Sub
gcloud scheduler jobs update pubsub JOB_ID
Remplacez JOB_ID par l'ID de votre job.