À propos des comptes de service dans Dataform
Lorsque vous créez votre premier dépôt Dataform, Dataform génère automatiquement un compte de service par défaut. Dataform utilise le de service par défaut pour interagir avec BigQuery en votre nom. Le compte de service Dataform par défaut ne peut pas rôles ou autorisations BigQuery par défaut. Vous devez accorder les autorisations l'accès au compte de service Dataform par défaut.
Le format de votre ID de compte de service Dataform par défaut est le suivant:
service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Remplacez YOUR_PROJECT_NUMBER par l'ID numérique de votre projet Google Cloud. Vous trouverez l'ID de votre projet Google Cloud dans le tableau de bord de la console Google Cloud. Pour en savoir plus, reportez-vous à la section Identifier les projets.
En plus du compte de service Dataform par défaut, vous pouvez utiliser d'autres comptes de service pour exécuter des workflows en votre nom. Vous pouvez configurer personnalisés:
Au niveau du dépôt, pour exécuter dans un dépôt donné.
Individuellement configuration du workflow.
Lorsque vous créez un dépôt Dataform ou une configuration de workflow, vous pouvez : sélectionnez un compte de service associé à votre projet Google Cloud y accéder. Vous devez configurer les autorisations requises pour tous les comptes de service associées à vos ressources Dataform.
Compte de service personnalisé associé à un Dataform n'est utilisé que pour exécuter des workflows à partir de ce dépôt. Toutes les autres les opérations de dépôt sont toujours effectuées par le de service géré.
Rôles requis pour les comptes de service Dataform
Les comptes de service par défaut et personnalisés utilisés dans Dataform nécessitent les rôles IAM BigQuery suivants pour pouvoir exécuter dans BigQuery:
- Éditeur de données BigQuery sur les projets pour lesquels Dataform a besoin d'un accès en lecture et en écriture. Ils incluent généralement le projet qui héberge votre dépôt Dataform.
- Lecteur de données BigQuery sur les projets pour lesquels Dataform a besoin d'un accès en lecture seule.
- Utilisateur de job BigQuery sur le projet hébergeant votre dépôt Dataform.
- Propriétaire de données BigQuery si vous voulez interroger des ensembles de données BigQuery.
- Rôles BigQuery pour le contrôle des accès au niveau des colonnes si vous souhaitez utiliser des tags avec stratégie BigQuery
De plus, vous devez accorder au compte de service Dataform par défaut
Créateur de jetons du compte de service(roles/iam.serviceAccountTokenCreator
)
l'accès à tous les comptes de service personnalisés
que vous voulez utiliser dans Dataform.
Considérations de sécurité pour les comptes de service Dataform
Attribuer les rôles requis par Dataform à un compte de service s'accompagne des considérations de sécurité suivantes:
Tout compte de service disposant des rôles requis peut accéder BigQuery ou Secret Manager dans le projet auquel ce compte de service quels que soient les paramètres de VPC Service Controls.
Pour en savoir plus, consultez Configurez VPC Service Controls pour Dataform.
Tout utilisateur disposant de l'IAM
dataform.repositories.create
autorisation peut exécuter du code à l'aide du service Dataform par défaut de service et toutes les autorisations accordées à ce compte de service.Pour en savoir plus, consultez Considérations de sécurité pour les autorisations Dataform
Pour limiter les données qu'un utilisateur ou un compte de service peut lire ou écrire BigQuery, vous pouvez accorder des autorisations IAM BigQuery précises Ensembles de données ou tables BigQuery. Pour en savoir plus, consultez Contrôler l'accès aux ensembles de données Contrôler l'accès aux tables et aux vues
Avant de commencer
Dans la console Google Cloud, accédez à la page Dataform page.
Sélectionnez ou créez un dépôt.
Attribuer les rôles BigQuery requis à un compte de service utilisé dans Dataform
Pour attribuer les rôles IAM BigQuery requis à vos compte de service Dataform par défaut ou personnalisé que vous souhaitez utiliser dans Dataform, procédez comme suit:
Dans la console Google Cloud, accédez à la page IAM.
Cliquez sur Accorder l'accès.
Dans le champ Nouveaux comptes principaux, saisissez le ID de compte de service.
Dans la liste déroulante Sélectionner un rôle, sélectionnez le rôle Rôle Utilisateur de tâche BigQuery.
Cliquez sur Ajouter un autre rôle, puis dans la liste déroulante Sélectionnez un rôle : Sélectionnez le rôle Éditeur de données BigQuery.
Cliquez sur Ajouter un autre rôle, puis dans la liste déroulante Sélectionnez un rôle : Sélectionnez le rôle Lecteur de données BigQuery.
Cliquez sur Enregistrer.
Accorder à un compte de service personnalisé l'accès à la création de jetons
Pour utiliser un compte de service personnalisé dans Dataform, la configuration Le compte de service Dataform doit pouvoir accéder au service personnalisé de service. Pour accorder cet accès, vous devez ajouter l'API Dataform par défaut compte de service en tant que compte principal au compte de service personnalisé Rôle Créateur de jetons du compte de service
Pour accorder au compte de service Dataform par défaut l'accès à un objet compte de service, procédez comme suit:
Dans la console Google Cloud, accédez à IAM > Comptes de service :
Sélectionnez un projet.
Sur la page Comptes de service du projet "YOUR_PROJECT_NAME", sélectionnez votre compte de service Dataform personnalisé.
Accédez à Autorisations, puis cliquez sur Accorder l'accès.
Dans le champ Nouveaux comptes principaux, saisissez votre Dataform par défaut. ID de compte de service.
Le format de votre ID de compte de service Dataform par défaut est le suivant:
service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Dans la liste déroulante Sélectionner un rôle, sélectionnez le rôle Rôle Créateur de jetons du compte de service
Cliquez sur Enregistrer.
Étape suivante
- Pour en savoir plus sur les rôles IAM BigQuery et consultez la page Contrôle des accès avec IAM.
- Pour en savoir plus sur l'attribution d'autorisations précises à BigQuery ensembles de données, consultez la page Contrôler l'accès aux ensembles de données.
- Pour en savoir plus sur l'attribution d'autorisations précises à BigQuery tables, consultez la page Contrôler l'accès aux tables et aux vues.
- Pour savoir comment contrôler l'accès à Dataform à l'aide de VPC Service Controls, consultez la page Configurez VPC Service Controls pour Dataform.