Configurar a conectividade Git privada para as pastas Git da Databricks (Repos)

Conheça e configure o proxy do servidor Git para pastas Git, que permite que o senhor faça o proxy do comando Git das pastas Git da Databricks para seus repositórios on-premises atendidos pelo GitHub Enterprise Server, Bitbucket Server e GitLab self-gerenciar.

Observação

Os usuários com um proxy de servidor Git da Databricks configurado durante a visualização devem atualizar as permissões de clusters para obter o melhor desempenho. Consulte Remover permissões globais CAN_ATTACH_TO.

O que é o proxy do servidor Git para as pastas Git da Databricks?

O proxy do servidor Git do Databricks para pastas Git é um recurso que permite que o senhor faça proxy do comando Git do seu Databricks workspace para um servidor Git on-premises.

O Databricks Git folders (anteriormente Repos) representa seus repositórios Git conectados como pastas. O conteúdo dessas pastas tem controle de versão por meio da sincronização com o repositório Git conectado. Em default, as pastas do Git podem ser sincronizadas somente com provedores públicos do Git (como GitHub público, GitLab, Azure DevOps e outros). No entanto, se o senhor hospedar seu próprio servidor on-premises Git (como o GitHub Enterprise Server, Bitbucket Server ou GitLab self-gerenciar), deverá usar o proxy do servidor Git com pastas Git para fornecer acesso à Databricks ao seu servidor Git. Seu servidor Git deve ser acessível a partir do plano de dados do Databricks (nó do driver).

Observação

Atualmente, as pastas do Databricks Git podem conter apenas o Databricks Notebook e as subpastas, juntamente com um conjunto específico de outros tipos de ativos. Para obter uma lista atualizada dos tipos de ativos compatíveis, consulte Limites & FAQ para integração do Git com as pastas Git da Databricks.

Como funciona o Git Server Proxy para as pastas Git da Databricks?

Git Server Proxy for Databricks As pastas Git fazem proxy do Git comando do plano de controle do Databricks para um "cluster de proxy" em execução workspaceno compute plano do seu Databricks . Nesse contexto, o cluster de proxy é um cluster configurado para executar um serviço de proxy para o Git comando das pastas Git da Databricks para o seu Git auto-hospedado repo. Esse serviço de proxy recebe comandos Git do plano de controle do Databricks e os encaminha para a instância do seu servidor Git.

O diagrama abaixo ilustra a arquitetura geral do sistema:

Diagrama que mostra como o Git Server Proxy para pastas Git da Databricks é configurado para execução a partir do plano compute de um cliente

Atualmente, um proxy de servidor Git não exige mais a permissão CAN_ATTACH_TO para todos os usuários. Os administradores com clusters de proxy existentes agora podem modificar a permissão ACL dos clusters para ativar esse recurso. Para habilitá-lo:

  1. Selecione compute na barra lateral e, em seguida, clique no menu Menu Kebab kebab ao lado da entrada compute para o Git Server Proxy que você está executando:

    Selecione compute na barra lateral, selecione o kebab à direita do recurso compute do seu servidor proxy Git
  2. Na caixa de diálogo, remova a entrada Can Attach To (Pode anexar a ) de All Users (Todos os usuários):

    Na caixa de diálogo modal que é exibida, clique no X à direita de All Users, Can Attach To

Como faço para configurar o Git Server Proxy para as pastas Git da Databricks?

Esta seção descreve como preparar a instância do servidor Git para as pastas Git do Git Server Proxy for Databricks, criar o proxy e validar a configuração.

Antes de começar

Antes de habilitar o proxy, considere os seguintes pré-requisitos e tarefas de planejamento:

  • Seu site workspace tem o recurso de pastas Git do Databricks ativado.

  • A sua instância do servidor Git é acessível a partir workspacedo compute VPC do plano do seu do Databricks e tem HTTPS e access token PATs ( pessoal) ativados.

Observação

O proxy do servidor Git para Databricks funciona em todas as regiões suportadas pela sua VPC.

o passo 1: Prepare sua instância do servidor Git

Para configurar sua instância do servidor Git:

  1. Conceda ao nó do driver dos clustersproxy acesso ao seu servidor Git.

    Seu servidor Git corporativo pode ter allowlist endereços IP dos quais o acesso é permitido.

    1. Para começar, associe um endereço IP de saída estático ao tráfego originado de seus clusters de proxy. Você pode fazer isso configurando um gateway NAT através da sub-rede.

    2. Adicione o endereço IP do passo anterior à lista de permissões do seu servidor Git.

  1. Configure sua instância do servidor Git para permitir o transporte HTTPS.

    • Para GitHub Enterprise, consulte Qual URL remoto devo usar na ajuda do GitHub Enterprise.

    • Para o Bitbucket, vá para a página de administração do servidor Bitbucket e selecione as configurações do servidor. Na seção de hospedagem HTTP(S) SCM, ative a caixa de seleção HTTP(S) ativado .

