Share via


Configurer la connectivité Git privée pour Dossiers Git Databricks (Repos)

Découvrez et configurez le proxy de serveur Git pour Dossiers Git Databricks, un service configurable qui vous permet de proxyser des commandes Git depuis des dossiers Git d’espaces de travail Databricks vers vos référentiels locaux traités par GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server et GitLab autogéré.

Remarque

Les utilisateurs disposant d’un proxy de serveur Git Databricks configuré pendant la phase de préversion doivent mettre à niveau les autorisations du cluster pour obtenir des performances optimales. Consultez Supprimer les autorisations globales CAN_ATTACH_TO.

Qu’est-ce que le proxy de serveur Git pour Dossiers Git Databricks ?

Le proxy de serveur Git Databricks pour Dossiers Git Databricks est une fonctionnalité qui vous permet de proxyser des commandes Git depuis votre espace de travail Azure Databricks vers un serveur Git local.

Dossiers Git Databricks (anciennement appelé Repos) représente vos référentiels Git connectés sous forme de dossiers. Le contenu de ces dossiers est contrôlé par la version en les synchronisant avec le référentiel Git connecté. Par défaut, Dossiers Git Databricks peut uniquement se synchroniser avec des fournisseurs Git publics (tels que GitHub public, GitLab, Azure DevOps, etc.). Cependant, si vous hébergez votre propre serveur Git local (par exemple GitHub Enterprise Server, Bitbucket Server ou GitLab autogéré), vous devez utiliser le proxy de serveur Git avec Dossiers Git Databricks pour fournir à Databricks l’accès à votre serveur Git. Votre serveur Git doit être accessible à partir de votre plan de données Azure Databricks (nœud de pilote).

Remarque

Actuellement, Dossiers Git Databricks peut contenir uniquement des notebooks Databricks et des sous-dossiers, ainsi qu’un ensemble spécifique d’autres types de ressources. Pour obtenir la liste actuelle des types d’actifs pris en charge, consultez Limites et FAQ pour l’intégration de Git avec Dossiers Git Databricks.

Comment fonctionne le proxy de serveur Git pour Dossiers Git Databricks ?

Le proxy de serveur Git pour Dossiers Git Databricks proxyse les commandes Git provenant du plan de contrôle Databricks vers un « cluster proxy » qui s’exécute dans le plan de calcul de votre espace de travail Databricks. Dans ce contexte, le cluster de proxy est un cluster configuré pour exécuter un service de proxy pour les commandes Git de Dossiers Git Databricks vers votre référentiel Git autohébergé. Ce service de proxy reçoit des commandes Git du plan de contrôle Databricks et les transfère à votre instance de serveur Git.

Le diagramme ci-dessous illustre l’architecture système globale :

Diagramme montrant comment le proxy de serveur Git pour Dossiers Git Databricks est configuré pour s’exécuter à partir du plan de calcul d’un client

Actuellement, un proxy de serveur Git ne nécessite plus d’autorisation CAN_ATTACH_TO pour tous les utilisateurs. Les administrateurs disposant d’un cluster proxy existant peuvent désormais modifier l’autorisation de liste de contrôle d’accès du cluster pour activer cette fonctionnalité. Pour l’activer :

  1. Sélectionnez Calcul dans la barre latérale, puis cliquez sur le menu des trois points menu Kebab en regard de l’entrée Calcul pour le proxy de serveur Git que vous exécutez :

    Sélectionnez Calcul dans la barre latérale et le menu des trois points à droite de votre ressource de calcul de proxy de serveur Git

  2. Dans la boîte de dialogue, supprimez l’entrée Peut attacher à pour Tous les utilisateurs :

    Dans la boîte de dialogue modale qui s’affiche, cliquez sur X à droite de tous les utilisateurs, Peut attacher à

Comment configurer le proxy de serveur Git pour Dossiers Git Databricks ?

Cette section décrit comment préparer votre instance de serveur Git pour le proxy de serveur Git pour Dossiers Git Databricks, comment créer le proxy et comment valider votre configuration.

