Créer un dépôt

Ce document vous aide à comprendre le concept de dépôts dans Dataform et à créer un dépôt.

À propos des dépôts Dataform

Chaque dépôt Dataform contient une collection de fichiers SQLX et JavaScript composant votre workflow, ainsi que des packages et fichiers de configuration Dataform. Vous interagissez avec le contenu de votre dépôt dans un espace de travail de développement.

Dataform affiche vos dépôts sur la page Dataform par ordre alphabétique des ID de dépôt. Vous pouvez les trier et les filtrer.

  • Pour afficher vos dépôts, accédez à la page Dataform dans la Google Cloud console, .

    Accéder à Dataform

Chaque dépôt Dataform est connecté à un agent de service Dataform par défaut ou à un compte de service personnalisé. Vous ne pouvez sélectionner un compte de service personnalisé que lorsque vous créez un dépôt. Vous pouvez modifier le compte de service ultérieurement.

Par défaut, Dataform utilise un agent de service ou un compte de service dérivé de votre numéro de projet au format suivant :

service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Dataform utilise Git pour enregistrer les modifications et gérer les versions de fichiers. Chaque dépôt Dataform correspond à un dépôt Git. Après avoir créé un dépôt Dataform, vous pouvez le connecter à un dépôt GitHub, GitLab ou Bitbucket distant.

Dans un dépôt Dataform, Dataform stocke le code du dépôt. Dans un dépôt connecté, le dépôt tiers stocke le code du dépôt. Dataform interagit avec le dépôt tiers pour vous permettre de modifier et d'exécuter son contenu dans un espace de travail de développement Dataform.

La page du dépôt Dataform comprend les composants suivants :

Onglet "Espaces de travail de développement"
Affiche les espaces de travail de développement créés dans le dépôt.
Onglet "Journaux d'exécution du workflow"
Affiche les journaux d'exécution du workflow Dataform.
Onglet "Versions et programmation"
Vous permet d'inspecter, de créer, de modifier et de supprimer des configurations de version et des configurations de workflow.
Onglet "Paramètres"
Affiche le nom et l'emplacement du dépôt. Pour un dépôt connecté à un dépôt Git tiers, affiche la source du dépôt tiers, le nom de la branche par défaut et le jeton secret. Affiche les boutons permettant de connecter le dépôt à un dépôt Git tiers et de modifier la connexion Git.
Bouton "Créer un espace de travail de développement"
Vous permet de créer un espace de travail de développement.

