Sécuriser des tâches 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 tâches Cloud Scheduler dans un périmètre VPC Service Controls.

Limites

Les limites suivantes s'appliquent à la compatibilité de VPC Service Controls avec les fonctionnalités Cloud Scheduler.

Actions appliquées

VPC Service Controls n'est appliqué qu'aux actions suivantes:

  • Création d'une tâche Cloud Scheduler
  • Mises à jour des jobs Cloud Scheduler

Pourquoi est-ce important ?

Comme VPC Service Controls n'est appliqué qu'à la création et à la mise à jour des jobs, VPC Service Controls n'est pas automatiquement appliqué aux jobs qui étaient créées avant d'ajouter Cloud Scheduler à votre service VPC Service Controls périmètre. Les jobs continuent de s'exécuter même si leurs cibles ne font pas partie de votre Le périmètre VPC Service Controls n'est pas une cible compatible ou il s'agit d'un périmètre. À appliquez VPC Service Controls à tous les jobs Cloud Scheduler:

  • Les jobs dont les cibles ne sont pas compatibles ou ne font pas partie périmètre:supprimez les jobs. Consultez la section Supprimer des tâches non conformes.
  • Jobs associés à des cibles compatibles et situées à l'intérieur de votre périmètre : exécutez la commande suivante : une mise à jour de chaque job après l'ajout de Cloud Scheduler à votre périmètre. Consultez la section Appliquer l'application aux tâches préexistantes.

Cibles compatibles

L'intégration de Cloud Scheduler avec VPC Service Controls uniquement accepte les cibles suivantes:

  • Fonctions Cloud Run (sur l'URL functions.net)
  • Cloud Run (sur l'URL run.app pour Cloud Run services. Les cibles de tâches Cloud Run ne sont pas compatibles. Pour apprendre sur la différence entre les ressources "service" et "tâche" pour Cloud Run, consultez Services et tâches: deux façons d'exécuter votre code)
  • API Dataflow (doit se trouver dans le même projet Google Cloud que votre tâche Cloud Scheduler)
  • Pipelines de données (doivent se trouver dans le même projet Google Cloud que job Cloud Scheduler)
  • Pub/Sub (il doit se trouver dans le même projet Google Cloud que votre job Cloud Scheduler)

Supprimer les jobs non conformes

Recommended. Supprimer des jobs 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 Supprimer une tâche.

Si vous ne supprimez pas ces jobs avant d'ajouter Cloud Scheduler à votre périmètre VPC Service Controls, les tâches continuent de s'exécuter, VPC Service Controls n'est pas appliqué à ces instances (consultez Actions appliquées).

Par exemple, si une tâche Cloud Scheduler cible une cible non compatible (telle qu'un domaine personnalisé Cloud Run), le job continue de s'exécuter après l'ajout de Cloud Scheduler Périmètre VPC Service Controls, mais il n'est pas protégé par VPC Service Controls. Il en va de même pour une tâche préexistante 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, Cloud Scheduler le compte de service doit disposer de l'agent de service Cloud Scheduler rôle IAM. Le compte de service Cloud Scheduler est automatiquement créé pour votre projet. Pour vérifier qu'il dispose de l'API Cloud Scheduler rôle IAM d'agent de service ou pour attribuer ce rôle, procédez comme suit : étapes:

  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 Compte de service Cloud Scheduler et sélectionnez ce principal.

  4. Dans la colonne Rôle, recherchez le compte de service Cloud Scheduler. principal. 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 n'est pas répertorié, cliquez sur le bouton Modifier et attribuez 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 jobs Cloud Scheduler compatibles avec cibles. Les deux approches vous permettent de spécifier les services à restreindre. Spécifiez l'API Cloud Scheduler.

Appliquer VPC Service Controls à des jobs préexistants

Recommended. Pour appliquer VPC Service Controls à des tâches Cloud Scheduler que vous avez créés avant d'ajouter Cloud Scheduler Pour le périmètre VPC Service Controls, exécutez une commande update sur la tâche. Vous n'avez pas à modifier le job, mais vous devez exécuter la mise à jour pour que VPC Service Controls au job et à ses exécutions futures.

Vous pouvez exécuter une mise à jour du job à partir de la console Google Cloud (sélectionnez le job et utilisez le bouton Modifier), à l'aide de l'API ou avec la Google Cloud CLI.

Pour appliquer VPC Service Controls à une tâche préexistante à l'aide de la classe 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 tâche.

Cibles Pub/Sub

gcloud scheduler jobs update pubsub JOB_ID

Remplacez les éléments suivants :

  • JOB_ID: ID de votre tâche.