Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Saiba mais sobre e configure o proxy do servidor Git para pastas Git da área de trabalho do Databricks, um serviço configurável que permite que você faça proxy de comandos Git de pastas Git da área de trabalho do Databricks para seus repositórios Git on-premises atendidos pelo GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server e GitLab autogerenciados.
Observação
Os usuários com um proxy de servidor Git do Databricks configurado durante a visualização devem atualizar suas permissões de cluster para obter o melhor desempenho. Consulte Remover permissões CAN_ATTACH_TO globais.
O proxy do servidor Git do Databricks foi projetado especificamente para funcionar com a versão do Databricks Runtime incluída no notebook de configuração. Os usuários são desencorajados a atualizar a versão do Databricks Runtime do cluster proxy.
O que é proxy de servidor Git para pastas Git do Databricks?
O proxy de servidor Git para pastas Git do Databricks é um recurso que permite usar um proxy de comandos Git do workspace do Azure Databricks para um servidor Git local.
Databricks Git Folders (anteriormente chamados de Repos) representam seus repositórios Git conectados como pastas. O conteúdo dessas pastas é controlado por versão ao sincronizá-las com o repositório Git conectado. Por padrão, as pastas Git podem sincronizar somente com provedores Git públicos (como GitHub público, GitLab, Azure DevOps e outros). No entanto, se você hospedar seu servidor Git local (como o GitHub Enterprise Server, o Bitbucket Server ou o GitLab autogerenciado), deve usar o proxy de servidor Git com pastas Git para fornecer acesso ao Databricks no servidor Git. O servidor Git deve estar acessível no plano de dados do Azure Databricks (nó do driver).
Se sua rede corporativa for apenas 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 workspaces.
Como funciona o proxy de servidor Git para pastas Git do Databricks?
O proxy do servidor Git para pastas Git do Databricks encaminha comandos Git do plano de controle do Databricks para um cluster proxy em execução na camada de computação do workspace do Databricks. Nesse contexto, o cluster proxy é um cluster configurado para executar um serviço proxy para comandos Git de pastas Git do Databricks para seu repositório Git auto-hospedado. Esse serviço proxy recebe os comandos Git do painel de controle do Databricks e os encaminha para a instância do servidor Git.
O diagrama abaixo ilustra a arquitetura geral do sistema:
Importante
O Databricks fornece um notebook de habilitação que você pode executar para configurar a instância do servidor Git para comandos de proxy para pastas Git do Databricks. Obtenha o notebook de habilitação no GitHub.
Atualmente, um proxy de servidor Git não requer mais permissão CAN_ATTACH_TO
para todos os usuários. Administradores com clusters proxy existentes agora podem modificar a permissão de ACL do cluster para habilitar esse recurso. Para habilitá-lo:
Selecione Computação na barra lateral e, em seguida, clique no
Menu kebab ao lado da entrada de computação para o Proxy do Servidor Git que você está executando:
Na caixa de diálogo, remova a entrada Pode ser anexado a para Todos os Usuários:
Como configurar o proxy de servidor Git para pastas Git do Databricks?
Esta seção descreve como preparar sua instância do servidor Git para funcionar como proxy de pastas Git no Databricks, como criar o proxy e validar sua configuração.
Antes de começar
Antes de habilitar o proxy, verifique se:
- Seu workspace tem o recurso de pastas Git do Databricks habilitado.
- A instância do servidor Git está acessível no VPC do plano de computação do workspace do Azure Databricks 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 seu VPC.
Etapa 1: preparar a instância do servidor Git
Importante
Você precisa ser um administrador no workspace com direitos de acesso para criar um recurso de computação e executar essa tarefa.
Para configurar a instância do servidor Git:
Conceda ao nó de driver do cluster de proxy acesso ao seu servidor Git.
O servidor Git empresarial 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 no cluster 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 servidor Git.
- Defina a instância do servidor Git para permitir o transporte HTTPS.
- No GitHub Enterprise, confira Qual URL remota devo usar na ajuda do GitHub Enterprise.
- No 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, marque a caixa de seleção HTTP(S) habilitado.
Etapa 2: executar o notebook de habilitação
Para habilitar o proxy:
Faça logon no workspace do Azure Databricks como administrador de workspace com direitos de acesso para criar um cluster.
Importe esse notebook, o que irá escolher o menor tipo de instância disponível no seu provedor de nuvem para executar o proxy do Git:
Clique em Executar Tudo para executar o notebook, que executa as seguintes tarefas:
- Criar um recurso de computação de nó único chamado "Proxy do Git do Databricks", que não é terminado automaticamente. Este é o serviço de proxy Git que processará e encaminhará comandos Git do workspace do Azure Databricks para o seu servidor Git local.
- Habilitar um sinalizador de recurso que controle se as solicitações do Git nas pastas do Git do Databricks fazem proxy por meio da instância de computação.
Como uma boa prática, pense em criar um trabalho simples para executar o recurso de computação do proxy do Git. Pode ser um notebook simples que imprima ou registre o status em log como "O serviço de proxy do Git está em execução". Definir o trabalho a ser executado em intervalos de tempo regulares para garantir que o serviço de proxy do Git esteja sempre disponível para seus usuários.
Observação
A execução de um cluster de execução prolongada adicional para hospedar o software de proxy incorre em DBUs extras. Para minimizar os custos, o notebook configura o proxy para usar um cluster de nó único com um tipo de nó econômico. No entanto, talvez você queira modificar as opções de computação para adaptá-las às suas necessidades. Para obter mais informações sobre os preços da instância de computação, confira Calculadora de preços do Databricks.
Etapa 3: validar a configuração do servidor Git
Para validar a configuração do servidor Git, tente clonar um repositório hospedado no servidor Git privado por meio do cluster proxy. Um clone bem-sucedido indica que você habilitou o proxy do servidor Git para o workspace.
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 os repositórios. Para configurar credenciais e acessar os repositórios para suas pastas Git programaticamente, consulte Configurar credenciais do Git e conectar um repositório remoto ao Azure Databricks.
Remover permissões CAN_ATTACH_TO globais
Os administradores com clusters proxy existentes agora podem modificar a permissão de ACL do cluster para aproveitar o comportamento de proxy do servidor Git em disponibilidade geral.
Se você configurou anteriormente o proxy do servidor Git do Databricks com privilégios de CAN_ATTACH_TO
, use as seguintes etapas para remover essas permissões:
Selecione Compute na barra lateral e clique no
ao lado da entrada de Compute para o proxy do servidor Git que você está executando:
Na caixa de diálogo, remova a entrada Pode ser anexado a para Todos os Usuários:
Solução de problemas
Você encontrou um erro ao configurar o proxy de servidor Git para as pastas Git do Databricks? Veja abaixo alguns problemas comuns e as maneiras de diagnosticá-los de forma mais eficaz.
Lista de verificação de problemas comuns
Antes de começar a diagnosticar um erro, confirme se você concluiu as seguintes etapas:
- Confirme se o cluster de proxy está em execução com este notebook de depuração do servidor proxy Git.
- Confirme se você é um administrador do workspace.
- Execute o restante do notebook de depuração e capture os resultados. Se você não conseguir depurar o problema ou não observar nenhuma falha relatada no notebook de depuração, a equipe de suporte do Databricks poderá examinar 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 serviço de proxy Git não estiver funcionando com a configuração padrão, você pode 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 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, acesse a guia Computação no workspace do Azure Databricks e selecione a configuração de computação para o serviço de proxy do Git. Na parte inferior do painel Configuração , expanda Avançado e selecione a guia Spark abaixo dele. Defina uma ou mais dessas variáveis de ambiente adicionando-as à área de texto 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 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 notebook de habilitação novamente.
Se o arquivo de log começar com essa linha, examine as instruções de log que o seguem para cada solicitação Git iniciada por uma operação 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.
Mensagens de erro comuns e as respectivas resoluções
Não foi possível estabelecer uma conexão segura devido a problemas de 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 SLL problems
Muitas vezes, isso significa que você está usando um repositório que requer certificados SSL especiais. Verifique o conteúdo do arquivo
/databricks/git-proxy/git-proxy.log
no cluster proxy. Se ele indicar 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 no DBFS. Em seguida, edite o cluster Proxy Git das pastas Git para usar a variável de ambienteGIT_PROXY_CA_CERT_PATH
para apontar para o arquivo de certificado raiz. Para obter mais informações sobre como editar as variáveis de ambiente do cluster, confira Variáveis de ambiente.Depois de concluir essa etapa, reinicie o cluster.
Falha ao clonar o repositório com erro "Credenciais Git ausentes/inválidas"
Primeiro, verifique se você configurou as 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 o SSO do SAML, verifique se o token foi autorizado (isso pode ser feito na página de gerenciamento do PAT (Token de Acesso Pessoal) do servidor Git.
Perguntas frequentes
Qual é a maneira mais fácil de descobrir se o servidor proxy Git está em execução?
Importe e execute o notebook de depuração de proxy do Git. Os resultados da execução do notebook mostram se há problemas com o serviço proxy Git.
Quais são as implicações de segurança do proxy do servidor Git?
- O proxy não afeta a arquitetura de segurança do plano de controle do Databricks.
- Você só pode ter um cluster de servidor proxy Git por workspace.
Todo o tráfego Git relacionado a pastas Git do Databricks é roteado por meio do cluster proxy, mesmo para repositórios Git públicos?
Sim. O workspace do Azure Databricks não diferencia entre repositórios com proxy e sem proxy.
O recurso de proxy Git funciona com outros provedores de servidor empresarial Git?
As pastas Git do Databricks são compatíveis com GitHub Enterprise, Bitbucket Server, Azure DevOps Server e GitLab autogerenciado. Outros provedores de servidores Git empresariais também devem funcionar se estiverem em conformidade com as especificações comuns do Git.
As pastas Git do Databricks dão suporte à assinatura GPG de commits?
Não.
As pastas Git do Databricks dão suporte ao transporte SSH para operações Git?
Não. Há suporte somente para HTTPS.
Há suporte para o uso de uma porta HTTPS não padrão no servidor Git?
No momento, o notebook de habilitação pressupõe que o servidor Git usa a porta HTTPS padrão 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 com vários workspaces ou precisa de um cluster proxy por workspace?
Você precisa de um cluster proxy por workspace do Azure Databricks.
O Databricks pode ocultar URLs de servidor Git que são usam um proxy? Os usuários poderiam inserir as URLs originais do servidor Git, em vez de URLs com proxy?
Sim para ambas as perguntas. Os usuários não precisam ajustar o comportamento para o proxy. Com a implementação do proxy atual, todo o tráfego Git para pastas Git do Databricks é encaminhado através do proxy. Os usuários inserem a URL normal do repositório Git, como https://git.company.com/org/repo-name.git
.
O recurso usa um proxy de forma transparente nos 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 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 PAT (token de acesso pessoal) fornecido pelo usuário.