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 :
Vous devez définir la règle d'administration
dataform.restrictGitRemotes.Dataform et BigQuery doivent être restreints par le même périmètre de service VPC Service Controls.
Pour permettre à des utilisateurs spécifiques de s'authentifier avec les identifiants de leur compte Google lorsqu'ils planifient des exécutions, déclenchent manuellement des exécutions ou exécutent des pipelines avec VPC Service Controls configuré, vous devez ajouter leurs identités utilisateur à vos règles d'entrée. Pour en savoir plus, consultez Mettre à jour les règles d'entrée et de sortie pour un périmètre de service et Documentation de référence sur les règles d'entrée.
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 :
- Autorisation
bigquery.jobs.createaccordé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 :
Révoquez tous les rôles prédéfinis et personnalisés accordés au niveau du projet au compte de service personnalisé qui contient l'autorisation
bigquery.jobs.create. L'autorisationbigquery.jobs.createest incluse dans les rôles IAM BigQuery prédéfinis suivants :- Administrateur BigQuery (
roles/bigquery.admin) - Utilisateur de job BigQuery (
roles/bigquery.jobUser) - Utilisateur BigQuery (
roles/bigquery.user) - Administrateur BigQuery Studio (
roles/bigquery.studioAdmin) - Utilisateur BigQuery Studio (
roles/bigquery.studioUser)
Pour révoquer des rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
- Administrateur BigQuery (
Révoquez le rôle Créateur de jetons du compte de service (
roles/iam.serviceAccountTokenCreator) accordé à l'agent de service Dataform par défaut sur le compte de service personnalisé sélectionné. Pour révoquer le rôle "Créateur de jetons du compte de service", consultez Gérer l'accès aux comptes de service.
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 :
- Administrateur Secret Manager (
roles/secretmanager.admin) - Accesseur de secrets Secret Manager (
roles/secretmanager.secretAccessor) - Gestionnaire de versions de secrets Secret Manager (
roles/secretmanager.secretVersionManager)
Étapes suivantes
- Pour en savoir plus sur VPC Service Controls, consultez la page Présentation de VPC Service Controls.
- Pour en savoir plus sur les règles d'administration, consultez la présentation du service de règles d'administration.
- Pour en savoir plus sur les comptes de service dans Dataform, consultez À propos des agents de service Dataform et des comptes de service personnalisés.