o passo 2: execução do Notebookde habilitação

Para ativar o proxy:

  1. logs no seu espaço de trabalho do Databricks como administrador do espaço de trabalho com direitos de acesso para criar clusters.

  2. Importe este Notebook:

    Habilite o proxy do servidor Git para pastas Git do Databricks para conectividade privada do servidor Git em pastas Git.

  3. Selecione “execução All” para realizar a seguinte tarefa:

    • Crie um cluster de nó único chamado "Databricks Git Proxy", que não termina automaticamente. Esse é o "cluster proxy" que processará e encaminhará o comando Git do Databricks workspace para o servidor Git on-premises.

    • Habilite um sinalizador de recurso que controla se as solicitações do Git nas pastas Git do Databricks são proxies por meio do cluster.

Importante

Você deve ser um administrador no workspace com direitos de acesso para criar clusters.

Observação

Você deve estar ciente do seguinte:

  • A execução de clusters longos adicionais para hospedar o software proxy incorre em DBUs extras. Para minimizar custos, o Notebook configura o proxy para usar clusters de nó único com um tipo de nó barato. No entanto, talvez você queira modificar as opções clusters para atender às suas necessidades.

o passo 3: Valide a configuração do seu servidor Git

Para validar a configuração do seu servidor Git, tente clonar um repo hospedado no seu servidor Git privado por meio dos clusters de proxy. Um clone bem-sucedido significa que o senhor ativou com êxito o proxy do servidor Git para o seu workspace.

o passo 4: Criar repohabilitado para proxy

Depois que os usuários configuram suas credenciais do Git, não são necessários outros passos do sistema operacional para criar ou sincronizar seus repositórios. Para configurar as credenciais e criar um repo nas pastas Git do Databricks, consulte Configurar credenciais do Git e conectar um repo remoto ao Databricks.

Remover as permissões globais CAN_ATTACH_TO

Os administradores com clusters de proxy existentes agora podem modificar a permissão ACL dos clusters para aproveitar o comportamento de proxy do servidor Git geralmente disponível.

Se o senhor configurou anteriormente o proxy do servidor Git da Databricks com privilégios CAN_ATTACH_TO, use os seguintes passos para remover essas permissões:

  1. Selecione compute na barra lateral e, em seguida, clique no menu Menu Kebab kebab ao lado da entrada compute para o proxy do servidor Git que o senhor está executando:

    Selecione compute na barra lateral, selecione o kebab à direita do recurso compute do seu servidor proxy Git
  2. Na caixa de diálogo, remova a entrada Can Attach To (Pode anexar a ) de All Users (Todos os usuários):

    Na caixa de diálogo modal que é exibida, clique no X à direita de All Users, Can Attach To

Solução de problemas

O senhor encontrou um erro ao configurar o proxy do servidor Git para as pastas Git da Databricks? Aqui estão alguns problemas comuns e maneiras de diagnosticá-los com mais eficiência.

Lista de verificação para problemas comuns

Antes de começar a diagnosticar um erro, confirme se você concluiu as seguintes etapas:

  • Confirme se seus clusters de proxy estão em execução.

  • Confirme se os usuários das pastas Git do Databricks têm permissões de "anexar a" no cluster de proxy.

  • Execute o Notebook de ativação novamente e capture os resultados, caso ainda não o tenha feito. Se não conseguir depurar o problema, o suporte da Databricks poderá rever os resultados. É possível exportar e enviar o Notebook de ativação como um arquivo DBC.

Inspecionar logs nos clustersde proxy

O arquivo em /databricks/git-proxy/git-proxy.log nos clusters de proxy contém logs que são úteis para fins de depuração.

O arquivo logs deve começar com a linha Data-plane proxy server binding to ('', 8000)…. Caso contrário, isso significa que o servidor proxy não foi iniciado corretamente. Tente reiniciar os clusters ou exclua os clusters que você criou e execute o Notebook de ativação novamente.

