Se connecter à un dépôt Git tiers

Ce document explique comment lier un dépôt Dataform à un un dépôt Git distant tiers.

Une fois les dépôts associés, les modifications que vous apportez dans un L'espace de travail de développement Dataform peut être transféré vers et extrait de un dépôt Git distant.

Vous pouvez lier un dépôt Dataform à un dépôt Git distant hébergé par fournisseurs Git suivants:

  • Azure DevOps Services

  • Bitbucket

  • GitHub

  • GitLab

Pour associer un dépôt distant tiers à un dépôt Dataform, procédez comme suit : vous devez d'abord l'authentifier. Vous pouvez authentifier un dépôt distant dans Dataform via HTTPS ou SSH.

Pour les dépôts distants GitHub et GitLab, vous pouvez utiliser HTTPS ou SSH pour l'authentification unique. Pour les dépôts distants Azure DevOps Services et Bitbucket, vous devez utiliser SSH.

Avant de commencer

Si vous ne l'avez pas déjà fait, Créez un dépôt Dataform. Vous en aurez besoin ultérieurement pour partager un secret avec votre compte de service Dataform.

Rôles requis

Pour obtenir les autorisations nécessaires pour associer un dépôt Dataform à un dépôt Git distant, demandez à votre administrateur de vous accorder le Rôle IAM Administrateur Dataform (roles/dataform.admin) sur les dépôts. 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.

Authentifier un dépôt distant via HTTPS

Vous pouvez authentifier les dépôts GitHub et GitLab via HTTPS en créant un Secret Manager par un jeton d'accès personnel et partage avec votre compte de service Dataform.

Dataform utilise ensuite ce jeton d'accès pour se connecter à votre fournisseur Git valider les modifications pour le compte des développeurs. Dataform rend ces des commits à l'aide de l'adresse e-mail Google Cloud du développeur. qui a effectué chaque commit.

Pour authentifier un dépôt GitHub, créez un jeton d'accès personnel classique ou un jeton d'accès personnel précis qui vous permet de personnaliser les autorisations de jeton.

Pour authentifier un dépôt GitLab, créez un jeton d'accès personnel classique.

Pour authentifier un dépôt GitHub ou GitLab dans Dataform via HTTPS, procédez comme suit:

  1. Dans GitHub ou GitLab, créez un jeton d'accès personnel.

  2. Lorsque vous créez un jeton d'accès personnel GitHub, procédez comme suit:

    1. Accordez à Dataform l'autorisation repo.

    2. Veillez à définir un délai d'expiration de jeton adapté à vos besoins.

    3. Si votre organisation utilise l'authentification unique (SSO) SAML, autoriser le jeton.

  3. Facultatif: Lorsque vous créez une instance jeton d'accès personnel précis, procédez comme suit:

    1. Sélectionnez l'accès au dépôt uniquement pour les dépôts sélectionnés, puis sélectionnez le auquel vous souhaitez vous connecter.

    2. Accordez un accès en lecture et en écriture au contenu du dépôt.

    3. Veillez à définir un délai d'expiration de jeton adapté à vos besoins.

    4. Si votre organisation utilise l'authentification unique (SSO) SAML, autoriser le jeton.

  4. Lorsque vous créez un jeton d'accès personnel GitLab, procédez comme suit:

    1. Nommez le jeton dataform.

      Le jeton d'accès personnel GitLab doit être nommé dataform.

    2. Accordez à Dataform le rôle api, read_repository, et write_repository.

    3. Veillez à définir un délai d'expiration de jeton adapté à vos besoins.

  5. Dans Secret Manager, créer un secret contenant un jeton d'accès personnel pour se connecter à votre fournisseur Git.

  6. Accordez l'accès au secret dans votre compte de service Dataform.

    Votre compte de service Dataform est au format suivant:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Lorsque vous accordez l'accès, assurez-vous d'accorder au roles/secretmanager.secretAccessor à votre compte de service Dataform.

Dataform utilise le jeton d'accès pour se connecter à votre fournisseur Git valider les modifications pour le compte des développeurs. Dataform rend ces des commits à l'aide de l'adresse e-mail Google Cloud du développeur. qui a effectué chaque commit.

Authentifier un dépôt distant via SSH

Vous pouvez authentifier Azure DevOps Services, Bitbucket, GitHub et GitLab des dépôts via SSH en générant une clé SSH et Secret Manager secret.

La clé SSH se compose d'une clé SSH publique et d'une clé SSH privée. Vous devez partager la clé SSH publique avec votre fournisseur Git et créer un Secret Manager avec la clé SSH privée. Ensuite, partagez le secret avec votre compte de service Dataform.

