Share via


Configurar a conectividade Git privada para pastas Git 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 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 as permissões de cluster para obter o melhor desempenho. Consulte Remover permissões de CAN_ATTACH_TO globais.

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.

As pastas Databricks Git (anteriormente Repos) representam 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).

Nota

Atualmente, as pastas Databricks Git podem conter apenas blocos de anotações e subpastas Databricks, juntamente com um conjunto específico de outros tipos de ativos. Para obter uma lista atual dos tipos de ativos suportados, consulte Limites & Perguntas frequentes sobre a integração do Git com pastas do Databricks Git.

Como funciona o Git Server Proxy for Databricks Git folders?

Git Server Proxy for Databricks Git folders proxies Git comandos Git do plano de controle Databricks para um "cluster proxy" em execução no plano de computação do seu espaço de trabalho Databricks. Nesse contexto, o cluster de proxy é um cluster configurado para executar um serviço de proxy para comandos Git de pastas Git Databricks para seu repositório Git auto-hospedado. 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:

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

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:

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

    Selecione Compute na barra lateral, selecione o kebab à direita do seu recurso de computação do servidor proxy Git

  2. Na caixa de diálogo, remova a entrada Pode anexar apara todos os usuários:

    Na caixa de diálogo modal que aparece, clique em X à direita de Todos os usuários, Pode anexar a

Como configuro o Proxy do Git Server para pastas Git Databricks?

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

Antes de começar

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

  • 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

Para configurar a instância do servidor Git:

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

    1. 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.
    2. Adicione o endereço IP da etapa anterior à lista de permissões do seu servidor Git.
  2. 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:

  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. Importe este bloco de notas:

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

  3. Selecione "Executar tudo" para executar as seguintes tarefas:

    • Crie um cluster de nó único chamado "Databricks Git Proxy", que não termina automaticamente. Este é o "cluster de proxy" que processará e encaminhará comandos Git do seu espaço de trabalho do Azure Databricks para o seu servidor Git local.
    • Habilite um sinalizador de recurso que controla se as solicitações Git nas pastas Git do Databricks são intermediadas por proxy por meio do cluster.

Importante

Você deve ser um administrador no espaço de trabalho com direitos de acesso para criar um cluster.

Nota

Você deve estar ciente do seguinte:

  • A execução de um cluster 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 cluster de nó único com um tipo de nó barato. No entanto, convém modificar as opções de cluster para atender às suas necessidades.

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 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 criar um repositório em pastas Git do Databricks, 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:

  1. Selecione Computação na barra lateral e, em seguida, clique no Menu de kebab menu kebab ao lado da entrada Computação para o proxy do servidor Git que você está executando:

    Selecione Compute na barra lateral, selecione o kebab à direita do seu recurso de computação do servidor proxy Git

  2. Na caixa de diálogo, remova a entrada Pode anexar apara todos os usuários:

    Na caixa de diálogo modal que aparece, clique em X à direita de Todos os usuários, Pode anexar a

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 se o cluster de proxy está 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 bloco de anotações de ativação novamente e capture os resultados, se ainda não o fez. Se você não conseguir depurar o problema, o Suporte do Databricks poderá revisar os resultados. Você pode exportar e enviar o bloco de anotações de ativação como um arquivo DBC.

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 a GIT_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.

    A caixa de diálogo modal Databricks onde você define variáveis 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 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 repo 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

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.

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 o 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 usuário apenas adiciona a URL do Git quando cria um novo repositório ou faz check-out de um repositório existente que ainda não fez check-out.

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 o repositório. O acesso é restrito pelas permissões especificadas no token de acesso pessoal (PAT) fornecido pelo usuário.