Partilhar via


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

Se hospedares um servidor Git privado (como o GitHub Enterprise Server, Bitbucket Server ou GitLab autogerido) ou se o teu servidor Git estiver atrás de um firewall, podes usar o proxy do Git para ligar as pastas Git do Databricks aos teus repositórios privados. O proxy encaminha comandos Git do seu workspace Azure Databricks através de um recurso de computação para o seu servidor Git privado.

Sobre o proxy de servidor Git

O proxy do servidor Git do Databricks para pastas Git permite-lhe encaminhar comandos Git do seu espaço de trabalho Azure Databricks para um servidor Git privado que não está acessível na internet.

As pastas Git do Databricks representam os teus repositórios Git ligados como pastas. O conteúdo destas pastas é controlado por versão, sendo sincronizado com o repositório Git conectado. Por defeito, as pastas Git só podem sincronizar-se com repositórios acessíveis na internet. Se hospeda um servidor Git privado ou o seu servidor Git estiver atrás de um firewall, deve usar o proxy do servidor Git com pastas Git. O seu servidor Git deve ser acessível a partir do seu plano de computação Azure Databricks.

Como funciona o proxy do servidor Git

Proxy do servidor Git para pastas Git no Databricks, proxy dos comandos Git do plano de controlo do Databricks para um cluster proxy que corre no plano de computação do seu espaço de trabalho. O cluster proxy está configurado para executar um serviço proxy que recebe comandos Git do plano de controlo do Databricks e os encaminha para o seu servidor Git. O proxying não afeta a arquitetura de segurança do seu plano de controlo Databricks.

O seguinte ilustra a arquitetura geral do sistema:

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

Importante

O Databricks fornece um notebook de configuração para configurar a sua instância do servidor Git para encaminhar comandos para as pastas Git do Databricks. Obtenha o notebook de capacitação no GitHub. O proxy do servidor Databricks Git foi concebido para funcionar com a versão Databricks Runtime incluída no caderno de configuração. Não atualize a versão Databricks Runtime do cluster de proxy.

Configurar o Proxy do Git Server

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

Para configurar o proxy do servidor Git:

  1. Prepare a sua instância de servidor Git com endereços IP estáticos e transporte HTTPS.
  2. Executa o caderno de ativação para criar o cluster de proxy.
  3. Valida a tua configuração clonando um repositório.
  4. Configure credenciais Git para os utilizadores.

Pré-requisitos

Antes de ativar o proxy, verifique o seguinte:

  • A sua instância de servidor Git é acessível a partir da rede virtual (VNet) no plano de computação do seu espaço de trabalho Azure Databricks e tem ativados tanto o HTTPS como os tokens de acesso pessoal (PATs).

Nota

O proxy do servidor Git para Databricks funciona em todas as regiões suportadas pelo seu 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 espaço de trabalho com direitos de acesso.

Configura o teu servidor Git para aceitar ligações do cluster proxy e ativa o transporte HTTPS.

O seu servidor Git empresarial normalmente tem uma lista de endereços IP a partir dos quais é permitido o acesso. Para permitir o acesso do nó driver do cluster de proxy ao seu servidor Git, associe um endereço IP estático para saída para o tráfego originado do seu cluster de proxy e adicione-o à lista de permissões (allowlist) do seu servidor Git.

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

Depois, configure a sua instância do servidor Git para permitir transporte HTTPS:

  • GitHub Enterprise: Veja qual URL remoto devo usar na ajuda do GitHub Enterprise.
  • Servidor Bitbucket: Na página de administração do servidor Bitbucket, clique em definições do servidor e selecione HTTP(S) ativado.

Etapa 2: Executar o notebook de ativação

Para habilitar o proxy:

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

  2. Importa este notebook, que escolhe o menor tipo de instância disponível do teu fornecedor de cloud para executar o proxy Git:

    Notebook: habilite o proxy do servidor Git para as pastas do servidor Git Databricks, permitindo a conectividade com um servidor Git privado.

  3. 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 se encerra automaticamente. Este serviço proxy processa e encaminha comandos Git do seu workspace Azure Databricks para o seu servidor Git privado.
    • Ativa uma feature flag que controla se os pedidos Git nas pastas Git do Databricks são proxiados através da instância de computação.

    Como boa prática, crie um trabalho para executar o recurso de computação proxy Git num cronograma regular. Isto mantém o serviço proxy Git disponível para os seus utilizadores.

Nota

Executar um recurso de computação adicional de longa execução acarreta Unidades de Databricks (DBUs) adicionais. Para minimizar os custos, o notebook configura o proxy para usar um recurso de computação em nó único com um tipo de nó económico. Modifica as opções de computação para se adequarem às tuas necessidades. Para informações sobre preços, 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, clone um repositório alojado no seu servidor Git privado através do cluster de proxy. Um clone bem-sucedido confirma que o proxy do servidor Git está a funcionar para o seu espaço de trabalho.

