Condividi tramite


Configurare la connettività Git privata per le cartelle Git di Azure Databricks (Repository)

Scopri e configura il proxy del server Git per le cartelle Git di Databricks, un servizio configurabile che consente di inoltrare i comandi Git dalle cartelle Git dell'area di lavoro di Databricks ai repository Git locali gestiti da GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server e GitLab a gestione autonoma.

Nota

Gli utenti con un proxy server Git di Databricks configurato durante l'anteprima devono aggiornare le autorizzazioni del cluster per ottenere prestazioni ottimali. Vedere Rimuovere le autorizzazioni CAN_ATTACH_TO globali.

Il proxy server Git di Databricks è progettato specificamente per funzionare con la versione di Databricks Runtime inclusa nel notebook di configurazione. Gli utenti sono scoraggiati dall'aggiornare la versione di Databricks Runtime del cluster proxy.

Che cos'è il server proxy Git per le cartelle Git di Databricks?

Il server proxy Git di Databricks per le cartelle Git è una funzionalità che consente di eseguire il proxy di comandi Git dall'area di lavoro di Azure Databricks a un server Git locale.

Le cartelle Git di Databricks (in precedenza Repos) rappresentano i tuoi repository Git connessi come cartelle. Il contenuto di queste cartelle è controllato dalla versione mediante sincronizzazione con il repository Git connesso. Per impostazione predefinita, le cartelle Git possono essere sincronizzate solo con i provider Git pubblici (come GitHub pubblico, GitLab, Azure DevOps e altri). Tuttavia, se si ospita un server Git locale (come GitHub Enterprise Server, Bitbucket Server o GitLab autogestito), è necessario usare il server proxy Git con le cartelle Git per fornire l'accesso a Databricks al server Git. Il server Git deve essere accessibile dal piano dati di Azure Databricks (nodo driver).

Se la rete aziendale è privata (VPN) solo (nessun accesso pubblico), è necessario eseguire un proxy server Git per accedere ai repository Git che si trovano all'esterno e per aggiungere cartelle Git alle aree di lavoro.

Come funziona il server proxy Git per le cartelle Git di Databricks?

Il proxy server Git per le cartelle Git di Databricks instrada i comandi Git dal piano di controllo di Databricks a un cluster proxy denominato e, in esecuzione nel piano di calcolo dell'area di lavoro di Databricks. In questo contesto, il cluster proxy è un cluster configurato per eseguire un servizio proxy per i comandi Git dalle cartelle Git di Databricks verso il repository Git ospitato autonomamente. Questo servizio proxy riceve i comandi Git dal piano di controllo di Databricks e li inoltra all'istanza del server Git.

Il seguente diagramma illustra l'architettura complessiva del sistema:

Diagramma che mostra come il server proxy Git per le cartelle Git di Databricks è configurato per l'esecuzione dal piano di calcolo di un cliente

Attualmente, un server proxy Git non richiede più l'autorizzazione CAN_ATTACH_TO per tutti gli utenti. Gli amministratori con un cluster proxy esistente possono ora modificare l'autorizzazione ACL del cluster per abilitare questa funzionalità. Per abilitarla:

  1. Selezionare Calcolo dalla barra laterale e poi cliccare sul Menu con i puntini verticali menu con i puntini verticali accanto alla voce Calcolo per il server proxy Git in esecuzione:

    Selezionare Calcolo dalla barra laterale, selezionare il menu con i puntini verticali a destra della risorsa di calcolo del server proxy Git

  2. Dalla finestra di dialogo, rimuovere la voce Can Attach To per Tutti gli utenti:

    Nella finestra di dialogo modale che appare, cliccare su X a destra di Tutti gli utenti, Can Attach To

Come si configura il server proxy Git per le cartelle Git di Databricks?

Questa sezione descrive come preparare l'istanza del server Git per il proxy server Git delle cartelle Git di Databricks, creare il proxy e convalidare la configurazione.

Operazioni preliminari

Prima di abilitare il proxy, assicurarsi che:

  • L'area di lavoro dispone della funzionalità Cartelle Git di Databricks abilitata.
  • L'istanza del server Git è accessibile dal VPC del piano di calcolo dell'area di lavoro di Azure Databricks e dispone di token di accesso HTTPS e personali (PTA) abilitati.

