Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Git privado sin servidor de Databricks está en versión preliminar pública. Los costos de proceso y red se aplican cuando los recursos de proceso sin servidor se conectan a recursos externos. Consulte Descripción de los costos de red sin servidor de Databricks para obtener detalles de facturación.
Git privado sin servidor de Databricks le permite conectar un área de trabajo de Databricks a un servidor Git privado mediante proceso sin servidor y Azure Private Link. Un servidor Git es privado si los usuarios de Internet no pueden acceder a él.
En el diagrama siguiente se muestra la arquitectura general del sistema:
¿Por qué usar Git privado sin servidor?
En comparación con el proxy de servidor git, Git privado sin servidor ofrece las siguientes ventajas:
- Git privado sin servidor adquiere capacidad de cómputo sin servidor solo cuando recibe una solicitud de Git y puede estar inactivo cuando no se utiliza. Por el contrario, el proxy de Git requiere que el clúster de proxy esté activo cuando el usuario envía una solicitud de Git.
- Git privado sin servidor usa Azure Private Link para conectarse de forma segura a la instancia privada de Git.
Requisitos
- Active la computación sin servidor para el espacio de trabajo.
- Coloque el servidor Git privado en la misma red virtual de Azure que Standard Load Balancer.
- Asegúrese de que el servidor Git privado tiene un certificado firmado y un nombre de dominio completo (FQDN) HTTPS válido.
- Configure la red virtual con un equilibrador de carga estándar (SLB) para el servicio Private Link.
Configuración de Git privado sin servidor
- Siga los pasos para configurar la conectividad privada a los recursos de la red virtual. Esto le permite crear una conexión de Azure Private Link desde sin servidor a los backends en su red, detrás de un SLB.
- Cree una configuración de conectividad de red (NCC) para configurar la salida a un equilibrador de carga estándar.
- Solo puede configurar un NCC por área de trabajo para Git privado. Si el área de trabajo se conecta a varios servidores Git privados, todos deben usar el mismo NCC.
- Para conocer las limitaciones de NCC, como los límites regionales y los límites de datos adjuntos del área de trabajo, consulte Requisitos.
- Obtenga un token de API de cuenta usando un principal de servicio con acceso a nivel de cuenta.
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'
La respuesta contiene un token de acceso:
{ "access_token": "...", "scope": "all-apis", "token_type": "Bearer", "expires_in": 3600 }
Como alternativa, puede usar un token de acceso de Microsoft Entra ID:
BEARER_TOKEN=$(az account get-access-token --resource \
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d --query "accessToken" -o tsv)
- Agregue una regla de punto de conexión privado para definir la lógica DNS mediante la API.
En el ejemplo, especifique lo siguiente:
- Id. de cuenta
- ID de NCC
- Token de cuenta OAuth
- Identificador de recurso del servicio Private Link
- FQDN del servidor Git en la lista
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"]
}'
La respuesta contiene los detalles de la regla de punto de conexión privado:
{
"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"]
}
- Espere unos minutos después de configurar las reglas de punto de conexión privado de NCC. El NCC muestra la regla de punto de conexión privado con un estado pendiente.
- Apruebe la conexión pendiente del punto de enlace privado en el servicio Private Link que configuraste en el paso 1.
- Regresa al NCC dentro de la consola de la cuenta y verifica que se haya establecido.
- Realice una operación de Git en el área de trabajo. Un indicador de interfaz de usuario confirma que Git privado sin servidor está activo. El indicador puede tardar unos segundos en aparecer mientras se inicia el proceso sin servidor.
Después de configurarlo, Serverless Private Git tiene prioridad sobre otras formas de conectividad privada de Git que ya haya implementado, como el proxy clásico de Git. Finalice el clúster de proxy de Git clásico que esté en ejecución después de configurar Git Privado Sin Servidor.
Configuraciones adicionales
Personalice las operaciones de Git mediante un archivo de configuración.
- Cree un archivo de configuración en
/Workspace/.git_settings/config.jsonsiguiendo la especificación siguiente. - Conceda a todos los usuarios de Git permisos de lectura para el archivo de configuración y para los archivos de certificados de la autoridad de certificación que se mencionan.
- Valide la conectividad con el control remoto de Git mediante la realización de una operación de Git, como la clonación de una carpeta de Git.
- El sistema puede tardar hasta un minuto en aplicar cambios en el archivo de configuración.
Estructura del archivo de configuración de nivel superior
{
"default": { ... }, // Optional global settings
"remotes": [ ... ] // Optional list of per-remote settings
}
default sección (opcional)
Los valores predeterminados globales se aplican a todas las operaciones de Git a menos que un remoto específico los invalide.
| Campo | Tipo | Obligatorio | Valor predeterminado | Description |
|---|---|---|---|---|
sslVerify |
boolean | No | true | Indica si se deben comprobar los certificados SSL. |
caCertPath |
cuerda / cadena | No | "" (vacío) | Ruta de acceso en el área de trabajo a un certificado de autoridad certificadora personalizado. |
httpProxy |
cuerda / cadena | No | "" (vacío) | Proxy HTTP para enrutar el tráfico de Git. |
customHttpPort |
entero | No | Sin especificar | Puerto HTTP personalizado del servidor Git. |
remotes sección (opcional)
Lista de objetos que definen la configuración de servidores Git remotos individuales. Esta configuración invalida el default bloque por remoto.
| Campo | Tipo | Obligatorio | Valor predeterminado | Description |
|---|---|---|---|---|
| urlPrefix | cuerda / cadena | Sí | — | Prefijo para que coincida con las direcciones URL remotas de Git. |
| sslVerify | boolean | No | true | Indica si se deben comprobar los certificados SSL. |
| caCertPath | cuerda / cadena | No | "" (vacío) | Ruta de acceso a un certificado de entidad de certificación personalizada para este remoto. |
| httpProxy (en inglés) | cuerda / cadena | No | "" (vacío) | Proxy HTTP para enrutar el tráfico de Git. |
| customHttpPort | entero | No | Sin especificar | Puerto HTTP personalizado del servidor Git. |
Configuración de ejemplo sin configuración específica remota
{
"default": {
"sslVerify": false
}
}
Ejemplo de configuración 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
}
]
}
Notas
- La
defaultsección debe estar al menos parcialmente presente. - La sección
remoteses opcional. Si se incluye, cada entrada debe incluir unurlPrefixcampo. - Los campos no especificados usan sus valores predeterminados.
- Se omiten los campos desconocidos.
Limitaciones
- Los registros de proxy sin servidor no están disponibles.
- Git privado sin servidor solo está disponible en regiones sin servidor de Azure.