Einrichten der privaten Git-Konnektivität für Databricks Git-Ordner (Repos)

Hier finden Sie Informationen zu Git Server Proxy für Databricks Git-Ordner und zur zugehörigen Konfiguration. Hierbei handelt es sich um einen konfigurierbaren Dienst, mit dem Sie Git-Befehle von Git-Ordnern des Databricks-Arbeitsbereichs an Ihre lokalen Repositorys senden können, die von GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server und GitLab (selbstverwaltet) bereitgestellt werden.

Hinweis

Benutzer mit einem während der Vorschau konfigurierten Git-Serverproxy für Databricks sollten die Clusterberechtigungen aktualisieren, um eine optimale Leistung zu erzielen. Weitere Informationen finden Sie unter Entfernen globaler CAN_ATTACH_TO-Berechtigungen.

Was ist Git Server Proxy für Databricks Git-Ordner?

Databricks Git Server Proxy für Databricks Git-Ordner ist ein Feature, mit dem Sie Git-Befehle aus Ihrem Azure Databricks-Arbeitsbereich an einen lokalen Git-Server weiterleiten können.

Databricks Git-Ordner (ehemals Repos) stellen Ihre verknüpften Git-Repositorys als Ordner dar. Die Versionskontrolle für den Inhalt dieser Ordner erfolgt durch die Synchronisierung mit dem verknüpften Git-Repository. Standardmäßig können Databricks Git-Ordner nur mit öffentlichen Git-Anbietern (z. B. öffentliche Versionen von GitHub, GitLab, Azure DevOps und andere) synchronisiert werden. Wenn Sie jedoch Ihren eigenen lokalen Git-Server hosten (z. B. GitHub Enterprise Server, Bitbucket Server oder GitLab (selbstverwaltet)), müssen Sie Git Server Proxy mit Git-Ordnern verwenden, um Databricks Zugriff auf Ihren Git-Server zu gewähren. Auf Ihren Git-Server muss über Ihre Azure Databricks-Datenebene (Treiberknoten) zugegriffen werden können.

Hinweis

Derzeit können Databricks Git-Ordner nur Databricks-Notebooks und -Unterordner sowie bestimmte andere Ressourcentypen enthalten. Eine aktuelle Liste der unterstützten Ressourcentypen finden Sie unter Grenzwerte und häufig gestellte Fragen für die Git-Integration mit Databricks Git-Ordnern.

Wie funktioniert Git Server Proxy für Databricks Git-Ordner?

Git Server Proxy für Databricks Git-Ordner leitet Git-Befehle von der Databricks-Steuerungsebene an einen „Proxycluster“ weiter, der auf der Computeebene Ihres Databricks-Arbeitsbereichs ausgeführt wird. In diesem Zusammenhang ist der Proxycluster ein Cluster, der für die Ausführung eines Proxydiensts für Git-Befehle konfiguriert ist, die von Databricks Git-Ordnern an Ihr selbstgehostetes Git-Repository übermittelt werden. Dieser Proxydienst empfängt Git-Befehle von der Databricks-Steuerebene und leitet sie an Ihre Git-Serverinstanz weiter.

Das folgende Diagramm veranschaulicht die allgemeine Systemarchitektur:

Diagramm: Konfiguration von Git Server Proxy für Databricks Git-Ordner, um auf der Computeebene eines Kunden ausgeführt werden zu können

Derzeit benötigt ein Git-Serverproxy keine CAN_ATTACH_TO-Berechtigung für alle Benutzer mehr. Administratoren mit vorhandenen Proxyclustern können jetzt die ACL-Berechtigung des Clusters ändern, um dieses Feature zu aktivieren. Um es zu aktivieren:

  1. Wählen Sie auf der Seitenleiste Compute aus, und klicken Sie dann neben dem Eintrag „Compute“ für den von Ihnen ausgeführten Git-Serverproxy auf das Optionsmenü Kebab-Menü:

    Auswählen von „Compute“ auf der Seitenleiste und anschließendes Auswählen des Optionsmenüs rechts neben der Computeressource des Git-Proxyservers

  2. Entfernen Sie im Dialogfeld für Alle Benutzer den Eintrag Kann anfügen an:

    Klicken Sie in dem angezeigten modalen Dialogfeld rechts neben „Alle Benutzer“ und „Kann anfügen“ auf das „X“.

Wie richte ich Git Server Proxy für Databricks Git-Ordner ein?

In diesem Abschnitt erfahren Sie, wie Sie Ihre Git-Serverinstanz für Git Server Proxy für Databricks Git-Ordner vorbereiten, den Proxy erstellen und Ihre Konfiguration überprüfen.