Dataform utilise le secret avec la clé SSH privée pour se connecter à votre compte pour valider les modifications pour le compte des développeurs. Dataform fait ces commits à l'aide de l'adresse e-mail Google Cloud du développeur. qui a effectué chaque commit.

Pour authentifier un dépôt Azure DevOps Services, Bitbucket, GitHub ou GitLab dans Dataform via SSH, procédez comme suit:

  1. Dans Azure DevOps Services, Bitbucket, GitHub ou GitLab, créez une clé SSH.

  2. Importez la clé SSH publique dans votre compte Git tiers.

  3. Dans Secret Manager, créer un secret avec la clé SSH privée comme valeur du secret.

  4. Accordez l'accès au secret dans votre compte de service Dataform.

    Votre compte de service Dataform est au format suivant:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Lorsque vous accordez l'accès, assurez-vous d'accorder au roles/secretmanager.secretAccessor à votre compte de service Dataform.

Connecter un dépôt Dataform

Pour associer un dépôt Dataform à un dépôt Git distant, procédez comme suit : procédez comme suit:

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

    Accéder à Dataform

  2. Sélectionnez le dépôt que vous souhaitez connecter.

  3. Sur la page du dépôt, cliquez sur Paramètres > Connectez-vous à Git.

  4. Dans le volet Associer au dépôt distant, dans la section Dans le champ URL du dépôt Git distant, saisissez l'URL du dépôt Git distant. se terminant par .git.

    Pour l'authentification HTTPS, l'URL du dépôt Git distant ne peut pas contenant des noms d'utilisateur ou des mots de passe.

    Pour l'authentification SSH, l'URL du dépôt Git distant doit se trouver dans l'une des dans les formats suivants:

    • URL absolue: ssh://git@{host_name}[:{port}]/{repository_path}, port est facultatif.
    • URL de type SCP: git@{host_name}:{repository_path}.
  5. Dans le champ Default Remote branch name (Nom de la branche distante par défaut), saisissez le nom. de la branche de développement principale du dépôt Git distant.

  6. Dans la liste déroulante Secret, sélectionnez votre secret pour le code secret Git distant. un dépôt de clés.

  7. Si vous avez utilisé l'authentification SSH pour le dépôt distant, dans le Valeur de la clé d'hôte publique SSH, saisissez une seule clé d'hôte publique de votre Fournisseur Git

    La valeur de la clé d'hôte publique SSH doit être au format de fichier known_hosts. La valeur doit contenir un algorithme et une clé publique encodée au format base64, mais sans le nom d'hôte ni l'adresse IP, au format suivant:

      ALGORITHM BASE64_KEY_VALUE
    
    • Pour la clé d'hôte publique Azure DevOps Services, exécutez la commande ssh-keyscan -t rsa ssh.dev.azure.com dans le terminal.

    • Pour la clé d'hôte publique Bitbucket, consultez la section Configurer SSH.

    • Pour obtenir la clé de l'hôte public GitHub, consultez les empreintes de clé SSH de GitHub.

    • Pour la clé d'hôte publique GitLab, consultez la section Entrées SSH known_hosts.

  8. Cliquez sur Associer.

Modifier la connexion au dépôt distant

Modifier une connexion entre un dépôt Dataform et un dépôt distant git, procédez comme suit:

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

    Accéder à Dataform

  2. Cliquez sur le dépôt que vous souhaitez modifier.

  3. Sur la page du dépôt, cliquez sur Paramètres > Modifier la connexion Git

  4. Dans le volet Associer au dépôt distant, modifiez l'un des éléments suivants : options:

    1. Dans le champ URL du dépôt Git distant, modifiez l'URL de la page un dépôt Git distant.

      L'URL du dépôt Git distant ne peut pas contenir noms d'utilisateur ou mots de passe.

    2. Dans le champ Default Remote branch name (Nom de la branche distante par défaut), modifiez le nom. de la branche de développement principale du dépôt Git distant.

    3. Dans la liste déroulante Secret, sélectionnez votre secret pour le code secret Git distant. un dépôt de clés.

    4. Si vous avez utilisé l'authentification SSH pour le dépôt distant, dans le Valeur de la clé d'hôte publique SSH, saisissez la clé d'hôte publique de votre Fournisseur Git

      La valeur de la clé d'hôte publique SSH doit se présenter sous la forme d'un fichier hôte connu. La valeur doit contenir un algorithme et une clé publique encodée au format base64, mais sans le nom d'hôte ni l'adresse IP, au format suivant:

       ALGORITHM BASE64_KEY_VALUE
      
  5. Cliquez sur Mettre à jour.

Étape suivante