Configurar a conectividade Git privada para pastas Git do Azure Databricks (Repos)
Saiba mais sobre e configure o proxy do servidor Git para pastas Git Databricks, um serviço configurável que permite fazer proxy de comandos Git de pastas Git do espaço de trabalho Databricks para seus repositórios Git locais servidos pelo GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server e GitLab autogerenciados.
Nota
Os usuários com um proxy de servidor Git Databricks configurado durante a visualização devem atualizar suas permissões de cluster para obter o melhor desempenho. Consulte Remover permissões de CAN_ATTACH_TO globais.
O proxy do servidor Git Databricks foi projetado especificamente para funcionar com a versão do Databricks Runtime incluída no bloco de anotações de configuração. Os usuários são desencorajados de atualizar a versão do Databricks Runtime do cluster de proxy.
O que é proxy de servidor Git para pastas Git Databricks?
O proxy do servidor Git Databricks para pastas Git é um recurso que permite que você faça proxy de comandos Git do seu espaço de trabalho do Azure Databricks para um servidor Git local.
de pastas Git Databricks (anteriormente Repos) representa seus repositórios Git conectados como pastas. O conteúdo dessas pastas é controlado por versão sincronizando-as com o repositório Git conectado. Por padrão, as pastas Git podem sincronizar apenas com provedores públicos do Git (como GitHub público, GitLab, Azure DevOps e outros). No entanto, se você hospedar seu próprio servidor Git local (como GitHub Enterprise Server, Bitbucket Server ou GitLab autogerenciado), deverá usar o proxy do servidor Git com pastas Git para fornecer acesso Databricks ao seu servidor Git. Seu servidor Git deve estar acessível a partir do seu plano de dados do Azure Databricks (nó do driver).
Se sua rede corporativa for apenas de acesso privado (VPN) (sem acesso público), você deverá executar um proxy de servidor Git para acessar repositórios Git localizados fora dela e adicionar pastas Git aos seus espaços de trabalho.
Como funciona o Git Server Proxy for Databricks Git folders?
Proxy de servidor Git para pastas Git Databricks proxia os comandos Git do plano de controlo do Databricks para um cluster de proxy em execução no plano de computação do espaço de trabalho do Databricks. Nesse contexto, o cluster de proxy é um cluster configurado para executar um serviço de proxy para os comandos Git das pastas Git do Databricks para o seu repositório Git autogerido. Esse serviço de proxy recebe comandos Git do plano de controle Databricks e os encaminha para sua instância do servidor Git.
O diagrama abaixo ilustra a arquitetura geral do sistema:
Importante
O Databricks fornece um bloco de anotações de ativação que você pode executar para configurar sua instância do servidor Git para comandos proxy para pastas Git do Databricks. Obtenha o bloco de anotações de ativação no GitHub.
Atualmente, um proxy de servidor Git não requer CAN_ATTACH_TO
mais permissão para todos os usuários. Os administradores com clusters de proxy existentes agora podem modificar a permissão da ACL do cluster para habilitar esse recurso. Para ativar:
Selecione Compute na barra lateral e, em seguida, clique no menu kebab ao lado da entrada Compute para o Proxy do Git Server que você está executando:
Na caixa de diálogo, remova a entrada Pode anexar apara todos os usuários:
Como configuro o Proxy do Git Server para pastas Git Databricks?
Esta seção descreve como preparar sua instância do servidor Git para o proxy do servidor Git para pastas Git Databricks, criar o proxy e validar sua configuração.
Antes de começar
Antes de ativar o proxy, verifique se:
- Seu espaço de trabalho tem o recurso de pastas Git Databricks habilitado.
- Sua instância do servidor Git pode ser acessada a partir da VPC do plano de computação do espaço de trabalho do Azure Databricks e tem HTTPS e tokens de acesso pessoal (PATs) habilitados.
Nota
O proxy de servidor Git para Databricks funciona em todas as regiões suportadas pela VPC.
Etapa 1: Preparar a instância do servidor Git
Importante
Você deve ser um administrador no espaço de trabalho com direitos de acesso para criar um recurso de computação e concluir esta tarefa.
Para configurar a instância do servidor Git:
Dê ao nó do driver do cluster proxy acesso ao seu servidor Git.
Seu servidor Git corporativo pode ter um
allowlist
dos endereços IP a partir dos quais o acesso é permitido.- Associe um endereço IP de saída estático ao tráfego originado do cluster de proxy. Você pode fazer isso usando o Firewall do Azure ou um dispositivo de saída.
- Adicione o endereço IP da etapa anterior à lista de permissões do seu servidor Git.
Defina sua instância do servidor Git para permitir o transporte HTTPS.
- Para o GitHub Enterprise, consulte Qual URL remoto devo usar na ajuda do GitHub Enterprise.
- Para Bitbucket, vá para a página de administração do servidor Bitbucket e selecione as configurações do servidor. Na seção Hospedagem HTTP(S) SCM, habilite a caixa de seleção HTTP(S) habilitada .
Etapa 2: Executar o bloco de anotações de ativação
Para habilitar o proxy:
Faça logon em seu espaço de trabalho do Azure Databricks como um administrador de espaço de trabalho com direitos de acesso para criar um cluster.
Importe este bloco de anotações, que escolhe o menor tipo de instância disponível do seu provedor de nuvem para executar o proxy Git.:
Notebook: habilite o proxy do servidor Git para pastas Git Databricks para conectividade privada do servidor Git em pastas Git.
Clique Executar Tudo para executar o notebook, que realiza as seguintes tarefas:
- Cria um recurso de computação de nó único chamado "Databricks Git Proxy", que não termina automaticamente. Este é o serviço de proxy Git que processará e encaminhará comandos Git do seu espaço de trabalho do Azure Databricks para o seu servidor Git local.
- Habilita um sinalizador de recurso que controla se as solicitações Git nas pastas Git do Databricks são intermediadas por proxy por meio da instância de computação.
Como prática recomendada, considere a criação de um trabalho simples para executar o recurso de computação de proxy Git. Pode ser um bloco de anotações simples que imprime ou registra o status, como "O serviço de proxy Git está em execução". Defina o trabalho para ser executado em intervalos de tempo regulares para garantir que o serviço de proxy Git esteja sempre disponível para seus usuários.
Nota
A execução de um recurso de computação adicional de longa duração para hospedar o software proxy incorre em DBUs extras. Para minimizar os custos, o bloco de anotações configura o proxy para usar um recurso de computação de nó único com um tipo de nó barato. No entanto, convém modificar as opções de computação para atender às suas necessidades. Para obter mais informações sobre preços de instâncias de computação, consulte a calculadora de preços Databricks.
Etapa 3: Validar a configuração do servidor Git
Para validar a configuração do seu servidor Git, tente clonar um repositório hospedado no seu servidor Git privado através do cluster proxy. Um clone bem-sucedido significa que você habilitou com êxito o proxy do servidor Git para seu espaço de trabalho.
Etapa 4: Criar repositórios Git habilitados para proxy
Depois que os usuários configuram suas credenciais do Git, nenhuma etapa adicional é necessária para criar ou sincronizar seus repositórios. Para configurar credenciais e acessar os repositórios para suas pastas Git programaticamente, consulte Configurar credenciais do Git & conectar um repositório remoto ao Azure Databricks.
Remover permissões de CAN_ATTACH_TO global
Os administradores com clusters de proxy existentes agora podem modificar a permissão da ACL do cluster para aproveitar o comportamento de proxy do servidor Git geralmente disponível.
Se você configurou anteriormente o proxy do servidor Git Databricks com CAN_ATTACH_TO
privilégios, use as seguintes etapas para remover essas permissões:
Selecione Computação na barra lateral e, em seguida, clique no menu kebab ao lado da entrada Computação para o proxy do servidor Git que você está executando:
Na caixa de diálogo, remova a entrada Pode anexar apara todos os usuários:
Resolução de Problemas
Você encontrou um erro ao configurar o proxy do servidor Git para pastas Git Databricks? Aqui estão alguns problemas comuns e maneiras de diagnosticá-los de forma mais eficaz.
Lista de verificação para problemas comuns
Antes de começar a diagnosticar um erro, confirme se concluiu as seguintes etapas:
- Confirme que o seu cluster de proxy está a funcionar com este notebook de depuração do servidor proxy Git . (Este é um bloco de anotações diferente do bloco de anotações de ativação do servidor proxy Git e também é fornecido pelo Databricks.)
- Confirme se você é um administrador de espaço de trabalho.
- Execute o restante do caderno de depuração e capture os resultados, se ainda não o fez. Se você não conseguir depurar o problema ou não vir nenhuma falha relatada no bloco de anotações de depuração, o Suporte do Databricks poderá revisar os resultados. Você pode exportar e enviar o bloco de anotações de depuração como um arquivo DBC, se solicitado.
Alterar a configuração do proxy Git
Se o seu serviço de proxy Git não estiver funcionando com a configuração padrão, você poderá definir variáveis de ambiente específicas para fazer alterações nele para oferecer melhor suporte à sua infraestrutura de rede.
Use as seguintes variáveis de ambiente para atualizar a configuração do seu serviço de proxy Git:
Variável de ambiente | Formato | Description |
---|---|---|
GIT_PROXY_ENABLE_SSL_VERIFICATION |
true /false |
Defina isso como false se você estiver usando um certificado autoassinado para seu servidor Git privado. |
GIT_PROXY_CA_CERT_PATH |
Caminho do arquivo (string) | Defina isso como o caminho para um arquivo de certificado de autoridade de certificação usado para verificação SSL. Exemplo: /FileStore/myCA.pem |
GIT_PROXY_HTTP_PROXY |
https://<hostname>:<port #> |
Defina isso como a URL HTTPS para o proxy de firewall da sua rede para tráfego HTTP. |
GIT_PROXY_CUSTOM_HTTP_PORT |
Número da porta (inteiro) | Defina isso como o número da porta atribuído à porta HTTP do seu servidor Git. |
Para definir essas variáveis de ambiente, vá para a guia Computação em seu espaço de trabalho do Azure Databricks e selecione a configuração de computação para seu serviço de proxy Git. Na parte inferior do painel Configuração , expanda Opções avançadas e selecione a guia Faísca abaixo dela. Defina uma ou mais dessas variáveis de ambiente adicionando-as à área de texto Variáveis de ambiente.
Inspecionar logs no cluster de proxy
O arquivo at /databricks/git-proxy/git-proxy.log
no cluster de proxy contém logs que são úteis para fins de depuração.
O arquivo de log deve começar com a linha Data-plane proxy server binding to ('', 8000)…
. Se isso não acontecer, isso significa que o servidor proxy não foi iniciado corretamente. Tente reiniciar o cluster ou exclua o cluster criado e execute o bloco de anotações de ativação novamente.
Se o arquivo de log começar com essa linha, revise as instruções de log que o seguem para cada solicitação Git iniciada por uma operação Git nas pastas Databricks Git.
Por exemplo:
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`
Os logs de erros gravados neste arquivo podem ser úteis para ajudá-lo ou problemas de depuração do Suporte do Databricks.
Mensagens de erro comuns e sua resolução
Não foi possível estabelecer uma ligação segura devido a problemas de SSL
Poderá ver o seguinte erro:
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
Muitas vezes, isso significa que você está usando um repositório que requer certificados SSL especiais. Verifique o
/databricks/git-proxy/git-proxy.log
conteúdo do arquivo no cluster de proxy. Se disser que a validação do certificado falhou, você deverá adicionar o certificado de autoridade à cadeia de certificados do sistema. Primeiro, extraia o certificado raiz (usando o navegador ou outra opção) e carregue-o para o DBFS. Em seguida, edite as pastas Git cluster Git Proxy para usar aGIT_PROXY_CA_CERT_PATH
variável de ambiente para apontar para o arquivo de certificado raiz. Para obter mais informações sobre como editar variáveis de ambiente de cluster, consulte Variáveis de ambiente.Depois de concluir essa etapa, reinicie o cluster.
Falha ao clonar repositório com erro "Credenciais Git ausentes/inválidas"
Primeiro, verifique se você configurou suas credenciais do Git em Configurações do usuário.
Você pode encontrar este erro:
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 sua organização estiver usando SAML SSO, verifique se o token foi autorizado (isso pode ser feito na página de gerenciamento do Personal Access Token (PAT) do seu servidor Git).
Perguntas mais frequentes
Qual é a maneira mais fácil de descobrir se o servidor proxy Git está em execução?
Importe o caderno de depuração de proxy Git fornecido pelo Databricks. Transfira-o para a sua máquina local e, em seguida, importe-o para a sua área de trabalho do Azure Databricks.
A execução do bloco de anotações informará se há erros ou problemas com o serviço de proxy Git.
Quais são as implicações de segurança do proxy do servidor Git?
As coisas mais importantes a saber são:
- O proxy não afeta a arquitetura de segurança do seu plano de controle Databricks.
- Você só pode ter um cluster de servidor proxy Git por espaço de trabalho.
Todo o tráfego Git relacionado às pastas do Databricks Git é roteado através do cluster de proxy, mesmo para repositórios Git públicos?
Sim. Na versão atual, seu espaço de trabalho do Azure Databricks não diferencia entre repositórios com proxy e não com proxy.
O recurso de proxy Git funciona com outros provedores de servidor empresarial Git?
As pastas Databricks Git suportam GitHub Enterprise, Bitbucket Server, Azure DevOps Server e GitLab autogerenciado. Outros provedores de servidores Git corporativos também devem funcionar se estiverem em conformidade com as especificações comuns do Git.
As pastas Databricks Git suportam a assinatura GPG de commits?
N.º
As pastas Databricks Git suportam transporte SSH para operações Git?
N.º Apenas HTTPS é suportado.
O uso de uma porta HTTPS não padrão no servidor Git é suportado?
Atualmente, o bloco de anotações de ativação assume que seu servidor Git usa a porta HTTPS padrão 443. Você pode definir a variável GIT_PROXY_CUSTOM_HTTP_PORT
de ambiente para substituir o valor da porta por uma preferencial.
Você pode compartilhar um proxy para vários espaços de trabalho ou precisa de um cluster de proxy por espaço de trabalho?
Você precisa de um cluster de proxy por espaço de trabalho do Azure Databricks.
O proxy funciona com o controle de versão herdado de um único notebook?
Não, o proxy não funciona com o controle de versão herdado de um único notebook. Os usuários devem migrar para o controle de versão de pastas do Databricks Git.
O Databricks pode ocultar URLs do servidor Git que são proxiadas? Os usuários poderiam inserir as URLs originais do servidor Git em vez de URLs com proxy?
Sim a ambas as perguntas. Os usuários não precisam ajustar seu comportamento para o proxy. Com a implementação de proxy atual, todo o tráfego Git para pastas Git Databricks é roteado através do proxy. Os usuários inserem a URL normal do repositório Git, como https://git.company.com/org/repo-name.git
.
Com que frequência os usuários trabalharão com as URLs do Git?
Normalmente, um utilizador apenas adiciona a URL do Git quando cria um novo repositório ou clona um repositório existente que ainda não clonou.
O recurso faz proxy transparente de dados de autenticação para o servidor Git?
Sim, o proxy usa o token de servidor Git da conta de usuário para autenticar no servidor Git.
Existe acesso do Databricks ao código do servidor Git?
O serviço de proxy do Azure Databricks acessa o repositório Git no servidor Git usando a credencial fornecida pelo usuário e sincroniza todos os arquivos de código no repositório com a pasta Git. O acesso é restrito pelas permissões especificadas no token de acesso pessoal (PAT) fornecido pelo usuário.