Avant de commencer

Avant d’activer le proxy, tenez compte des prérequis et des tâches de planification suivantes :

  • Votre espace de travail présente la fonctionnalité Dossiers Git Databricks activée.
  • Votre instance de serveur Git est accessible à partir du VPC de plan de calcul de votre espace de travail Azure Databricks, et ses jetons d’accès HTTPS et personnels (PAT) sont activés.

Remarque

Le proxy de serveur Git pour Databricks fonctionne dans toutes les régions prises en charge par votre cloud privé virtuel.

Étape 1 : Préparez votre instance de serveur Git

Pour configurer votre instance de serveur Git :

  1. Autorisez le nœud de pilote du cluster de proxy à accéder à votre serveur Git.

    Votre serveur Git d’entreprise peut avoir une allowlist d’adresses IP à partir de quoi l’accès est autorisé.

    1. Associez une adresse IP sortante statique pour le trafic provenant de votre cluster de proxy. Pour ce faire, servez-vous du Pare-feu Azure ou d’une appliance de sortie.
    2. Ajoutez l’adresse IP de l’étape précédente à la liste verte de votre serveur Git.
  2. Définissez votre instance de serveur Git pour qu’elle autorise le transport HTTPS.

    • Pour GitHub Enterprise, consultez Quelle URL distante dois-je utiliser dans l’assistance de GitHub Enterprise.
    • Pour Bitbucket, accédez à la page d’administration du serveur Bitbucket et sélectionnez les paramètres du serveur. Dans la section d’hébergement SCM HTTP(S), cochez la case HTTP(S) activée.

Étape 2 : Exécutez le notebook d’activation sur GitHub

Pour activer le proxy :

  1. Connectez-vous à votre espace de travail Azure Databricks en tant qu’administrateur d’espace de travail avec des droits d’accès pour créer un cluster.

  2. Importer ce notebook :

    Activez le proxy de serveur Git pour Dossiers Git Databricks pour la connectivité du serveur Git privé dans des dossiers Git.

  3. Sélectionnez « Exécuter tout » pour effectuer les tâches suivantes :

    • Créez un cluster à nœud unique nommé « Proxy Git Databrics » qui ne se termine pas automatiquement. Il s’agit du « cluster de proxy » qui traite et transfère les commandes Git de votre espace de travail Azure Databricks vers votre serveur Git local.
    • Activez un indicateur de fonctionnalité qui contrôle si les requêtes Git dans Dossiers Git Databricks sont transmises par proxy via le cluster.

Important

Pour créer un cluster, vous devez être administrateur sur l’espace de travail avec des droits d’accès.

Remarque

Vous devez prendre en compte les éléments suivants :

  • L’exécution d’un cluster de longue durée supplémentaire pour héberger le logiciel de proxy entraîne des DBU supplémentaires. Pour réduire les coûts, le notebook configure le proxy pour qu’il utilise un cluster à nœud unique avec un type de nœud peu coûteux. Toutefois, vous pouvez modifier les options de cluster en fonction de vos besoins.

Étape 3 : Validez la configuration de votre serveur Git

Pour valider la configuration de votre serveur Git, essayez de cloner un référentiel hébergé sur votre serveur Git privé via le cluster de proxy. Si le clone réussit, cela signifie que vous avez activé le proxy de serveur Git pour votre espace de travail.

Étape 4 : Créez des référentiels avec proxy

Une fois que les utilisateurs ont configuré leurs informations d’identification Git, aucune autre étape n’est nécessaire pour créer ou synchroniser vos référentiels. Pour configurer les informations d'identification et créer un référentiel dans Dossiers Git Databricks, consultez Configurer les informations d'identification Git et connecter un référentiel distant à Azure Databricks.

Supprimer les autorisations globales CAN_ATTACH_TO

Les administrateurs disposant d’un cluster proxy existant peuvent désormais modifier l’autorisation de liste de contrôle d’accès du cluster pour tirer parti du comportement du proxy de serveur Git en disponibilité générale.

