Compartilhar via


Configurar conectividade privada do Git para pastas do Git do Azure Databricks

Se você hospedar um servidor Git privado (como o GitHub Enterprise Server, o Bitbucket Server ou o GitLab autogerenciado) ou o servidor Git estiver por trás de um firewall, você poderá usar o proxy do servidor Git para conectar pastas Git do Databricks aos seus repositórios privados. O proxy roteia comandos Git do workspace do Azure Databricks por meio de um recurso de computação para o servidor Git privado.

Sobre o proxy do servidor Git

O Databricks Git server proxy para pastas Git permite que você encaminhe comandos Git do workspace do Azure Databricks para um servidor Git privado que não esteja acessível na internet.

As pastas Git do Databricks representam seus repositórios Git conectados como pastas. O conteúdo dessas pastas é controlado por versão pela sincronização com o repositório Git conectado. Por padrão, as pastas Git só podem ser sincronizadas com repositórios acessíveis na Internet. Se você hospedar um servidor Git privado ou seu servidor Git estiver por trás de um firewall, você deverá usar o proxy do servidor Git com pastas Git. Seu servidor Git deve estar acessível no plano de computação do Azure Databricks.

Como funciona o proxy do servidor Git

O proxy do servidor Git para pastas Git do Databricks atua como um proxy para os comandos Git da camada de controle do Databricks para um cluster proxy em execução na camada de computação do workspace. O cluster proxy é configurado para executar um serviço proxy que recebe comandos Git do plano de controle do Databricks e os encaminha para o servidor Git. O proxy não afeta a arquitetura de segurança do plano de controle do Databricks.

O seguinte ilustra a arquitetura geral do sistema:

Diagrama que mostra como o proxy de servidor Git para pastas Git do Databricks está configurado para ser executado a partir do plano de computação do cliente

Importante

O Databricks fornece um notebook de configuração para configurar a instância do seu servidor Git para realizar comandos proxy para pastas Git do Databricks. Obtenha o notebook de habilitação no GitHub. O proxy do servidor Git do Databricks foi projetado para funcionar com a versão do Databricks Runtime incluída no notebook de configuração. Não atualize a versão do Databricks Runtime do cluster proxy.

Configurar o Proxy do Git Server

Para habilitar a conectividade privada do Git para pastas Git do Databricks, prepare a instância do servidor Git, execute o notebook de habilitação para criar o proxy e valide sua configuração.

Para configurar o proxy do servidor Git:

  1. Prepare a instância do servidor Git com endereços IP estáticos e transporte HTTPS.
  2. Execute o notebook de habilitação para criar o cluster proxy.
  3. Valide sua configuração clonando um repositório.
  4. Configurar credenciais do Git para usuários.

Pré-requisitos

Antes de habilitar o proxy, verifique o seguinte:

  • A instância do servidor Git está acessível na VNet (rede virtual) do plano de computação do Azure Databricks do workspace do Azure e tem os PATs (tokens de acesso pessoal) e HTTPS habilitados.

Observação

O proxy do servidor Git para Databricks funciona em todas as regiões compatíveis com sua VNet.

Etapa 1: preparar a instância do servidor Git

Importante

Para criar um recurso de computação e concluir essa tarefa, você deve ser um administrador de workspace com direitos de acesso.

Configure o servidor Git para aceitar conexões do cluster proxy e habilitar o transporte HTTPS.

O servidor Git corporativo normalmente tem uma lista de permissões de endereços IP dos quais o acesso é permitido. Para permitir que o nó do driver do cluster proxy acesse o servidor Git, associe um endereço IP de saída estático para o tráfego proveniente do cluster proxy e adicione-o à lista de autorização do servidor Git.

  1. Associe um endereço IP de saída estático ao tráfego proveniente do cluster proxy usando o Firewall do Azure ou um dispositivo de saída.
  2. Adicione o endereço IP da etapa anterior à lista de permissões do servidor Git.

Em seguida, configure a instância do servidor Git para permitir o transporte HTTPS:

  • GitHub Enterprise: veja qual URL remota devo usar na ajuda do GitHub Enterprise.
  • Servidor bitbucket: na página de administração do servidor Bitbucket, clique nas configurações do servidor e selecione HTTP(S) habilitado.

Etapa 2: executar o notebook de habilitação

Para habilitar o proxy:

  1. Faça logon no workspace do Azure Databricks como administrador de workspace com direitos de acesso para criar um cluster.

  2. Importe este notebook, que escolhe o menor tipo de instância disponível no seu provedor de nuvem para executar o proxy Git:

    Notebook: habilite o proxy do servidor do Git para as pastas do Git do Databricks para conectividade com o servidor privado do Git nas pastas do Git.

  3. Clique em Executar Tudo para executar o notebook, que executa as seguintes tarefas:

    • Cria um recurso de computação de nó único chamado "Proxy Git do Databricks" que não é encerrado automaticamente. Esse serviço proxy processa e encaminha comandos Git do workspace do Azure Databricks para o servidor Git privado.
    • Habilita uma sinalização de recurso que controla se as solicitações do Git nas pastas do Databricks são roteadas por meio da instância de computação.

    Como prática recomendada, crie uma tarefa para executar o recurso de computação proxy do Git em um agendamento regular. Isso mantém o serviço proxy Git disponível para seus usuários.

Observação

A execução de um recurso de computação de execução prolongada adicional incorre em DBUs (Unidades de Databricks) extras. Para minimizar os custos, o notebook configura o proxy para usar um cluster de nó único com um tipo de nó econômico. Modifique as opções de computação para atender às suas necessidades. Para obter informações sobre preços, consulte a calculadora de preços do Databricks.

Etapa 3: validar a configuração do servidor Git

