Partager via


Configurer la connectivité Git privée pour Dossiers Git Azure 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.

Le proxy de serveur Git Databricks est spécifiquement conçu pour fonctionner avec la version de DBR incluse dans le notebook de configuration. Les utilisateurs ne peuvent pas mettre à jour la version de DBR du cluster de proxy.

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

Si votre réseau d’entreprise est un accès privé (VPN) uniquement (aucun accès public), vous devez exécuter un proxy de serveur Git pour accéder aux référentiels Git situés en dehors de celui-ci et ajouter des dossiers Git à vos espaces de travail.

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

Important

Pour créer une ressource de calcul et effectuer cette tâche, vous devez avoir un rôle d’administrateur sur l’espace de travail et des droits d’accès.

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. Importez ce notebook, qui choisit le plus petit type d’instance disponible auprès de votre fournisseur de cloud pour exécuter le proxy Git.

    Notebook : Activer le proxy de serveur Git pour les dossiers Git Databricks pour la connectivité au serveur Git privé dans des dossiers Git.

  3. Cliquez sur « Exécuter tout » pour exécuter le notebook. Celui-ci effectue les tâches suivantes :

    • Crée une ressource de calcul à nœud unique nommée « Databricks Git Proxy » qui ne se termine pas automatiquement. Il s’agit du « service proxy Git » qui traite les commandes Git et les transfère de votre espace de travail Azure Databricks vers votre serveur Git local.
    • Active un indicateur de fonctionnalité qui contrôle si les requêtes Git dans les dossiers Git Databricks sont proxysées via l’instance de calcul.

    En guise de bonne pratique, envisagez de créer un travail simple pour exécuter la ressource de calcul du proxy Git. Il peut s’agir d’un simple notebook qui imprime ou enregistre un état tel que « Le service proxy Git est en cours d’exécution ». Configurez le travail pour qu’il s’exécute à intervalles réguliers et garantir que le service proxy Git est toujours disponible pour vos utilisateurs.

Remarque

L’exécution d’une ressource de calcul supplémentaire de longue durée pour héberger le logiciel proxy entraîne des DBU supplémentaires. Afin de réduire les coûts, le notebook configure le proxy pour qu’il utilise une ressource de calcul à nœud unique avec un type de nœud peu coûteux. Toutefois, vous souhaiterez peut-être modifier les options de calcul en fonction de vos besoins. Pour plus d’informations sur la tarification des instances de calcul, consultez la calculatrice de prix Databricks.

É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.
  • Confirmez que vous êtes administrateur d’espace de travail.
  • 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.

Modifier votre configuration de proxy Git

Si votre service proxy Git ne fonctionne pas avec la configuration par défaut, vous pouvez définir des variables d’environnement spécifiques pour y apporter des modifications afin de mieux prendre en charge votre infrastructure réseau.

Utilisez les variables d’environnement suivantes pour mettre à jour la configuration de votre service proxy Git :

Variable d’environnement Format Description
GIT_PROXY_ENABLE_SSL_VERIFICATION true/false Définissez cette valeur false si vous utilisez un certificat auto-signé pour votre serveur Git privé.
GIT_PROXY_CA_CERT_PATH Chemin d’accès fichier (chaîne) Définissez-le sur le chemin d’accès à un fichier de certificat d’autorité de certification utilisé pour la vérification SSL. Exemple : /FileStore/myCA.pem
GIT_PROXY_HTTP_PROXY https://<hostname>:<port #> Définissez-le sur l’URL HTTPS du proxy de pare-feu de votre réseau pour le trafic HTTP.
GIT_PROXY_CUSTOM_HTTP_PORT Numéro de port (entier) Définissez-le sur le numéro de port affecté au port HTTP de votre serveur Git.

Pour définir ces variables d’environnement, accédez à l’onglet Calcul de votre espace de travail Azure Databricks et sélectionnez la configuration de calcul pour votre service proxy Git. En bas du volet Configuration , développez Options avancées et sélectionnez l’onglet Spark sous celui-ci. Définissez une ou plusieurs de ces variables d’environnement en les ajoutant à la zone de texte des variables d’environnement.

La page de configuration de capacité de calcul Databricks où vous définissez les variables d'environnement pour un proxy Git

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.

  • É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.