Si vous avez configuré précédemment le proxy de serveur Git Databricks avec des privilèges CAN_ATTACH_TO, procédez comme suit pour supprimer ces autorisations :

  1. Sélectionnez Calcul dans la barre latérale, puis cliquez sur le menu des trois points menu Kebab en regard de l’entrée Calcul pour le proxy de serveur Git que vous exécutez :

    Sélectionnez Calcul dans la barre latérale et le menu des trois points à droite de votre ressource de calcul de proxy de serveur Git

  2. Dans la boîte de dialogue, supprimez l’entrée Peut attacher à pour Tous les utilisateurs :

    Dans la boîte de dialogue modale qui s’affiche, cliquez sur X à droite de tous les utilisateurs, Peut attacher à

Dépannage

Avez-vous rencontré une erreur lors de la configuration du proxy de serveur Git pour Dossiers Git Databricks ? Voici quelques problèmes courants et des façons de les diagnostiquer plus efficacement.

Liste de vérification des problèmes courants

Avant de commencer à diagnostiquer une erreur, vérifiez que vous avez effectué les étapes suivantes :

  • Vérifiez que votre cluster de proxy est en cours d’exécution.
  • Vérifiez que vos utilisateurs Dossiers Git Databricks disposent de l’autorisation « attacher à » sur le cluster de proxy.
  • Réexécutez le notebook d’activation et capturez les résultats, si ce n’est pas déjà fait. Si vous ne parvenez pas à déboguer le problème, le support de Databricks peut examiner les résultats. Vous pouvez exporter et envoyer le notebook d’activation en tant qu’archive DBC.

Inspecter les journaux sur le cluster de proxy

Le fichier dans /databricks/git-proxy/git-proxy.log sur le cluster de proxy contient des journaux d’activité utiles à des fins de débogage.

Le fichier journal commence par la ligne Data-plane proxy server binding to ('', 8000)…. Si ce n’est pas le cas, cela signifie que le serveur proxy n’a pas démarré correctement. Essayez de redémarrer le cluster, ou supprimez le cluster que vous avez créé et réexécutez le notebook d’activation.

Si le fichier journal commence par cette ligne, passez en revue les instructions de journal qui le suivent pour chaque requête Git lancée par une opération Git dans Dossiers Git Databricks.

