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.
Observação
O Git Privado sem Servidor do Azure Databricks está em Versão Prévia Pública. Os custos de computação e rede se aplicam quando recursos de computação sem servidor se conectam a recursos externos. Consulte Noções básicas sobre os custos de rede sem servidor do Databricks para obter detalhes de cobrança.
O Git Privado sem Servidor do Azure Databricks permite que você conecte um workspace do Databricks a um servidor Git privado usando computação sem servidor e Link Privado do Azure. Um servidor Git será privado se não puder ser acessado pela Internet.
O diagrama a seguir ilustra a arquitetura geral do sistema:
Por que usar o Git privado sem servidor?
Em comparação com o proxy Git, o Git Privado sem Servidor oferece as seguintes vantagens:
O Git privado sem servidor adquire computação sem servidor somente quando recebe uma solicitação Git e pode ser inativo quando não estiver em uso. Por outro lado, o proxy Git exige que o cluster proxy esteja ativo quando o usuário envia uma solicitação Git.
O Git Privado sem servidor usa o Link Privado do Azure para se conectar com segurança à instância privada do Git.
Requirements
- Os workspaces devem ser habilitados para Serverless.
- O Servidor Git Privado deve estar na mesma VNet do Azure que o Standard Load Balancer.
- O Servidor Git Privado deve ter um certificado assinado/FQDN HTTPS válido.
- A VNet está configurada para o SLB (Standard Load Balancer) usado para o serviço de Link Privado.
Configurar o Git Privado sem Servidor
- Siga as etapas para configurar o Link Privado para seu servidor Git privado. Isso permite que você crie uma conexão Azure Private Link de Serverless para o back-end em sua rede atrás de um SLB.
- Crie uma NCC (configuração de conectividade de rede) para configurar a saída para um balanceador de carga padrão. Considerações para esta etapa:
- Apenas um NCC pode ser configurado em um workspace de Git privado. Se o workspace precisar se conectar a vários servidores Git privados, verifique se eles podem ser conectados usando o mesmo NCC.
- Limitações como o número de NCCs com suporte em uma região e o número de workspaces que podem ser anexados a um NCC estão documentados em Requisitos.
- Obtenha um token de API da conta usando uma entidade de serviço com acesso ao nível da conta.
curl
--location 'https://accounts.azuredatabricks.net/oidc/accounts/{accountid}/v1/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=SP_CLIENT_ID_HERE' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' \
--data-urlencode 'client_secret=SP_CLIENT_SECRET_HERE'
Response
{"access_token":"...","scope":"all-apis","token_type":"Bearer","expires_in":3600}
Maneira alternativa de obter o token de API da conta:
- Token de acesso para autenticação: para chamar a API REST da conta do Databricks, você deve executar a autenticação e obter um token de acesso.
- Use um token de acesso do ID do Microsoft Entra.
BEARER_TOKEN = `az account get-access-token --resource
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d --query "accessToken" -o tsv
- Adicione uma regra de ponto de extremidade privado para definir a lógica DNS usando a API.
No exemplo, especifique o seguinte:
- AccountID
- NCC ID
- Token da conta OAuth
- ID do recurso de serviço de link privado
- FQDN do Git Server na lista do domain_name
curl --location 'https://accounts.azuredatabricks.net/api/2.0/accounts/{accountid}/network-connectivity-configs/{nccid}/private-endpoint-rules' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer BEARER_TOKEN' \
--data '{
"resource_id": "/subscriptions/3f262328b/resourceGroups/rg/providers/Microsoft.Network/privateLinkServices/example",
"domain_names": [
"git-server.contoso.com"
]
}
'
Resposta
{"rule_id":"843ba2e5-bbbb-bbbb-bbbb-7f0d55555215","network_connectivity_config_id":"5a9bdc5f-c43d-41cd-9a6d-1b653e20c7d2","resource_id":"/subscriptions/3f262328b/resourceGroups/rg/providers/Microsoft.Network/privateLinkServices/example","endpoint_name":"databricks-5a9bdc5f-c43d-41cd-9a6d-1b653e20c7d2-pe-99cbbac3","connection_state":"PENDING","creation_time":1740000647980,"updated_time":1740000647949,"domain_names":["git-server.contoso.com"]}
- Aguarde alguns minutos após configurar as regras do endpoint privado do NCC. A regra de ponto de extremidade privado aparece no NCC sem um subrecurso especificado com um status pendente.
- O serviço de Link Privado configurado na Etapa 1 também tem uma conexão de ponto de extremidade privado pendente pronta para aprovação. Aprove a conexão.
- Volte para o NCC no console da conta e verifique se a conexão foi estabelecida.
- Vá para o espaço de trabalho e execute uma operação Git. Você deve ver um indicador de interface do usuário para o Git privado sem servidor. Essa página pode demorar alguns segundos para carregar enquanto o processamento serverless do proxy Git está sendo inicializado.
Depois de configurá-lo, o Git Privado sem Servidor terá precedência sobre outras formas de conectividade privada do Git que você já provisionou, como o proxy Git clássico. Se você tiver um cluster de proxy Git clássico em execução, encerre-o depois de configurar o Git Privado sem Servidor.
Configurações adicionais
Personalize suas operações git usando o arquivo config.json.
- Crie um arquivo de configuração em
/Workspace/.git_settings/config.json, seguindo a especificação abaixo. - Conceda a todos os usuários do Git permissões de exibição para o arquivo de configuração e todos os arquivos de certificado de AC referenciados por ele.
- Interaja com o Git para validar a conectividade com o git remoto, como clonar uma pasta Git para um repositório remoto no servidor.
- As alterações no arquivo de configuração podem levar até 1 minuto para serem aplicadas.
Estrutura de arquivo de configuração de nível superior
{
"default": { ... }, // Optional global settings
"remotes": [ ... ] // Optional list of per-remote settings
}
default seção (opcional)
Os padrões globais são aplicados a todas as operações do Git, a menos que sejam substituídos por um remoto específico.
| Campo | Tipo | Obrigatório | Valor Padrão | Description |
|---|---|---|---|---|
| sslVerify | boolean | Não | true | Se os certificados SSL devem ser verificados. |
| caCertPath | cadeia | Não | "" (vazio) | Caminho do espaço de trabalho para um certificado de autoridade certificadora personalizado. |
| Proxy http | cadeia | Não | "" (vazio) | Proxy HTTP para rotear o tráfego do Git. |
| customHttpPort | inteiro | Não | Unspecified | Porta HTTP personalizada do servidor Git. |
remotes seção (opcional)
Uma lista de objetos que definem as configurações para servidores Git remotos individuais. Essas configurações substituem o bloco default para cada controle remoto.
| Campo | Tipo | Obrigatório | Valor Padrão | Description |
|---|---|---|---|---|
| urlPrefix | cadeia | Yes | — | Prefixo para corresponder às URLs remotas do Git. |
| sslVerify | boolean | Não | true | Se os certificados SSL devem ser verificados. |
| caCertPath | cadeia | Não | "" (vazio) | Caminho do workspace para a localização de um certificado de autoridade certificadora personalizado para esta conexão remota. |
| Proxy http | cadeia | Não | "" (vazio) | Proxy HTTP para rotear o tráfego do Git. |
| customHttpPort | inteiro | Não | Unspecified | Porta HTTP personalizada do servidor Git. |
Configuração de exemplo sem configuração específica remota
{
"default": {
"sslVerify": false
}
}
Exemplo de configuração completa
{
"default": {
"sslVerify": true,
"caCertPath": "/Workspace/my_ca_cert.pem",
"httpProxy": "https://git-proxy-server.company.com",
"customHttpPort": "8080"
},
"remotes": [
{
"urlPrefix": "https://my-private-git.company.com/",
"caCertPath": "/Workspace/my_ca_cert_2.pem"
},
{
"urlPrefix": "https://another-git-server.com/project.git",
"sslVerify": false
}
]
}
Anotações
- A
defaultseção deve estar presente, mesmo que apenas parcialmente. - A
remoteslista é opcional e pode ser omitida inteiramente. - Cada entrada remota deve conter pelo menos
urlPrefix. - Se você não especificar um valor para um campo, ele usará o valor padrão.
- Campos desconhecidos são ignorados.
Limitações
- No momento, o log de proxy sem servidor não está disponível.
- Disponível somente em regiões sem servidor do Azure.