Sécuriser des jobs Cron avec VPC Service Controls

VPC Service Controls est une fonctionnalité de Google Cloud qui vous permet de configurer un périmètre sécurisé pour vous protéger contre l'exfiltration de données. Ce guide 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 d'un job 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 de jobs, VPC Service Controls ne s'applique pas automatiquement aux jobs créés avant l'ajout de Cloud Scheduler à votre périmètre VPC Service Controls. Les tâches continuent de s'exécuter même si les cibles des tâches 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 dont les cibles ne sont pas compatibles ou se situent en dehors de votre périmètre:supprimez les tâches. Consultez la section Supprimer des tâches non conformes.
  • Jobs avec des cibles à la fois compatibles et situées dans votre périmètre:exécutez une mise à jour sur chaque tâche après avoir ajouté Cloud Scheduler à votre périmètre. Consultez la section Appliquer aux tâches préexistantes.

Cibles compatibles

L'intégration de Cloud Scheduler à VPC Service Controls n'est compatible qu'avec les cibles suivantes:

  • Cloud Functions (sur l'URL functions.net)
  • Cloud Run (sur l'URL run.app)
  • API Dataflow (elle doit se trouver dans le même projet Google Cloud que votre job Cloud Scheduler)
  • Pipelines de données (doivent se trouver dans le même projet Google Cloud que votre job Cloud Scheduler)
  • Pub/Sub (doit se trouver dans le même projet Google Cloud que votre job Cloud Scheduler)

Supprimer les jobs non conformes

Recommandé. Supprimez les tâches Cloud Scheduler dont les cibles sont soit:

  • Non compatible (voir Cibles compatibles)
  • En dehors du périmètre VPC Service Controls que vous prévoyez d'utiliser

Pour obtenir des instructions sur la suppression de tâches, consultez la page Supprimer une tâche.

Si vous ne supprimez pas ces jobs avant d'avoir ajouté Cloud Scheduler à votre périmètre VPC Service Controls, ils continuent de s'exécuter, mais VPC Service Controls ne leur est pas appliqué (voir la section Actions appliquées).

Par exemple, si vous avez une tâche Cloud Scheduler qui cible une cible non compatible (telle qu'un domaine personnalisé Cloud Run), la tâche continue de s'exécuter une fois que vous avez ajouté Cloud Scheduler à votre périmètre VPC Service Controls, mais elle n'est pas protégée par VPC Service Controls. Il en va de même pour une tâche préexistante dont la cible se trouve en dehors de votre périmètre VPC Service Controls.

Ajouter les rôles IAM requis

Obligatoire. Pour que vous puissiez 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 lui accorder ce rôle, procédez comme suit:

  1. Dans la console Google Cloud, accédez à IAM.

    Accéder à IAM

  2. Cochez la case Inclure les attributions de rôles fournies par Google.

  3. Dans le filtre, saisissez Cloud Scheduler Service Account (Compte de service Cloud Scheduler), puis sélectionnez ce compte principal.

  4. Examinez la colonne Rôle pour connaître le compte principal Compte de service Cloud Scheduler. Vous pouvez continuer si le rôle suivant est répertorié:

    • Agent de service Cloud Scheduler

    Si le rôle "Compte de service Cloud Scheduler" ne figure pas dans la liste, cliquez sur l'icône Modifier, puis accordez le rôle Agent de service Cloud Scheduler au compte principal du 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 tâches Cloud Scheduler comportant des cibles compatibles. Les deux approches vous permettent de spécifier les services à restreindre. Spécifiez l'API Cloud Scheduler.

Appliquer VPC Service Controls aux tâches préexistantes

Recommandé. Pour appliquer VPC Service Controls aux tâches Cloud Scheduler que vous avez créées avant l'ajout de Cloud Scheduler à votre périmètre VPC Service Controls, exécutez une commande update sur la tâche. Vous n'avez pas besoin de modifier la tâche, mais vous devez exécuter la mise à jour pour que VPC Service Controls s'applique à la tâche et à ses futures exécutions.

Vous pouvez exécuter une mise à jour de la tâche depuis la console Google Cloud (sélectionnez la tâche et utilisez le bouton Modifier), via l'API ou avec la gcloud CLI.

Pour appliquer VPC Service Controls sur une tâche préexistante à l'aide de gcloud CLI, exécutez la commande suivante:

Tâches HTTP Target

gcloud scheduler jobs update http JOB_ID

Remplacez les éléments suivants :

  • JOB_ID: ID de votre job

Cibles Pub/Sub

gcloud scheduler jobs update pubsub JOB_ID

Remplacez les éléments suivants :

  • JOB_ID: ID de votre job