Sécuriser des tâches Cron avec VPC Service Controls

VPC Service Controls est une fonctionnalité de Google Cloud qui vous permet de mettre en place 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 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 tâches 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éé 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:

  • Tâches avec des cibles non prises en charge ou en dehors de votre périmètre : supprimez les tâches. Consultez la section Supprimer des tâches non conformes.
  • Tâches avec des cibles 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 sur les tâches préexistantes.

Cibles compatibles

L'intégration de Cloud Scheduler à VPC Service Controls n'est compatible qu'avec 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 jobs Cloud Run ne sont pas acceptées. 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)
  • Canaux de données (ils doivent se trouver dans le même projet Google Cloud que votre tâche Cloud Scheduler)
  • Pub/Sub (doit se trouver dans le même projet Google Cloud que votre tâche Cloud Scheduler)

Supprimer les tâches 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 vous disposez d'une tâche Cloud Scheduler qui cible une cible non prise en charge (comme un domaine personnalisé Cloud Run), la tâche continue de s'exécuter après avoir ajouté Cloud Scheduler à votre périmètre VPC Service Controls, mais elle n'est pas protégée par VPC Service Controls. La Il en va de même pour une tâche préexistante dont la cible 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 Cloud Scheduler Service Agent (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 d'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 Compte de service Cloud Scheduler et sélectionnez ce principal.

  4. Consultez la colonne Rôle pour le 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 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 qui ont 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 jobs 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 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 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 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.