Para validar a configuração do servidor Git, clone um repositório hospedado no servidor Git privado por meio do cluster proxy. Um clone bem-sucedido confirma que o proxy do servidor Git está funcionando para seu espaço de trabalho.

Etapa 4: Criar repositórios Git habilitados para proxy

Depois que os usuários configurarem suas credenciais do Git, nenhuma etapa adicional será necessária para criar ou sincronizar repositórios. Para configurar credenciais e acessar repositórios programaticamente, consulte Configurar credenciais do Git e conectar um repositório remoto ao Azure Databricks.

Remover permissões globais PODE SE ANEXAR A

O proxy do servidor Git não requer CAN ATTACH TO permissão para nenhum usuário. Para impedir que os usuários executem cargas de trabalho arbitrárias no cluster proxy, restrinja permissões de ACL (lista de controle de acesso de cluster) no servidor proxy:

  1. Clique em Computação na barra lateral e, em seguida, clique no ícone de menu Kebab. Menu kebab ao lado da entrada de computação para o Proxy do Servidor Git que você está executando.

  2. Clique em Editar permissões.

  3. Na caixa de diálogo, remova a entrada Pode ser anexado a para Todos os Usuários.

Solução de problemas

Esta seção aborda problemas comuns e como diagnosticá-los.

Lista de verificação de problemas comuns

Antes de começar a diagnosticar um erro, confirme o seguinte:

Execute o restante do notebook de depuração e capture os resultados. Se você não conseguir resolver o problema ou não vir nenhuma falha relatada, o suporte do Databricks poderá examinar os resultados. Exporte e envie o notebook de depuração como um arquivo DBC, se solicitado.

Alterar a configuração do proxy Git

Se o serviço proxy Git não estiver funcionando com a configuração padrão, defina variáveis de ambiente para dar suporte à infraestrutura de rede.

Use as seguintes variáveis de ambiente para atualizar a configuração do serviço de proxy Git:

Variável de ambiente Formatar Descrição
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 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 servidor Git.

Para definir essas variáveis de ambiente:

  1. Vá para a guia Computação no workspace do Azure Databricks.
  2. Selecione a configuração de computação para o serviço proxy Git.
  3. Na parte inferior do painel Configuração , expanda Avançado e selecione a guia Spark .
  4. Adicione variáveis de ambiente ao campo Variáveis de ambiente .

Inspecionar logs no cluster proxy

O arquivo em /databricks/git-proxy/git-proxy.log do cluster proxy contém logs úteis para fins de depuração.

O arquivo de log deve começar com Data-plane proxy server binding to ('', 8000)…. Caso contrário, o servidor proxy não foi iniciado corretamente. Reinicie o cluster ou exclua o cluster e execute o notebook de habilitação novamente.

Se o arquivo de log começar com essa linha, examine as instruções de log que seguem para cada solicitação git iniciada pelas operações do Git nas pastas Git do Databricks.

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 nesse arquivo podem ser úteis para ajudar você ou os problemas de depuração do Suporte ao Databricks.

Erros de certificado SSL

Você pode ver os seguintes erros:

  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 SSL problems

Isso geralmente significa que você está usando um repositório que exige certificados SSL especiais. Verifique o arquivo /databricks/git-proxy/git-proxy.log no cluster proxy. Se a validação do certificado falhar, adicione a autoridade de certificação à cadeia de certificados do sistema:

  1. Extraia o certificado raiz usando seu navegador ou outro método e carregue-o no Sistema de Arquivos do Databricks.
  2. Edite o cluster Git folders Git Proxy para definir a variável de ambiente GIT_PROXY_CA_CERT_PATH para apontar para o arquivo de certificado raiz. Confira Variáveis de ambiente.

Depois de concluir essas etapas, reinicie o cluster.

Perguntas frequentes

Veja a seguir perguntas comuns sobre a configuração e o uso do proxy do servidor Git.

Como fazer para verificar se o proxy Git está em execução?

Importe e execute o notebook de depuração de proxy do Git. Os resultados mostram se há problemas com o serviço proxy Git.

Os workspaces podem compartilhar clusters proxy?

Cada workspace do Azure Databricks requer seu próprio cluster proxy. Você não pode compartilhar um cluster proxy em vários workspaces e cada workspace pode ter apenas um cluster de servidor proxy Git.

Posso rotear apenas algum tráfego git por meio do proxy?

Todo o tráfego relacionado a pastas Git do Databricks é roteado por meio do cluster proxy, mesmo para repositórios Git públicos. O workspace do Azure Databricks não diferencia entre repositórios proxiados e não proxiados.

Quais provedores Git têm suporte?

As pastas Git do Databricks dão suporte ao GitHub Enterprise, ao Bitbucket Server, ao Azure DevOps Server e ao GitLab autogerenciado. Outros provedores de servidor Git corporativos também deverão funcionar se estiverem em conformidade com as especificações comuns do Git.

A assinatura de commit do GPG (GNU Privacy Guard) é suportada?

Não.

Há suporte para o transporte SSH?

Não. Há suporte somente para HTTPS.

Posso usar uma porta HTTPS não padrão?

O notebook de habilitação pressupõe que o servidor Git use a porta HTTPS padrão 443. Defina a variável GIT_PROXY_CUSTOM_HTTP_PORT de ambiente para usar uma porta diferente.

Os usuários precisam alterar as URLs do Git para o proxy?

Não. Os usuários inserem a URL normal do repositório Git, como https://git.company.com/org/repo-name.git. Todo o tráfego do Git para repositórios Git do Databricks é roteado por meio do proxy de forma transparente.

Como a autenticação funciona com o proxy?

Sim, o proxy usa a credencial Git do usuário para autenticar no servidor Git. O acesso é restrito pelas permissões especificadas nessa credencial.