Configurer VPC Service Controls pour Dataform

VPC Service Controls est une fonctionnalité Google Cloud permettant de définir un périmètre de protection contre l'exfiltration de données. Ce guide explique comment utiliser VPC Service Controls avec Dataform pour : renforcent la sécurité de vos services.

VPC Service Controls offre un niveau de défense supplémentaire services Google Cloud indépendants 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 éléments suivants : Limites:

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 à votre service Dataform et vous assurer qu'ils 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 à BigQuery les données Secret Manager du projet auquel appartient le compte de service ; indépendamment de VPC Service Controls. Dans ce cas, restreindre 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 cela n'est pas nécessaire exécuter tous les appels de workflow provenant de vos dépôts Dataform. Pour en savoir plus sur le blocage des communications avec BigQuery, consultez Bloquer la communication avec BigQuery.

Vous devez bloquer la communication avec Secret Manager si aucun de vos Les dépôts Dataform se connectent à un dépôt Git tiers. Pour en savoir plus sur le blocage des communications 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 de VPC Service Controls sont appliquées lors de l'utilisation Dataform et cet accès tiers à Dataform Git 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 É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 de VPC Service Controls, consultez la page Contrôle des accès avec IAM

Configurez VPC Service Controls

Vous pouvez restreindre Dataform à l'aide d'un périmètre de service VPC Service Controls comme suit:

  • Ajoutez Dataform à un périmètre de service existant qui restreint dans 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 restreint BigQuery, suivez les Mettre à jour un périmètre de service dans la documentation VPC Service Controls.

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

Facultatif: Bloquer la communication avec BigQuery

La façon dont Dataform communique avec BigQuery dépend de plusieurs facteurs : Type de compte de service utilisé dans Dataform

Le compte de service Dataform par défaut utilise le bigquery.jobs.create l'autorisation de communiquer avec BigQuery. Vous accordez la valeur par défaut des rôles de compte de service Dataform contenant cette autorisation lorsque vous accordez les rôles 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, qui a été accordée le compte de service Dataform par défaut. Pour révoquer des rôles, suivez les 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 nécessaires pour communiquer avec BigQuery:

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

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

  • Révoquer 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 Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator) suivez les 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 le bigquery.jobs.create l'autorisation. Pour révoquer des rôles, suivez les Gérer l'accès aux projets, aux dossiers et aux organisations .

L'autorisation bigquery.jobs.create est incluse dans les éléments suivants : rôles IAM BigQuery prédéfinis devant ê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 une passerelle Secret Manager lorsque vous Connectez un dépôt Dataform à un dépôt tiers.

Pour bloquer la communication entre Dataform et Secret Manager, procédez comme suit : vous devez révoquer l'accès à tous les secrets du Dataform par défaut de service géré.

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

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

Étape suivante