Etapa 4: Criar repositórios Git habilitados para proxy

Depois de os utilizadores configurarem as suas credenciais Git, não são necessários mais passos para criar ou sincronizar repositórios. Para configurar credenciais e aceder a repositórios programaticamente, veja Configurar credenciais Git & ligar um repositório remoto ao Azure Databricks.

Remover permissões globais de anexação

O proxy do servidor Git não requer CAN ATTACH TO permissão para nenhum utilizador. Para evitar que os utilizadores executem cargas de trabalho arbitrárias no cluster proxy, restreina as permissões da lista de controlo de acesso (ACL) do cluster no servidor proxy:

  1. Clica em Calcular na barra lateral e depois clica no ícone do menu Kebab. Menu Kebab ao lado da entrada de computação para o Proxy do Git Server que estás a usar.

  2. Clique em Editar permissões.

  3. No diálogo, remova a entrada Pode ser anexo a para Todos os Utilizadores.

Resolução de Problemas

Esta secção aborda os problemas comuns e como os diagnosticar.

Lista de verificação para problemas comuns

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

Execute o resto do notebook de depuração e capture os resultados. Se não conseguir resolver o problema ou não vir qualquer falha reportada, o suporte da Databricks pode analisar os resultados. Exportar e enviar o caderno de depuração como arquivo DBC, se solicitado.

Alterar a configuração do proxy Git

Se o seu serviço proxy Git não estiver a funcionar com a configuração predefinida, defina variáveis de ambiente para suportar a 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 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 CA usado para verificação de 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 estas variáveis de ambiente:

  1. Vai ao separador Computar no teu espaço de trabalho Azure Databricks.
  2. Selecione a configuração de computação do seu serviço proxy Git.
  3. No fundo do painel de Configuração , expanda Avançado e selecione o separador Spark .
  4. Adicione variáveis de ambiente ao campo Variáveis de Ambiente .

Inspecionar registos nos 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 ficheiro de registo deve começar por Data-plane proxy server binding to ('', 8000)…. Se não arrancar, o servidor proxy não arrancou corretamente. Reinicie o cluster, ou apague o cluster e execute novamente o notebook de ativação.

Se o ficheiro de registo começar com esta linha, reveja as instruções de registo que se seguem para cada pedido Git iniciado por operações 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 neste arquivo podem ser úteis para ajudá-lo ou problemas de depuração do Suporte do Databricks.

Erros de certificado 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 SSL problems

Isto muitas vezes significa que está a usar um repositório que requer certificados SSL especiais. Verifica o ficheiro /databricks/git-proxy/git-proxy.log no cluster de proxy. Se a validação de certificados falhou, adicione a autoridade certificadora à cadeia de certificados do sistema:

  1. Extrai o certificado raiz usando o teu navegador ou outro método e carrega-o para o Sistema de Ficheiros 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 ficheiro de certificado raíz. Consulte Variáveis de ambiente.

Depois de completares estes passos, reinicia o cluster.

Perguntas mais frequentes

As seguintes são perguntas comuns sobre a configuração e utilização de proxy de servidores Git.

Como posso verificar se o proxy Git está a funcionar?

Importe e execute o bloco de anotações de depuração de proxy Git. Os resultados mostram se existem problemas com o serviço proxy Git.

Os espaços de trabalho podem partilhar clusters proxy?

Cada workspace Azure Databricks requer o seu próprio cluster proxy. Não podes partilhar um cluster proxy entre múltiplos workspaces, e cada workspace só pode ter um cluster de servidores proxy Git.

Posso encaminhar apenas algum tráfego Git através do proxy?

Todo o tráfego relacionado com pastas Git do Databricks passa pelo cluster de proxy, mesmo para repositórios Git públicos. O seu espaço de trabalho Azure Databricks não diferencia entre repositórios proxiados e não proxyados.

Quais fornecedores Git são suportados?

As pastas Databricks Git suportam GitHub Enterprise, Bitbucket Server, Azure DevOps Server e GitLab autogerenciado. Outros fornecedores de servidores Git empresariais também devem funcionar se cumprirem as especificações comuns do Git.

A assinatura de commits com o GNU Privacy Guard (GPG) é suportada?

N.º

O transporte SSH é suportado?

N.º Apenas HTTPS é suportado.

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

O caderno de ativação assume que o seu servidor Git usa a porta HTTPS padrão 443. Defina a variável GIT_PROXY_CUSTOM_HTTP_PORT de ambiente para usar uma porta diferente.

Os utilizadores precisam de alterar URLs de Git para o proxy?

N.º Os usuários inserem a URL normal do repositório Git, como https://git.company.com/org/repo-name.git. Todo o tráfego Git para as pastas Git Databricks passa pelo proxy de forma transparente.

Como funciona a autenticação com o proxy?

Sim, o proxy usa a credencial Git do utilizador para autenticar no servidor Git. O acesso é restringido pelas permissões especificadas nessa credencial.