Voraussetzungen

Berücksichtigen Sie vor dem Aktivieren des Proxys die folgenden Voraussetzungen und Planungsaufgaben:

  • In Ihrem Arbeitsbereich ist das Feature für Databricks Git-Ordner aktiviert.
  • Auf Ihre Git-Serverinstanz kann über die Computeebenen-VPC des Azure Databricks-Arbeitsbereichs zugegriffen werden, und sowohl HTTPS als auch persönliche Zugriffstoken (Personal Access Tokens, PATs) sind aktiviert.

Hinweis

Git Server Proxy for Databricks funktioniert in allen Regionen, die von Ihrem VPC unterstützt werden.

Schritt 1: Vorbereiten der Git-Serverinstanz

So konfigurieren Sie Ihre Git-Serverinstanz:

  1. Erlauben Sie, dass der Treiberknoten des Proxyclusters auf Ihren Git-Server zugreifen kann.

    Ihr Git-Unternehmensserver kann über eine allowlist von IP-Adressen verfügen, über die der Zugriff erlaubt ist.

    1. Ordnen Sie eine statische ausgehende IP-Adresse für Datenverkehr zu, der aus Ihrem Proxycluster stammt. Verwenden Sie hierfür Azure Firewall oder eine Appliance für ausgehenden Datenverkehr.
    2. Fügen Sie die IP-Adresse aus dem vorherigen Schritt zur Positivliste Ihres Git-Servers hinzu.
  2. Legen Sie Ihre Git-Serverinstanz so fest, dass der HTTPS-Transport zugelassen wird.

    • Informationen zu GitHub Enterprise finden Sie unter Welche Remote-URL sollte ich verwenden? in der GitHub Enterprise-Hilfe.
    • Wechseln Sie für Bitbucket zur Verwaltungsseite des Bitbucket-Servers, und wählen Sie die Servereinstellungen aus. Aktivieren Sie im Abschnitt „HTTP(S)-SCM-Hosting“ das Kontrollkästchen HTTP(S) aktiviert.

Schritt 2: Ausführen des Konfigurationsnotebooks

So aktivieren Sie den Proxy:

  1. Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich als Arbeitsbereichsadministrator*in mit Zugriffsrechten zum Erstellen eines Clusters an.

  2. Importieren Sie dieses Notebook:

    Aktivieren Sie Git Server Proxy für Databricks Git-Ordner für private Git-Serververbindungen in Git-Ordnern.

  3. Wählen Sie „Alle ausführen“ aus, um die folgenden Aufgaben auszuführen:

    • Erstellen Sie einen Einzelknotencluster namens „Databricks Git Proxy“, der nicht automatisch beendet wird. Dies ist der Proxycluster, der Git-Befehle aus Ihrem Azure Databricks-Arbeitsbereich verarbeitet und an Ihren lokalen Git-Server weiterleitet.
    • Aktivieren Sie ein Featureflag, das steuert, ob Git-Anforderungen in Databricks Git-Ordnern über den Cluster weitergeleitet werden.

Wichtig

Sie müssen Arbeitsbereichadministrator*in mit Zugriffsrechten sein, um einen Cluster zu erstellen.

Hinweis

Beachten Sie Folgendes:

  • Das Ausführen eines zusätzlichen Clusters mit langer Ausführungsdauer zum Hosten der Proxysoftware führt zu zusätzlichen DBUs. Um die Kosten zu minimieren, konfiguriert das Notebook den Proxy für die Verwendung eines einzelnen Knotenclusters mit einem kostengünstigen Knotentyp. Sie sollten jedoch die Clusteroptionen entsprechend Ihren Anforderungen ändern.

Schritt 3: Überprüfen der Git-Serverkonfiguration

Um Ihre Git-Serverkonfiguration zu überprüfen, versuchen Sie, ein auf Ihrem privaten Git-Server gehostetes Repository über den Proxycluster zu klonen. Ein erfolgreicher Klonvorgang bedeutet, dass Sie Git Server Proxy für Ihren Arbeitsbereich erfolgreich aktiviert haben.

Schritt 4: Erstellen von proxyfähigen Repositorys

Nachdem die Benutzer*innen ihre Git-Anmeldeinformationen konfiguriert haben, sind keine weiteren Schritte erforderlich, um Repositorys zu erstellen oder zu synchronisieren. Informationen zum Konfigurieren von Anmeldeinformationen sowie zum Erstellen eines Repositorys in Databricks Git-Ordnern finden Sie unter Konfigurieren von Git-Anmeldeinformationen und Verbinden eines Remoterepositorys mit Azure Databricks.

