Configurer VPC Service Controls pour Dataform

VPC Service Controls est une fonctionnalité de Google Cloud qui vous permet de configurer un périmètre de protection 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 fournit une couche de défense supplémentaire aux services Google 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 avec les limites suivantes:

Points à noter concernant la sécurité

Lorsque vous configurez un périmètre VPC Service Controls pour Dataform, vous devez examiner les autorisations accordées à vos comptes de service Dataform et vous assurer qu'elles correspondent à votre architecture de sécurité.

Selon les autorisations que vous accordez à un compte de service Dataform, ce compte de service peut avoir accès aux données BigQuery ou Secret Manager, indépendamment de VPC Service Controls. Dans ce cas, restreindre Dataform à un périmètre VPC Service Controls ne bloque pas la communication avec BigQuery ou Secret Manager.

Vous devez bloquer la communication avec BigQuery si vous n'avez pas besoin d'exécuter des appels de workflow provenant de vos dépôts Dataform. Pour en savoir plus sur le blocage de la communication avec BigQuery, consultez la section 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 la section 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 garantir 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 attribuer 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 la section Gérer les accès.

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

Pour en savoir plus sur les autorisations liées à VPC Service Controls, consultez la page Contrôle des accès avec IAM.

Configurez VPC Service Controls

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

  • Ajouter Dataform à un périmètre de service existant qui limite BigQuery.
  • Créer un périmètre de service qui limite à 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 limitant à 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

La façon dont Dataform communique avec BigQuery dépend du type de compte de service utilisé dans Dataform.

Le compte de service Dataform par défaut utilise l'autorisation bigquery.jobs.create pour communiquer avec BigQuery. Vous attribuez les rôles par défaut au compte de service Dataform qui contiennent cette autorisation lorsque vous accordez les rôles nécessaires à Dataform pour exécuter des workflows SQL dans BigQuery.

Pour bloquer la communication entre le compte de service Dataform par défaut et BigQuery, vous devez révoquer tous les rôles prédéfinis et personnalisés contenant l'autorisation bigquery.jobs.create, laquelle a été accordée au compte de service Dataform par défaut. Pour révoquer des rôles, suivez le guide Gérer l'accès aux projets, aux dossiers et aux organisations.

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

  • L'autorisation bigquery.jobs.create, accordée au compte de service personnalisé.
  • Le rôle Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator), attribué au compte de service Dataform par défaut sur le compte de service personnalisé.

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

  • Révoquez le rôle Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator), attribué au compte de service par défaut sur le compte de service Dataform personnalisé sélectionné. Pour révoquer le rôle de créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator), suivez le guide Gérer l'accès aux comptes de service.

  • Révoquez tous les rôles prédéfinis et personnalisés attribués au niveau du projet au compte de service personnalisé contenant l'autorisation bigquery.jobs.create. Pour révoquer des rôles, suivez le guide Gérer l'accès aux projets, aux dossiers et aux organisations.

L'autorisation bigquery.jobs.create est incluse dans les rôles IAM BigQuery prédéfinis suivants, qui doivent être révoqués:

Facultatif: Bloquer la communication avec Secret Manager

Dataform utilise l'autorisation secretmanager.versions.access pour accéder aux secrets individuels de Secret Manager. Vous accordez cette autorisation au compte de service Dataform par défaut sur un secret Secret Manager sélectionné lorsque vous connectez 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 du compte de service Dataform par défaut.

Pour révoquer l'accès à un secret Secret Manager à partir du compte de service Dataform par défaut, suivez le guide Gérer l'accès aux secrets dans la documentation de Secret Manager. Vous devez révoquer tous les rôles prédéfinis et personnalisés contenant l'autorisation secretmanager.versions.access, accordée au compte 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