Par exemple :

  do_GET: https://server-address/path/to/repo/info/refs?service=git-upload-pack 10.139.0.25 - - [09/Jun/2021 06:53:02] /
  "GET /server-address/path/to/repo/info/refs?service=git-upload-pack HTTP/1.1" 200`

Les journaux d’erreurs écrits dans ce fichier peuvent être utiles pour vous aider ou aider le support Databricks à déboguer les problèmes.

Messages d’erreur courants et leur résolution

  • La connexion sécurisée n’a pas pu être établie en raison de problèmes SSL

    L’erreur suivante peut s’afficher :

      https://git.consult-prodigy.com/Prodigy/databricks_test: Secure connection to https://git.consult-prodigy.com/Prodigy/databricks_test could not be established because of SLL problems
    

    Cela signifie souvent que vous utilisez un référentiel qui nécessite des certificats SSL particuliers. Vérifiez le contenu du fichier /databricks/git-proxy/git-proxy.log sur le cluster de proxy. S’il est indiqué que la validation de certificat a échoué, vous devez ajouter le certificat d’autorité à la chaîne de certificats de système. Tout d’abord, extrayez le certificat racine (à l’aide du navigateur ou d’une autre option) et chargez-le dans DBFS. Ensuite, modifiez le cluster Proxy Git de Dossiers Git pour qu’il utilise la variable d’environnement GIT_PROXY_CA_CERT_PATH qui pointe vers le fichier de certificat racine. Pour plus d’informations sur la modification de variables d’environnement de cluster, consultez Variables d’environnement.

    Une fois cette étape terminée, redémarrez le cluster.

    Boîte de dialogue modale Databricks dans laquelle vous définissez des variables d’environnement pour un proxy Git

  • Échec du clonage du référentiel avec une erreur d’informations d’identification « Git manquantes/non valides »

    Tout d’abord, vérifiez que vous avez configuré vos informations d’identification Git dans les paramètres utilisateur.

    Vous pouvez rencontrer cette erreur :

      Error: Invalid Git credentials. Go to User Settings -> Git Integration and check that your personal access token or app password has the correct repo access.
    

    Si votre organisation utilise l’authentification unique SAML, vérifiez que le jeton a été autorisé (cela peut être effectué à partir de la page de gestion du jeton d’accès personnel (PAT) de votre serveur Git).

Forum aux questions

Quelles sont les implications de sécurité du proxy de serveur Git ?

Ce qu’il faut retenir :

  • Le proxy n’affecte pas l’architecture de sécurité de votre plan de contrôle Databricks.
  • Vous ne pouvez avoir qu’un seul cluster de serveurs proxy Git par espace de travail.

Oui. Dans la version actuelle, votre espace de travail Azure Databricks ne fait pas la distinction entre les référentiels avec ou sans proxy.

La fonctionnalité de proxy Git fonctionne-t-elle avec d’autres fournisseurs de serveurs d’entreprise Git ?

Dossiers Git Databricks prend en charge GitHub Enterprise, Bitbucket Server, Azure DevOps Server et GitLab autogéré. D’autres fournisseurs de serveurs Git d’entreprise devraient aussi fonctionner s’ils sont conformes aux spécifications Git courantes.

Les dossiers Git Databricks prennent-ils en charge la signature GPG des validations ?

Non.

Les dossiers Git Databricks prennent-ils en charge le transport SSH pour les opérations Git ?

Non. Seul HTTPS est pris en charge.

L’utilisation d’un port HTTPS non défini par défaut sur le serveur Git est-elle prise en charge ?

Actuellement, le notebook d’activation suppose que votre serveur Git utilise le port HTTPS 443 par défaut. Vous pouvez définir la variable d’environnement GIT_PROXY_CUSTOM_HTTP_PORT pour remplacer la valeur de port par une valeur préférée.

Pouvez-vous partager un proxy entre plusieurs espaces de travail ou avez-vous besoin d’un cluster de proxy par espace de travail ?

Il vous faut un cluster de proxy par espace de travail Azure Databricks.

Le proxy fonctionne-t-il avec le contrôle de version à notebook unique hérité ?

Non, le proxy ne fonctionne pas avec le contrôle de version à notebook unique hérité. Les utilisateurs doivent migrer vers le contrôle de version Dossiers Git Databricks.

Databricks peut-il masquer les URL de serveur Git avec proxy ? Les utilisateurs peuvent-ils entrer les URL de serveur Git d’origine plutôt que des URL avec proxy ?

Oui aux deux questions. Les utilisateurs n’ont pas besoin d’ajuster leur comportement selon le proxy. Avec l’implémentation actuelle du proxy, tout le trafic Git pour Dossiers Git Databricks est routé via le proxy. Les utilisateurs entrent l’URL de référentiel Git normale telle que https://git.company.com/org/repo-name.git.

À quelle fréquence les utilisateurs travailleront-ils avec les URL Git ?

En règle générale, un utilisateur ajoute simplement l’URL Git lorsqu’il crée un référentiel ou extrait un référentiel existant qu’il n’a pas déjà extrait.

La fonctionnalité transmet-elle de façon transparente les données d’authentification au serveur Git ?

Oui, le proxy utilise le jeton de serveur Git du compte d’utilisateur pour s’authentifier auprès du serveur Git.

Existe-t-il un accès Databricks au code du serveur Git ?

Le service de proxy Azure Databricks accède au référentiel Git sur le serveur Git à l’aide des informations d’identification fournies par l’utilisateur et synchronise tous les fichiers de code dans le référentiel avec le référentiel. L’accès est limité par les autorisations spécifiées dans le jeton d’accès personnel (PAT) fourni par l’utilisateur.