Entfernen globaler CAN_ATTACH_TO-Berechtigungen

Administratoren mit vorhandenen Proxyclustern können jetzt die ACL-Berechtigung des Clusters ändern, um das allgemein verfügbare Verhalten des Git-Serverproxys zu nutzen.

Wenn Sie zuvor Databricks Git-Serverproxy mit CAN_ATTACH_TO-Berechtigungen konfiguriert haben, führen Sie die folgenden Schritte aus, um diese Berechtigungen zu entfernen:

  1. Wählen Sie auf der Seitenleiste Compute aus, und klicken Sie dann neben dem Eintrag „Compute“ für den von Ihnen ausgeführten Git-Serverproxy auf das Kebabmenü Kebab-Menü:

    Auswählen von „Compute“ auf der Seitenleiste und anschließendes Auswählen des Optionsmenüs rechts neben der Computeressource des Git-Proxyservers

  2. Entfernen Sie im Dialogfeld für Alle Benutzer den Eintrag Kann anfügen an:

    Klicken Sie in dem angezeigten modalen Dialogfeld rechts neben „Alle Benutzer“ und „Kann anfügen“ auf das „X“.

Problembehandlung

Ist bei der Konfiguration von Git Server Proxy für Databricks Git-Ordner ein Fehler aufgetreten? Nachfolgend finden Sie einige häufige Probleme und Methoden, um sie effektiver zu diagnostizieren.

Checkliste für gängige Probleme

Bevor Sie mit der Diagnose eines Fehlers beginnen, vergewissern Sie sich, dass Sie Folgendes getan haben:

  • Vergewissern Sie sich, dass Ihr Proxycluster ausgeführt wird.
  • Vergewissern Sie sich, dass Ihre Benutzer von Databricks Git-Ordnern Anfügeberechtigungen für den Proxycluster besitzen.
  • Führen Sie das Konfigurationsnotebook erneut aus, und erfassen Sie die Ergebnisse, sofern noch nicht geschehen. Wenn Sie das Problem nicht debuggen können, kann der Databricks-Support die Ergebnisse untersuchen. Sie können das Konfigurationsnotebook als DBC-Archiv exportieren und senden.

Untersuchen von Protokollen im Proxycluster

Die Datei unter /databricks/git-proxy/git-proxy.log im Proxycluster enthält Protokolle, die für Debuggingzwecke nützlich sind.

Die Protokolldatei sollte mit der Zeile Data-plane proxy server binding to ('', 8000)… beginnen. Wenn das nicht der Fall ist, bedeutet das, dass der Proxyserver nicht ordnungsgemäß gestartet wurde. Versuchen Sie, den Cluster neu zu starten, oder löschen Sie den von Ihnen erstellten Cluster, und führen Sie das Konfigurationsnotebook erneut aus.

Wenn die Protokolldatei mit dieser Zeile beginnt, überprüfen Sie die darauffolgenden Protokollanweisungen für jede Git-Anforderung, die von einem Git-Vorgang in Databricks Git-Ordnern initiiert wurde.