Nota

Il server proxy Git per Databricks funziona in tutte le aree supportate dal VPC.

Passaggio 1: Preparare l'istanza del server Git

Importante

Occorre essere un amministratore dell'area di lavoro con diritti di accesso per creare una risorsa di calcolo e completare questa attività.

Per configurare un'istanza del server Git:

  1. Assegnare l'accesso al server Git al nodo driver del cluster proxy.

    Il server Git aziendale può avere un allowlist di indirizzi IP da cui è consentito l'accesso.

    1. Associare un indirizzo IP statico in uscita per il traffico originato dal cluster proxy. Si può fare usando Firewall di Azure o un'appliance di uscita.
    2. Aggiungere l'indirizzo IP del passaggio precedente all'elenco di elementi consentiti del server Git.
  2. Impostare l'istanza del server Git per consentire il trasporto HTTPS.

    • Per GitHub Enterprise, vedere Quale URL remoto usare nella Guida di GitHub Enterprise.
    • Per Bitbucket, andare alla pagina di amministrazione del server Bitbucket e selezionare Impostazioni server. Nella sezione Hosting HTTP(S) SCM, abilitare la casella di spunta HTTP(S) abilitato.

Passaggio 2: Eseguire il notebook di abilitazione

Per abilitare il proxy:

  1. Accedere all'area di lavoro di Azure Databricks come amministratore dell'area di lavoro con diritti di accesso per creare un cluster.

  2. Importare questo notebook, che sceglie il tipo di istanza più piccola disponibile dal provider di servizi cloud per eseguire il proxy Git:

    Notebook: abilitare il server proxy Git per le cartelle Git di Databricks per la connettività del server Git privato nelle cartelle Git.

  3. Fare clic su Esegui tutto per eseguire il notebook, che esegue le attività seguenti:

    • Crea una risorsa di calcolo a nodo singolo denonimata "Proxy Git di Databricks", che non termina automaticamente. Si tratta del servizio proxy Git che elabora e inoltra i comandi Git dall'area di lavoro di Azure Databricks al server Git locale.
    • Abilita un flag di funzionalità che controlla se le richieste Git nelle cartelle Git di Databricks vengono inoltrate tramite proxy con l’istanza di ambiente di calcolo.

    Come procedura consigliata, considerare la creazione di un processo semplice per eseguire la risorsa di calcolo del proxy Git. Può trattarsi di un semplice notebook che stampa o registra lo stato, come "Il servizio proxy Git è in esecuzione". Impostare il processo affinché venga eseguito a intervalli di tempo regolari, per assicurarsi che il servizio proxy Git sia sempre disponibile per gli utenti.

Nota

L'esecuzione di una risorsa di calcolo aggiuntiva a esecuzione prolungata per ospitare il software proxy comporta un numero di DUB supplementari. Per ridurre al minimo i costi, il notebook configura il proxy per l'uso di una risorsa di calcolo a nodo singolo con un tipo di nodo non costoso. Tuttavia, è possibile modificare le opzioni di calcolo in base alle proprie esigenze. Per altre informazioni sui prezzi delle istanze di ambiente di calcolo, vedere Calcolatore prezzi di Databricks.

Passaggio 3: Convalidare la configurazione del server Git

Per convalidare la configurazione del server Git, provare a clonare un repository ospitato nel server Git privato tramite il cluster proxy. Un clone riuscito significa che è stato abilitato correttamente il server proxy Git per l'area di lavoro.

Passaggio 4: Creare repository Git con abilitazione al proxy

Dopo che gli utenti configurano le credenziali Git, non sono necessari altri passaggi per creare o sincronizzare i repository. Per configurare le credenziali e accedere ai repository per le cartelle Git a livello di codice, vedere Configurare le credenziali Git & connettere un repository remoto ad Azure Databricks.

Rimuovere le autorizzazioni CAN_ATTACH_TO globali

Gli amministratori con un cluster proxy esistente possono ora modificare l'autorizzazione ACL del cluster per sfruttare il comportamento del server proxy Git disponibile a livello generale.

