Accorder l'accès requis à Dataform

Ce document vous explique comment accorder les rôles IAM (Identity and Access Management) requis par Dataform des comptes de service pour exécuter des workflows dans BigQuery.

À 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:

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:

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

  1. Dans la console Google Cloud, accédez à la page Dataform page.

    Accéder à la page Dataform

  2. 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:

  1. Dans la console Google Cloud, accédez à la page IAM.

    Accéder à la page IAM

  2. Cliquez sur Accorder l'accès.

  3. Dans le champ Nouveaux comptes principaux, saisissez le ID de compte de service.

  4. Dans la liste déroulante Sélectionner un rôle, sélectionnez le rôle Rôle Utilisateur de tâche BigQuery.

  5. 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.

  6. 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.

  7. 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:

  1. Dans la console Google Cloud, accédez à IAM > Comptes de service :

    Accéder à la page Comptes de service

  2. Sélectionnez un projet.

  3. Sur la page Comptes de service du projet "YOUR_PROJECT_NAME", sélectionnez votre compte de service Dataform personnalisé.

  4. Accédez à Autorisations, puis cliquez sur Accorder l'accès.

  5. 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
    
  6. 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

  7. Cliquez sur Enregistrer.

Étape suivante