Zum Beispiel:

  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`

Fehlerprotokolle, die in diese Datei geschrieben wurden, können hilfreich sein, um Sie oder den Databricks Support bei Debugproblemen zu unterstützen.

Häufige Fehlermeldungen und deren Behebung

  • Aufgrund von SSL-Problemen konnte keine sichere Verbindung hergestellt werden

    Unter Umständen tritt der folgende Fehler auf:

      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
    

    Das bedeutet häufig, dass Sie ein Repository verwenden, das spezielle SSL-Zertifikate erfordert. Überprüfen Sie den Inhalt der /databricks/git-proxy/git-proxy.log-Datei im Proxycluster. Wenn die Zertifikatüberprüfung fehlgeschlagen ist, müssen Sie die Zertifizierungsstelle der Systemzertifikatkette hinzufügen. Extrahieren Sie zunächst das Stammzertifikat (über den Browser oder auf anderem Weg), und laden Sie es in DBFS hoch. Bearbeiten Sie dann den Git-Proxycluster für Git-Ordner so, dass mithilfe der Umgebungsvariablen GIT_PROXY_CA_CERT_PATH auf die Stammzertifikatdatei verwiesen wird. Weitere Informationen zum Bearbeiten von Clusterumgebungsvariablen finden Sie unter Umgebungsvariablen.

    Nachdem Sie diesen Schritt abgeschlossen haben, starten Sie den Cluster neu.

    Das modale Databricks-Dialogfeld, in dem Sie Umgebungsvariablen für einen Git-Proxy festlegen

  • Fehler beim Klonen des Repositorys mit der Meldung „Fehlende/ungültige Git-Anmeldeinformationen“

    Überprüfen Sie zunächst, ob Sie Ihre Git-Anmeldeinformationen in den Benutzereinstellungen konfiguriert haben.

    Möglicherweise tritt dieser Fehler auf:

      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.
    

    Wenn Ihre Organisation SAML-SSO verwendet, stellen Sie sicher, dass das Token autorisiert wurde (das kann über die Verwaltungsseite des PAT Ihres Git-Servers erfolgen).

Häufig gestellte Fragen

Welche Sicherheitsauswirkungen hat der Git-Serverproxy?

Die wichtigsten Punkte sind:

  • Das Proxying wirkt sich nicht auf die Sicherheitsarchitektur Ihrer Databricks-Steuerungsebene aus.
  • Sie können nur einen Git-Proxyservercluster pro Arbeitsbereich verwenden.

Ja. Im aktuellen Release unterscheidet Ihr Azure Databricks-Arbeitsbereich nicht zwischen Repositorys mit und ohne Proxy.

Funktioniert das Git-Proxyfeature mit anderen Anbietern für Git-Unternehmensserver?

Databricks Git-Ordner unterstützen GitHub Enterprise, Bitbucket Server, Azure DevOps Server und GitLab (selbstverwaltet). Andere Anbieter für Git-Unternehmensserver sollten ebenfalls verwendet werden können, wenn sie den allgemeinen Git-Spezifikationen entsprechen.

Unterstützen Databricks Git-Ordner die GPG-Signierung von Commits?

Nein

Unterstützen Databricks Git-Ordner SSH-Transport für Git-Vorgänge?

Nein Nur HTTPS wird unterstützt.

Wird die Verwendung eines vom Standardport abweichenden HTTPS-Ports auf dem Git-Server unterstützt?

Derzeit geht das Konfigurationsnotebook davon aus, dass Ihr Git-Server den HTTPS-Standardport 443 verwendet. Sie können die Umgebungsvariable GIT_PROXY_CUSTOM_HTTP_PORT festlegen, um den Portwert mit einem bevorzugten Wert zu überschreiben.

Kann ein Proxy für mehrere Arbeitsbereiche freigegeben werden, oder wird ein Proxycluster pro Arbeitsbereich benötigt?

Sie benötigen einen Proxycluster pro Azure Databricks-Arbeitsbereich.

Funktioniert der Proxy mit der älteren Versionsverwaltung eines einzelnen Notebooks?

Nein, der Proxy funktioniert nicht mit der älteren Versionsverwaltung eines einzelnen Notebooks. Benutzer müssen zur Versionsverwaltung von Databricks Git-Ordnern migrieren.

Kann Databricks Git-Server-URLs ausblenden, die weitergeleitet werden? Könnten Benutzer*innen die ursprünglichen Git-Server-URLs anstelle der Proxy-URLs eingeben?

Ja, beides ist möglich. Benutzer*innen müssen das Verhalten ihres Proxys nicht anpassen. Mit der aktuellen Proxyimplementierung wird der gesamte Git-Datenverkehr für Databricks Git-Ordner über den Proxy weitergeleitet. Benutzer*innen geben die normale Git-Repository-URL ein, zum Beispiel https://git.company.com/org/repo-name.git.

Wie oft arbeiten Benutzer*innen mit den Git-URLs?

Normalerweise würden Benutzer*innen einfach die Git-URL hinzufügen, wenn sie ein neues Repository erstellen oder ein vorhandenes Repository auschecken, das sie noch nicht ausgecheckt haben.

Gibt das Feature die Authentifizierungsdaten transparent an den Git-Server weiter?

Ja, der Proxy verwendet das Git-Servertoken des Benutzerkontos, um sich beim Git-Server zu authentifizieren.

Gibt es Databricks-Zugriff auf Git-Servercode?

Der Azure Databricks-Proxydienst greift mithilfe der durch Benutzer*innen bereitgestellten Anmeldeinformationen auf das Git-Repository auf dem Git-Server zu und synchronisiert alle Codedateien im Repository mit dem Repository. Der Zugriff ist durch die Berechtigungen eingeschränkt, die im benutzerseitig bereitgestellten persönlichen Zugriffstoken (PAT) angegeben sind.