Se in precedenza è stato configurato il server proxy Git di Databricks con privilegi CAN_ATTACH_TO, seguire questa procedura per rimuovere tali autorizzazioni:

  1. Selezionare Calcolo dalla barra laterale e poi cliccare sul Menu con i puntini verticali menu con i puntini verticali accanto alla voce Calcolo per il server proxy Git in esecuzione:

    Selezionare Calcolo dalla barra laterale, selezionare il menu con i puntini verticali a destra della risorsa di calcolo del server proxy Git

  2. Dalla finestra di dialogo, rimuovere la voce Can Attach To per Tutti gli utenti:

    Nella finestra di dialogo modale che appare, cliccare su X a destra di Tutti gli utenti, Can Attach To

Risoluzione dei problemi

Si è verificato un errore durante la configurazione del server proxy Git per le cartelle Git di Databricks? Ecco alcuni problemi comuni e modi per diagnosticarli in modo più efficace.

Elenco di controllo per i problemi comuni

Prima di iniziare a diagnosticare un errore, verificare di aver completato i passaggi seguenti:

  • Verificare che il cluster proxy sia in esecuzione con questo notebook di debug del server proxy Git. Si tratta di un notebook diverso dal notebook di abilitazione del server proxy Git e fornito anche da Databricks.
  • Verificare di essere un amministratore dell'area di lavoro.
  • Esegui il resto del notebook di debug e acquisisci i risultati, se non lo hai già fatto. Se non è possibile eseguire il debug del problema o non vengono visualizzati errori segnalati dal notebook di debug, il supporto di Databricks può esaminare i risultati. È possibile esportare e inviare il notebook di debug come archivio DBC, se richiesto.

Modificare la configurazione del proxy Git

Se il servizio proxy Git non funziona con la configurazione predefinita, è possibile impostare variabili di ambiente specifiche per apportare modifiche al fine di supportare meglio l'infrastruttura di rete.

Usare le seguenti variabili di ambiente per aggiornare la configurazione per il servizio proxy Git:

Variabile di ambiente Formato Descrizione
GIT_PROXY_ENABLE_SSL_VERIFICATION true/false Impostare questa opzione su false se si usa un certificato autofirmato per il server Git privato.
GIT_PROXY_CA_CERT_PATH Percorso file (stringa) Impostare questa opzione sul percorso per un file di certificato della CA usato per la verifica SSL. Esempio: /FileStore/myCA.pem
GIT_PROXY_HTTP_PROXY https://<hostname>:<port #> Impostare questa opzione sull'URL HTTPS per il proxy firewall della rete per il traffico HTTP.
GIT_PROXY_CUSTOM_HTTP_PORT Numero di porta (intero) Impostare questa opzione sul numero di porta assegnato alla porta HTTP del server Git.

Per impostare queste variabili di ambiente, andare sulla scheda Calcolo nell'area di lavoro di Azure Databricks e selezionare la configurazione di calcolo per il servizio proxy Git. Nella parte bassa del riquadro Configurazione, espandere Opzioni avanzate e selezionare la scheda Spark sotto di essa. Impostare una o più di queste variabili di ambiente aggiungendole all'area di testo Variabili di ambiente.

La pagina di configurazione del calcolo di Databricks in cui si impostano le variabili di ambiente per un proxy Git

Ispezionare i log nel cluster proxy

Il file in /databricks/git-proxy/git-proxy.log nel cluster proxy contiene i log utili per scopi di debugging.

Il file di log deve iniziare con la riga Data-plane proxy server binding to ('', 8000)…. In caso contrario, significa che il server proxy non è stato avviato correttamente. Provare a riavviare il cluster oppure eliminare il cluster creato ed eseguire di nuovo il notebook di abilitazione.

Se il file di resoconto inizia con questa riga, rivedere le istruzioni di log che lo seguono per ogni richiesta Git avviata da un'operazione Git nelle cartelle Git di Databricks.

