Configurer VPC Service Controls

VPC Service Controls est une fonctionnalité Google Cloud qui vous permet de configurer un périmètre pour vous protéger contre l'exfiltration de données. Ce guide explique comment utiliser VPC Service Controls avec Dataform pour renforcer la sécurité de vos services.

VPC Service Controls offre un niveau de protection supplémentaire pour les servicesGoogle Cloud , indépendamment de la protection fournie par Identity and Access Management (IAM).

Pour en savoir plus sur VPC Service Controls, consultez la page Présentation de VPC Service Controls.

Limites

Dataform est compatible avec VPC Service Controls, mais présente les limites suivantes :

Points à noter concernant la sécurité

Lorsque vous configurez un périmètre VPC Service Controls pour Dataform, assurez-vous d'examiner les autorisations accordées à vos comptes de service personnalisés pour vérifier qu'elles correspondent à votre architecture de sécurité.

Selon les autorisations que vous accordez au compte de service personnalisé, il peut avoir accès aux données BigQuery ou Secret Manager du projet auquel il appartient, indépendamment de VPC Service Controls. Dans ce cas, la restriction de Dataform avec un périmètre VPC Service Controls ne bloque pas la communication avec BigQuery ni Secret Manager.

Vous devez bloquer la communication avec BigQuery si vous n'avez pas besoin d'exécuter d'invocations de workflow provenant de vos dépôts Dataform. Pour en savoir plus sur le blocage de la communication avec BigQuery, consultez Bloquer la communication avec BigQuery.

Vous devez bloquer la communication avec Secret Manager si aucun de vos dépôts Dataform ne se connecte à un dépôt Git tiers. Pour en savoir plus sur le blocage de la communication avec Secret Manager, consultez Bloquer la communication avec Secret Manager.

Avant de commencer

Avant de configurer un périmètre de service VPC Service Controls pour Dataform, suivez le guide Restreindre les dépôts distants pour définir la règle d'administration dataform.restrictGitRemotes.

La règle d'administration dataform.restrictGitRemotes est requise pour s'assurer que les vérifications VPC Service Controls sont appliquées lors de l'utilisation de Dataform et que l'accès tiers aux dépôts Git Dataform est limité.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer un périmètre de service VPC Service Controls, demandez à votre administrateur de vous accorder le rôle IAM Éditeur Access Context Manager (roles/accesscontextmanager.policyEditor) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus sur les autorisations VPC Service Controls, consultez Contrôle des accès avec IAM.

Configurez VPC Service Controls

Vous pouvez restreindre Dataform avec un périmètre de service VPC Service Controls de différentes manières :

  • Ajoutez Dataform à un périmètre de service existant qui restreint BigQuery.
  • Créez un périmètre de service qui restreint à la fois Dataform et BigQuery.

Pour ajouter Dataform à un périmètre de service qui limite BigQuery, suivez le guide Mettre à jour un périmètre de service dans la documentation de VPC Service Controls.

Pour créer un périmètre de service qui restreint à la fois Dataform et BigQuery, suivez le guide Créer un périmètre de service dans la documentation de VPC Service Controls.

Facultatif : Bloquer la communication avec BigQuery

Les comptes de service personnalisés utilisent les autorisations et les rôles suivants pour communiquer avec BigQuery :

  • Autorisationbigquery.jobs.create accordée au compte de service personnalisé.
  • Le rôle Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator) est attribué à l'agent de service Dataform par défaut sur le compte de service personnalisé.

Vous pouvez bloquer la communication entre un compte de service personnalisé et BigQuery de l'une des manières suivantes :

Facultatif : Bloquer la communication avec Secret Manager

Dataform utilise l'autorisation secretmanager.versions.access pour accéder aux secrets Secret Manager individuels. Vous accordez cette autorisation à l'agent de service Dataform par défaut sur un secret Secret Manager sélectionné lorsque vous associez un dépôt Dataform à un dépôt tiers.

Pour bloquer la communication entre Dataform et Secret Manager, vous devez révoquer l'accès à tous les secrets de l'agent de service Dataform par défaut.

Pour révoquer l'accès à un secret Secret Manager depuis l'agent de service Dataform par défaut, suivez le guide Gérer l'accès aux secrets dans la documentation Secret Manager. Vous devez révoquer tous les rôles prédéfinis et personnalisés qui contiennent l'autorisation secretmanager.versions.access accordée à l'agent de service Dataform par défaut sur le secret sélectionné.

L'autorisation secretmanager.versions.access est incluse dans les rôles IAM Secret Manager prédéfinis suivants :

Étapes suivantes