Une fois que vous avez créé et initialisé un espace de travail de développement, vous pouvez modifier le fichier de paramètres de votre workflow pour configurer les paramètres Dataform suivants de votre dépôt :

  • La base de données par défaut (Google Cloud ID de projet).
  • Le schéma par défaut (ID de l'ensemble de données BigQuery).
  • L'emplacement BigQuery par défaut.
  • Le schéma par défaut (ID de l'ensemble de données BigQuery) pour les assertions.
  • L'entrepôt, qui doit être défini sur bigquery.
  • Les variables définies par l'utilisateur qui sont mises à la disposition du code du projet lors de la compilation.

Pour en savoir plus sur les paramètres des dépôts Dataform, consultez IProjectConfig dans la documentation de référence principale de Dataform.

Paramètres du dépôt

Lorsque vous créez un dépôt Dataform, vous devez définir les paramètres suivants :

ID du dépôt
ID unique du dépôt. Les ID ne peuvent contenir que des chiffres, des lettres, des traits d'union et des traits de soulignement.
Région

Région Dataform pour stocker le dépôt et son contenu.

Cette région de stockage peut être différente de la région de traitement dans laquelle Dataform traite votre code et stocke le résultat des exécutions. Par défaut, la région de traitement est définie sur la région de votre ensemble de données BigQuery par défaut. Vous pouvez modifier la région de traitement dans le fichier de paramètres du workflow après avoir créé le dépôt. Pour en savoir plus, consultez Configurer les paramètres de workflow Dataform.

Agent de service ou compte de service

Agent de service Dataform ou compte de service personnalisé associé au dépôt. Pour les nouveaux dépôts, vous devez fournir un compte de service personnalisé. Vous pouvez sélectionner un compte de service associé à votre Google Cloud projet ou saisir manuellement un autre compte de service.

Par défaut, Dataform utilise un agent de service ou un compte de service dérivé de votre numéro de projet au format suivant :

service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Vous devez utiliser un compte de service personnalisé pour exécuter des workflows dans votre dépôt, mais l'agent de service Dataform par défaut est toujours utilisé pour toutes les autres opérations du dépôt.

Mode strict act-as

Active une vérification de sécurité supplémentaire qui nécessite l'autorisation iam.serviceAccounts.actAs sur le compte de service. Pour les nouveaux dépôts, le mode strict act-as est appliqué. Pour les dépôts existants, nous vous recommandons d'utiliser des comptes de service personnalisés et d'activer le mode strict act-as pour garantir un modèle d'autorisations plus sécurisé et prévisible.

Chiffrement

Méthode de chiffrement pour le dépôt. Vous pouvez utiliser le chiffrement par défaut, une clé de chiffrement Cloud KMS gérée par le client unique ou une clé CMEK Dataform par défaut. Pour en savoir plus sur l'utilisation des clés de chiffrement gérées par le client (CMEK) dans Dataform, consultez Utiliser des clés de chiffrement gérées par le client.

Une fois que vous avez créé un dépôt, vous pouvez le connecter à GitHub ou GitLab.

Avant de commencer

  1. Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Pour utiliser le chiffrement CMEK pour le dépôt, activez le chiffrement CMEK des dépôts Dataform.

Rôles requis

Pour obtenir les autorisations nécessaires pour créer et supprimer un dépôt, demandez à votre administrateur de vous accorder les rôles IAM suivants sur les dépôts :

  • Administrateur Dataform (roles/dataform.admin) : le projet
  • Utilisateur du compte de service (roles/iam.serviceAccountUser) : le compte de service personnalisé

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.

Attribuer les rôles requis

Pour exécuter des workflows dans votre dépôt Dataform et dans BigQuery, vous pouvez utiliser un compte de service personnalisé ou votre compte Google.

Votre compte de service personnalisé doit disposer des rôles requis suivants :

  • Éditeur de données BigQuery (roles/bigquery.dataEditor) sur les projets ou les ensembles de données BigQuery spécifiques auxquels Dataform doit avoir accès en lecture et en écriture. Cela inclut généralement le projet hébergeant votre dépôt Dataform.
  • Lecteur de données BigQuery (roles/bigquery.dataViewer) sur les projets ou les ensembles de données BigQuery spécifiques auxquels Dataform doit avoir accès en lecture seule.
  • Utilisateur de job BigQuery (roles/bigquery.jobUser) sur le projet hébergeant votre dépôt Dataform.

Pour autoriser Dataform à utiliser votre compte de service personnalisé, l'agent de service Dataform par défaut doit disposer des rôles suivants sur la ressource de compte de service personnalisé :

Pour attribuer ces rôles, procédez comme suit :

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

    Accéder à IAM

  2. Cliquez sur Accorder l'accès.

  3. Dans le champ Nouveaux comptes principaux, saisissez l'ID de votre compte de service personnalisé.

  4. Dans le menu Sélectionner un rôle, sélectionnez les rôles suivants un par un, en utilisant Ajouter un autre rôle pour chaque rôle supplémentaire :

    • Éditeur de données BigQuery
    • Lecteur de données BigQuery
    • Utilisateur de job BigQuery
  5. Cliquez sur Enregistrer.

  6. Dans la Google Cloud console, accédez à la page Comptes de service.

    Accéder à la page "Comptes de service"

  7. Sélectionnez votre compte de service personnalisé.

  8. Accédez à Comptes principaux ayant accès, puis cliquez sur Accorder l'accès.

  9. Dans le champ Nouveaux comptes principaux, saisissez l'ID de votre agent de service Dataform par défaut.

    L'ID de votre agent de service Dataform par défaut est au format suivant :

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    

    Remplacez PROJECT_NUMBER par l'ID numérique de votre Google Cloud projet. Vous trouverez l'ID de votre Google Cloud projet dans le Google Cloud tableau de bord de la console. Pour en savoir plus, reportez-vous à la section Identifier les projets.

  10. Dans la liste Sélectionner un rôle, ajoutez les rôles suivants :

    • Utilisateur du compte de service
    • Créateur de jetons du compte de service
  11. Cliquez sur Enregistrer.

Pour en savoir plus sur l'attribution de rôles, consultez Accorder à Dataform l'accès requis.

Créer un dépôt

Pour créer un dépôt Dataform, procédez comme suit :

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

    Accéder à Dataform

  2. Cliquez sur Créer un dépôt.

  3. Sur la page Créer un dépôt, dans le champ ID du dépôt , saisissez un ID unique.

    Les ID ne peuvent contenir que des chiffres, des lettres, des traits d'union et des traits de soulignement.

  4. Dans la liste déroulante Région, sélectionnez une région Dataform pour stocker le dépôt et son contenu. Sélectionnez la région Dataform la plus proche de votre emplacement.

    Pour obtenir la liste des régions Dataform disponibles, consultez la section Emplacements. La région du dépôt ne doit pas nécessairement correspondre à l'emplacement de vos ensembles de données BigQuery.

    Dans le fichier workflow_settings.yaml, vous pouvez définir la région de traitement dans laquelle Dataform traite votre code et stocke le résultat des exécutions. La région de traitement doit correspondre à l'emplacement de vos ensembles de données BigQuery, mais n'a pas besoin de correspondre à la région du dépôt. Pour en savoir plus, consultez Configurer les paramètres de workflow Dataform.

  5. Dans le menu Compte de service, sélectionnez un compte de service personnalisé pour le dépôt.

    Dans le menu, vous pouvez sélectionner un compte de service personnalisé associé à votre Google Cloud projet auquel vous avez accès. Les comptes de service personnalisés ne sont utilisés que pour l'exécution des workflows. Toutes les autres opérations du dépôt sont effectuées par l'agent de service Dataform par défaut.

    1. Facultatif : Pour sélectionner un compte de service qui ne s'affiche pas dans le menu, cliquez sur Saisir manuellement , puis saisissez un ID de compte de service.
  6. Dans la section Vérifications d'autorisations actAs, appliquez les vérifications d'autorisations aux actions de l'utilisateur sur le dépôt. Pour en savoir plus sur ces vérifications, consultez Utiliser le mode strict act-as.

  7. Configurez le mécanisme de chiffrement sélectionné pour le dépôt :

    Clé CMEK par défaut

    Dataform affiche la case à cocher Utiliser la clé KMS par défaut et la sélectionne par défaut.

    • Pour chiffrer le dépôt avec la clé CMEK Dataform par défaut, laissez la case à cocher Utiliser la clé KMS par défaut sélectionnée.

    Clé CMEK unique

    Pour chiffrer le dépôt avec une clé CMEK unique, procédez comme suit :

    1. Si la case à cocher Utiliser la clé KMS par défaut est sélectionnée par défaut, décochez-la.
    2. Dans la section Chiffrement, sélectionnez l'option Clés de chiffrement gérées par le client (CMEK).
    3. Dans la liste déroulante Sélectionner une clé gérée par le client , sélectionnez une clé CMEK unique.

    Chiffrement au repos

    • Pour utiliser le chiffrement par défaut, dans la section Chiffrement, sélectionnez l'option Google-managed encryption key.
  8. Cliquez sur Créer, puis sur Accéder aux dépôts.

Modifier le compte de service

Vous devez associer un compte de service personnalisé à un dépôt Dataform pour l'exécution du workflow. Toutes les autres opérations du dépôt sont toujours effectuées par l'agent de service Dataform par défaut.

Pour modifier le compte de service d'un dépôt Dataform, procédez comme suit :

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

    Accéder à Dataform

  2. Sélectionnez un dépôt, puis cliquez sur Paramètres.

  3. À côté du champ Compte de service, cliquez sur Modifier le compte de service.

  4. Dans le menu Compte de service, sélectionnez un compte de service pour le dépôt.

    Dans le menu, vous pouvez sélectionner un compte de service personnalisé associé à votre Google Cloud projet auquel vous avez accès.

    1. Facultatif : Pour sélectionner un compte de service qui ne s'affiche pas dans le menu, cliquez sur Saisir manuellement , puis saisissez un ID de compte de service.
  5. Cliquez sur Enregistrer.

Supprimer un dépôt

Pour supprimer un dépôt et tout son contenu, procédez comme suit :

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

    Accéder à Dataform

  2. À côté du dépôt que vous souhaitez supprimer, cliquez sur le menu Plus, puis sélectionnez Supprimer.

  3. Dans la fenêtre Supprimer le dépôt, saisissez le nom du dépôt pour confirmer la suppression.

  4. Cliquez sur Supprimer.

Étape suivante