Ad esempio:

  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`

I log degli errori scritti in questo file possono essere utili per aiutare l'utente o l’assistenz di Databricks a eseguire il debug dei problemi.

Messaggi di errore comuni e relativa risoluzione

  • Impossibile stabilire una connessione sicura a causa di problemi SSL

    Potrebbe essere visualizzato il messaggio di errore seguente:

      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
    

    Spesso ciò significa che si usa un repository che richiede certificati SSL speciali. Verificare il contenuto del file /databricks/git-proxy/git-proxy.log nel cluster proxy. Se dice che la convalida del certificato ha avuto esito negativo, è necessario aggiungere il certificato dell'autorità alla catena di certificati di sistema. Innanzitutto, estrarre il certificato radice (usando il browser o un'altra opzione) e caricarlo in DBFS. Poi, modificare il cluster Git Proxy delle cartelle Git per usare la variabile di ambiente GIT_PROXY_CA_CERT_PATH per puntare al file del certificato radice. Per altre informazioni sulla modifica delle variabili di ambiente del cluster, vedere Variabili di ambiente.

    Dopo aver completato questo passaggio, riavviare il cluster.

  • Errore durante la clonazione del repository con errore "Credenziali Git mancanti/non valide"

    Innanzitutto, verificare di aver configurato le credenziali Git in Impostazioni utente.

    È possibile che venga visualizzato questo errore:

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

    Se l'organizzazione usa l'accesso SSO SAML, assicurarsi che il token sia stato autorizzato (si può fare dalla pagina di gestione del token di accesso personale [PAT] del server Git).

Domande frequenti

Qual è il modo più semplice per scoprire se il server proxy Git è in esecuzione?

Importare il notebook di debug del proxy Git fornito da Databricks. Scaricarlo nel computer locale e quindi importarlo nell'area di lavoro di Azure Databricks.

L'esecuzione del notebook segnala se si verificano errori o problemi con il servizio proxy Git.

Quali sono le implicazioni per la sicurezza del server proxy Git?

Le cose più importanti da ricordare sono:

  • Il proxy non influisce sull'architettura di sicurezza del piano di controllo di Databricks.
  • È possibile avere un solo cluster di server del proxy Git per area di lavoro.

Sì. Nella versione corrente, l'area di lavoro di Azure Databricks non distingue tra repository proxy e non proxy.

La funzionalità proxy Git funziona con altri provider di server aziendali Git?

Le cartelle Git di Databricks supportano GitHub Enterprise, Bitbucket Server, Azure DevOps Server e GitLab autogestito. Anche altri provider di server Git aziendali dovrebbero funzionare se sono conformi alle specifiche Git comuni.

Le cartelle Git di Databricks supportano la firma GPG dei commit?

No.

Le cartelle Git di Databricks supportano il trasporto SSH per le operazioni Git?

No. È supportato solo HTTPS.

L'uso di una porta HTTPS non predefinita nel server Git è supportato?

Attualmente, il notebook di abilitazione presuppone che il server Git usi la porta HTTPS predefinita 443. È possibile impostare la variabile di ambiente GIT_PROXY_CUSTOM_HTTP_PORT per sovrascrivere il valore della porta con quello preferito.

È possibile condividere un proxy per più aree di lavoro o è necessario un cluster proxy per ogni area di lavoro?

È necessario un cluster proxy per ogni area di lavoro di Azure Databricks.

Il proxy funziona con il controllo delle versioni di un singolo notebook legacy?

No, il proxy non funziona con il controllo delle versioni di un singolo notebook legacy. Gli utenti devono eseguire la migrazione al controllo delle versioni delle cartelle Git di Databricks.

Databricks può nascondere gli URL del server Git sottoposto a proxy? Gli utenti possono immettere gli URL del server Git originali anziché gli URL sottoposti a proxy?

Sì a entrambe le domande. Gli utenti non devono necessariamente modificare il comportamento per il proxy. Con l'implementazione del proxy corrente, tutto il traffico Git per le cartelle Git di Databricks viene indirizzato attraverso il proxy. Gli utenti immettono il normale URL del repository Git, ad esempio https://git.company.com/org/repo-name.git.

Con quale frequenza gli utenti lavoreranno con gli URL Git?

In genere, un utente aggiunge semplicemente l'URL Git quando crea un nuovo repository o estrae un repository esistente non ancora estratto.

La funzionalità effettua l’autenticazione proxy dei dati in modo trasparente al server Git?

Sì, il proxy usa il token del server Git dell'account utente per l'autenticazione nel server Git.

È disponibile l'accesso tramite Databricks al codice del server Git?

Il servizio proxy di Azure Databricks accede al repository Git nel server Git usando le credenziali fornite dall'utente e sincronizza tutti i file di codice nel repository con la cartella Git. L'accesso è limitato dalle autorizzazioni specificate nel token di accesso personale (PAT) fornito dall'utente.