Se o arquivo log começar com essa linha, examine as instruções log que a seguem para cada solicitação Git iniciada por uma operação Git nas pastas Git da 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`

logs de erros escritos neste ficheiro podem ser úteis para ajudar você ou o Suporte do Databricks a resolver problemas.

Mensagens de erro comuns e sua resolução

  • A conexão segura não pôde ser estabelecida devido a problemas de SSL

    Você 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
    

    Geralmente, isso significa que o senhor está usando um repositório que exige certificados SSL especiais. Verifique o conteúdo do arquivo /databricks/git-proxy/git-proxy.log no cluster do proxy. Se o sistema informar que a validação do certificado falhou, o senhor deverá adicionar o certificado de autoridade à cadeia de certificados do sistema. Primeiro, extraia o certificado raiz (usando o navegador ou outra opção) e upload no DBFS. Em seguida, edite as pastas Git do cluster Git Proxy para usar a variável de ambiente GIT_PROXY_CA_CERT_PATH para apontar para o arquivo de certificado raiz. Para obter mais informações sobre como editar o cluster variável de ambiente, consulte variável de ambiente.

    Depois de concluir essa etapa, reinicie os clusters.

    A caixa de diálogo modal do Databricks onde você define a variável de ambiente para um proxy Git
  • Falha ao clonar repositório com erro “Credenciais Git ausentes/inválidas”

    Primeiro, verifique se você configurou suas credenciais do Git em User Settings.

    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 repo access.
    

    Se sua organização estiver usando SAML SSO, certifique-se de que os tokens foram autorizados (isso pode ser feito na página de gerenciamento access tokens pessoal (PAT) do seu servidor Git).

Acesso IP e listas de permissão para repositórios Git

Se estiver acessando a Databricks por trás de uma rede privada virtual (VPN) corporativa, o senhor deve adicionar o endereço IP do plano de controle da Databricks à lista de permissões de IP da VPN da empresa para o firewall ou serviço de proxy de rede. Normalmente, o senhor deve solicitar isso à equipe de suporte da infraestrutura IT da sua empresa. Além disso, a URL ou o endereço IP do repositório Git deve ser acessível por trás do firewall da empresa. Sem isso, as pastas Git do Databricks não podem se conectar aos repositórios Git com os quais estão conectados.

Quando o serviço de pasta Git da Databricks inicia uma solicitação para os repositórios Git de apoio, ele tenta localizar o endereço IP do proxy de VPN ou firewall do cliente. Se ele não conseguir encontrá-lo, não poderá se conectar aos repositórios do Git e o senhor receberá um erro. Para evitar essa situação, o senhor também deve adicionar uma entrada de DNS para os repositórios Git por meio de um serviço de nome de domínio (DNS) em nuvem, como AWS Route 53, Google Clouds DNS, Microsoft Azure DNS ou CloudFlare.

Perguntas frequentes

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 do Databricks.

  • Na versão atual, o proxy pode abrir novos vetores de ataque para usuários privilegiados. Para reduzir a complexidade e o potencial de ataques, neste momento só é possível ter um clusters de servidor proxy Git por workspace .

O recurso de proxy Git funciona com outros provedores de servidores corporativos Git?

As pastas Git da Databricks são compatíveis com GitHub Enterprise, Bitbucket Server, Azure DevOps Server e GitLab self-gerenciar. Outros provedores de servidores Git empresariais também devem funcionar se estiverem em conformidade com as especificações comuns do Git.

As pastas Git da Databricks são compatíveis com a assinatura GPG do commit?

Não.

As pastas Git da Databricks são compatíveis com o transporte SSH para operações Git?

Não. Somente HTTPS é compatível.

O uso de uma porta HTTPS não padrão no servidor Git é compatível?

Atualmente, o Notebook de ativação assume que seu servidor Git usa a porta HTTPS default 443. Você pode definir a variável de ambiente GIT_PROXY_CUSTOM_HTTP_PORT para substituir o valor da porta por um valor preferencial.

Você pode compartilhar um proxy para vários espaços de trabalho ou precisa de um clusters de proxy por espaço de trabalho?

Você precisa de um clusters proxy por workspace do Databricks.

O proxy funciona com versões legadasNotebook único?

Não, o proxy não funciona com o controle de versãoNotebook único e legado. Os usuários devem migrar para o controle de versão das pastas do Databricks Git.

Os Databricks podem ocultar URLs de servidores Git que são proxy? Os usuários poderiam inserir os URLs originais do servidor Git em vez de URLs com proxy?

Sim para ambas as perguntas. Os usuários não precisam ajustar seu comportamento para o proxy. Com a implementação atual do proxy, todo o tráfego do Git para as pastas do Git da Databricks é roteado pelo proxy. Os usuários inserem o URL normal do Git repo, como https://git.company.com/org/repo-name.git.

Com que frequência os usuários trabalharão com os URLs do Git?

Normalmente, um usuário apenas adicionaria o URL do Git ao criar um novo repo ou fazer check-out de um repo existente que ainda não tenha feito check-out.

O recurso faz proxy de dados de autenticação de forma transparente para o servidor Git?

Sim, o proxy usa os do accountservidor Git da do usuário tokens para autenticar no servidor Git.

Existe acesso do Databricks ao código do servidor Git?

O serviço proxy Databricks acessa o repositório Git no servidor Git usando a credencial fornecida pelo usuário e sincroniza quaisquer arquivos de código no repositório com o repo. O acesso é restrito pelas permissões especificadas no access token pessoal (PAT) fornecido pelo usuário.