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:
Vous devez définir le paramètre Règle d'administration
dataform.restrictGitRemotes
.Dataform et BigQuery doivent être soumis aux mêmes restrictions Périmètre de service VPC Service Controls.
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:
- 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
)
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:
- Administrateur Secret Manager (
roles/secretmanager.admin
) - Accesseur de secrets Secret Manager (
roles/secretmanager.secretAccessor
) - Gestionnaire des versions de secret Secret Manager (
roles/secretmanager.secretVersionManager
)
Étape suivante
- Pour en savoir plus sur VPC Service Controls, consultez la page Présentation de VPC Service Controls.
- Pour en savoir plus sur la règle d'administration, consultez Présentation du service de règles d'administration
- Pour en savoir plus sur les comptes de service dans Dataform, consultez À propos des comptes de service dans Dataform