À 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 compte de service par défaut pour interagir avec BigQuery en votre nom.
Votre ID de compte de service Dataform par défaut est au format 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 des comptes de service autres que ceux par défaut:
Au niveau du dépôt, pour exécuter tous les workflows d'un dépôt donné.
individuellement pour chaque configuration de workflow.
Lorsque vous créez un dépôt Dataform ou une configuration de workflow, vous pouvez sélectionner n'importe quel compte de service associé à votre projet Google Cloud auquel vous avez accès. Vous devez configurer les autorisations requises pour tous les comptes de service associés à vos ressources Dataform.
Les comptes de service par défaut et autres que ceux par défaut utilisés dans Dataform nécessitent les rôles IAM BigQuery suivants pour pouvoir exécuter des workflows 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 hébergeant votre dépôt Dataform.
- Lecteur de données BigQuery pour les projets pour lesquels Dataform a besoin d'un accès en lecture seule.
- Utilisateur de tâche BigQuery sur le projet hébergeant votre dépôt Dataform.
- Propriétaire de données BigQuery si vous souhaitez interroger des ensembles de données 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 autres que ceux par défaut que vous souhaitez utiliser dans Dataform.
Avant de commencer
Dans la console Google Cloud, accédez à la page Dataform.
Sélectionnez ou créez un dépôt.
Si vous utilisez VPC Service Controls, excluez les ressources BigQuery de votre périmètre VPC Service Controls pour pouvoir utiliser Dataform. Dataform n'est pas compatible avec VPC Service Controls pour le moment.
Vous pouvez également développer des workflows SQL localement avec la CLI Dataform.
Attribuer les rôles BigQuery requis à un compte de service utilisé dans Dataform
Pour attribuer les rôles IAM BigQuery requis à votre compte de service Dataform par défaut ou à un compte de service autre que celui par défaut 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 l'ID du compte de service.
Dans la liste déroulante Sélectionner un rôle, sélectionnez le rôle Utilisateur de tâche BigQuery.
Cliquez sur Ajouter un autre rôle, puis dans la liste déroulante Sélectionner 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électionner un rôle, sélectionnez le rôle Lecteur de données BigQuery.
Cliquez sur Enregistrer.
Accorder l'accès à la création de jetons à un compte de service autre que celui par défaut
Pour utiliser un compte de service autre que celui par défaut dans Dataform, le compte de service Dataform par défaut doit pouvoir accéder à ce compte. Pour accorder cet accès, vous devez ajouter le compte de service Dataform par défaut en tant qu'entité principale du compte de service autre que celui par défaut avec le rôle Créateur de jetons du compte de service.
Pour accorder au compte de service Dataform par défaut l'accès à un compte de service autre que celui par défaut, procédez comme suit:
Dans la console Google Cloud, accédez à la page IAM.
Cliquez sur Comptes de service, puis sélectionnez un compte de service.
Cliquez sur Autorisations > Accorder l'accès.
Dans le champ Nouveaux comptes principaux, saisissez votre ID de compte de service Dataform par défaut.
Dans la liste déroulante Sélectionner un rôle, sélectionnez le rôle Créateur de jetons du compte de service.
Cliquez sur Enregistrer.
Étapes suivantes
- Pour en savoir plus sur les rôles et les autorisations IAM de BigQuery, consultez la page Contrôle des accès avec IAM.
- Pour en savoir plus sur l'attribution d'autorisations précises sur les ensembles de données BigQuery, consultez la page Contrôler l'accès aux ensembles de données.
- Pour en savoir plus sur l'attribution d'autorisations précises sur les tables BigQuery, consultez la page Contrôler l'accès aux tables et aux vues.
- Pour savoir comment déclencher une exécution dans Dataform, consultez Déclencher une exécution.