Compartir a través de


Configuración de la conectividad de Git privada para carpetas de Git (Repos) de Azure Databricks

Obtenga información y configure el servidor proxy de Git para las carpetas de Git de Databricks, un servicio configurable que le permite redirigir comandos de Git de manera consistente desde las carpetas de Git del área de trabajo de Databricks a los repositorios de Git locales servidos por GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server y GitLab auto-gestionados.

Nota:

Los usuarios con un proxy de servidor git de Databricks configurado durante la versión preliminar deben actualizar sus permisos de clúster para mejorar el rendimiento. Consulte Eliminación de permisos globales de CAN_ATTACH_TO.

El proxy del servidor Git de Databricks está diseñado específicamente para trabajar con la versión del entorno de ejecución de Databricks incluido en el cuaderno de configuración. No se recomienda que los usuarios actualicen la versión de Databricks Runtime del clúster de proxy.

¿Qué es el proxy de servidor de Git para las carpetas de Git de Databricks?

El proxy de servidor Git de Databricks para carpetas de Git es una característica que permite proxy comandos de Git desde el área de trabajo de Azure Databricks a un servidor Git local.

Las carpetas de Git de Databricks (anteriormente Repos) representan los repositorios de Git conectados como carpetas. El contenido de estas carpetas se controla sincronizándolas con el repositorio de Git conectado. De forma predeterminada, las carpetas de Git solo se pueden sincronizar con proveedores de Git públicos (como GitHub público, GitLab, Azure DevOps y otros). Sin embargo, si hospeda su propio servidor Git local (como el servidor GitHub Enterprise, el servidor Bitbucket o GitLab autoadministrado), debe usar el proxy de servidor Git con carpetas de Git para proporcionar acceso a Databricks al servidor Git. El servidor Git debe ser accesible desde el plano de datos de Azure Databricks (nodo de controlador).

Si la red corporativa solo tiene acceso privado (VPN) (sin acceso público), debe ejecutar un proxy de servidor Git para acceder a repositorios de Git ubicados fuera de él y agregar carpetas de Git a las áreas de trabajo.

¿Cómo funciona el proxy de servidor de Git de las carpetas Git de Databricks?

Proxy del servidor Git para carpetas de Git de Databricks, que permite la ejecución de comandos de Git desde el plano de control de Databricks hacia un clúster de proxy que se ejecuta en el plano de cómputo del área de trabajo de Databricks. En este contexto, el clúster de proxy es un clúster configurado para ejecutar un servicio de proxy para comandos de Git desde carpetas de Git de Databricks al repositorio Git autoadministrado. Este servicio de proxy recibe comandos de Git del plano de control de Databricks y los reenvía a la instancia del servidor Git.

En el diagrama siguiente se muestra la arquitectura general del sistema:

Diagrama que muestra cómo se configura el servidor proxy de Git para carpetas de Git de Databricks para que se ejecuten desde el plano de proceso de un cliente

Actualmente, un servidor proxy de Git ya no requiere CAN_ATTACH_TO permiso para todos los usuarios. Los administradores con clústeres de proxy existentes ahora pueden modificar el permiso de ACL del clúster para habilitar esta característica. Para habilitarla:

  1. Seleccione Cómputo en la barra lateral y, a continuación, haga clic en el icono de menú kebab. Menú kebab situado junto a la entrada Cómputo para el proxy de servidor de Git que está ejecutando:

    Seleccione Proceso en la barra lateral y seleccione el kebab a la derecha del recurso de proceso del servidor proxy de Git

  2. En el cuadro de diálogo, quite la entrada Can Attach To para Todos los usuarios:

    En el cuadro de diálogo modal que aparece, haga clic en X a la derecha de Todos los usuarios, Puede asociar a

¿Cómo configuro el servidor proxy de Git para las carpetas de Git de Databricks?

En esta sección se describe cómo preparar la instancia del servidor Git como proxy del servidor Git para carpetas de Git de Databricks, crear un proxy y validar la configuración.

Antes de empezar

Antes de habilitar el proxy, asegúrese de que:

  • El área de trabajo tiene habilitada la característica carpetas de Git de Databricks.
  • La instancia del servidor Git es accesible desde la VPC del plano de proceso del área de trabajo de Azure Databricks y tiene habilitados los tokens de acceso personal (PAT) y HTTPS.

Nota:

El proxy de servidor de Git para Databricks funciona en todas las regiones compatibles con VPC.

Paso 1: Preparar la instancia del servidor Git

Importante

Debe ser administrador en el área de trabajo con derechos de acceso para crear un recurso de proceso y completar esta tarea.

Para configurar la instancia del servidor Git, haga lo siguiente:

  1. Proporcione al nodo de controlador del clúster proxy acceso al servidor Git.

    El servidor Git empresarial puede tener un elemento allowlist de direcciones IP desde las que el acceso está permitido.

    1. Asocie una dirección IP de salida estática para el tráfico que se origina en el clúster de proxy. Puede hacerlo mediante Azure Firewall o un dispositivo de salida.
    2. Agregue la dirección IP del paso anterior a la lista de permitidos del servidor Git.
  1. Establezca la instancia del servidor Git para permitir el transporte HTTPS.
    • Para GitHub Enterprise, consulte ¿Qué dirección URL remota debo usar? en la ayuda de GitHub Enterprise.
    • En Bitbucket, vaya a la página de administración del servidor de Bitbucket y seleccione la configuración del servidor. En la sección Hospedaje de SCM HTTP(S), habilite la casilla HTTP(S) habilitada.

Paso 2: Ejecutar el cuaderno de habilitación

Para habilitar el proxy:

  1. Inicie sesión en el área de trabajo de Azure Databricks como administrador del área de trabajo con derechos de acceso para crear un clúster.

  2. Importe este cuaderno, que elige el tipo de instancia más pequeño disponible en el proveedor de nube para ejecutar el proxy de Git.:

    Cuaderno: Habilitar el proxy de servidor Git para carpetas de Git de Databricks para la conectividad de servidor Git privada en carpetas de Git.

  3. Haga clic en Ejecutar todo para ejecutar el cuaderno, que realiza las siguientes tareas:

    • Crea un recurso de proceso de un solo nodo denominado “Proxy de Git de Databricks”, que no finaliza automáticamente. Este es el servicio de proxy de Git que procesará y reenviará los comandos de Git desde el área de trabajo de Azure Databricks al servidor git local.
    • Habilita una marca de características que controla si las solicitudes de Git en las carpetas de Git de Databricks se envían a través de la instancia de proceso.

    Como procedimiento recomendado, considere la posibilidad de crear un trabajo sencillo para ejecutar el recurso de proceso del proxy de Git. Puede ser un cuaderno sencillo que imprime o registra el estado, como “El servicio proxy de Git se está ejecutando.” Establezca el trabajo para que se ejecute en intervalos de tiempo regulares para asegurarse de que el servicio de proxy de Git siempre está disponible para los usuarios.

Nota:

La ejecución de un recurso de proceso de ejecución prolongada adicional para hospedar el software proxy incurre en DBU adicionales. Para minimizar los costos, el cuaderno configura el proxy para usar un recurso de proceso de nodo único con un tipo de nodo económico. Sin embargo, es posible que quiera modificar las opciones de proceso para satisfacer sus necesidades. Para obtener más información sobre los precios de la instancia de proceso, vea la Calculadora de precios de Databricks.

Paso 3: Validar la configuración del servidor Git

Para validar la configuración del servidor Git, intente clonar un repositorio hospedado en el servidor Git privado a través del clúster de proxy. Un clon correcto significa que ha habilitado correctamente el proxy del servidor Git para el área de trabajo.

Paso 4: Creación de repositorios git habilitados para proxy

Después de que los usuarios configuren sus credenciales de Git, no se requieren pasos adicionales para crear o sincronizar los repositorios. Para configurar las credenciales y acceder a los repositorios de las carpetas de Git mediante programación, consulte Configuración de credenciales de Git y conexión de un repositorio remoto a Azure Databricks.

Eliminación de permisos de CAN_ATTACH_TO globales

Los administradores con clústeres de proxy existentes ahora pueden modificar el permiso de ACL del clúster para aprovechar el comportamiento del proxy de servidor Git disponible con carácter general.

Si anteriormente ha configurado el proxy de servidor Git de Databricks con privilegios CAN_ATTACH_TO, siga estos pasos para quitar estos permisos:

  1. Seleccione Compute en la barra lateral y, a continuación, haga clic en el icono de menú kebab. Menú kebab situado junto a la entrada de Compute para el proxy del servidor Git que está ejecutando:

    Seleccione Proceso en la barra lateral y seleccione el kebab a la derecha del recurso de proceso del servidor proxy de Git

  2. En el cuadro de diálogo, quite la entrada Can Attach To para Todos los usuarios:

    En el cuadro de diálogo modal que aparece, haga clic en X a la derecha de Todos los usuarios, Puede asociar a

Solución de problemas

¿Se produjo un error al configurar el proxy del servidor de Git para carpetas de Git de Databricks? Estos son algunos problemas comunes y las formas de diagnosticarlos de forma más eficaz.

Lista de comprobación de problemas comunes

Antes de empezar a diagnosticar un error, confirme que ha completado los pasos siguientes:

  • Confirme que el clúster de proxy se está ejecutando con este cuaderno de depuración del servidor proxy de Git.
  • Confirme que es administrador del área de trabajo.
  • Ejecute el resto del cuaderno de depuración y capture los resultados. Si no puede depurar el problema o no ve ningún error notificado desde el cuaderno de depuración, el soporte de Databricks puede revisar los resultados. Puede exportar y enviar el cuaderno de depuración como archivo DBC, si se solicita.

Cambio de la configuración del proxy de Git

Si el servicio de proxy de Git no funciona con la configuración predeterminada, puede establecer variables de entorno específicas para realizar cambios en él para admitir mejor la infraestructura de red.

Use las siguientes variables de entorno para actualizar la configuración del servicio de proxy de Git:

Variable del entorno Formato Descripción
GIT_PROXY_ENABLE_SSL_VERIFICATION true/false Establézcalo en false si usa un certificado autofirmado para el servidor Git privado.
GIT_PROXY_CA_CERT_PATH Ruta de acceso del archivo (cadena) Establézcalo en la ruta de acceso a un archivo de certificado de ENTIDAD de certificación usado para la comprobación ssl. Ejemplo: /FileStore/myCA.pem
GIT_PROXY_HTTP_PROXY https://<hostname>:<port #> Establézcalo en la dirección URL HTTPS del proxy de firewall de la red para el tráfico HTTP.
GIT_PROXY_CUSTOM_HTTP_PORT Número de puerto (entero) Establézcalo en el número de puerto asignado al puerto HTTP del servidor Git.

Para establecer estas variables de entorno, vaya a la pestaña Proceso del área de trabajo de Azure Databricks y seleccione la configuración de proceso para el servicio de proxy de Git. En la parte inferior del panel Configuración , expanda Avanzadas y seleccione la pestaña Spark en ella. Establezca una o varias de estas variables de entorno agregándolas al área de texto Variables de entorno.

La página de configuración del proceso de Databricks en el que se establecen variables de entorno para un proxy de Git

Inspección de registros en el clúster del proxy

El archivo en /databricks/git-proxy/git-proxy.log en el clúster del proxy contiene registros que son útiles para la depuración.

El archivo de registro debe comenzar con la línea Data-plane proxy server binding to ('', 8000)…. Si no lo hace, esto significa que el servidor proxy no se inició correctamente. Intente reiniciar el clúster o bien elimine el clúster que creó y vuelva a ejecutar el cuaderno de habilitación.

Si el archivo de registro comienza con esta línea, revise las instrucciones de registro que le siguen para cada solicitud de Git iniciada por una operación de Git en carpetas de Git de Databricks.

Por ejemplo:

  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`

Los registros de errores escritos en este archivo pueden ser útiles para ayudarle o para depurar problemas de soporte técnico de Databricks.

Posibles mensajes de error comunes y soluciones

  • No se pudo establecer una conexión segura debido a problemas de SSL

    Puede aparecer el error siguiente:

      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
    

    A menudo esto significa que usa un repositorio que requiere certificados SSL especiales. Compruebe el contenido del archivo /databricks/git-proxy/git-proxy.log en el clúster del proxy. Si indica que se produjo un error en la validación del certificado, debe agregar el certificado de entidad a la cadena de certificados del sistema. En primer lugar, extraiga el certificado raíz (con el explorador u otra opción) y cárguelo en DBFS. A continuación, edite la carpetas de Git Proxy de Git clúster para usar la variable de entorno GIT_PROXY_CA_CERT_PATH para que apunte al archivo de certificado raíz. Para obtener más información sobre la edición de variables de entorno de clúster, consulte Variables de entorno.

    Una vez completado ese paso, reinicie el clúster.

  • Error al clonar el repositorio con el error "Faltan credenciales de Git o no son válidas".

    En primer lugar, compruebe que ha configurado las credenciales de Git en Configuración de usuario.

    Es posible que encuentre este error:

      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.
    

    Si su organización usa el inicio de sesión único de SAML, asegúrese de que el token se haya autorizado (esto se puede hacer desde la página de administración del token de acceso personal (PAT) del servidor Git).

Preguntas más frecuentes

¿Cuál es la manera más fácil de averiguar si se está ejecutando el servidor proxy de Git?

Importe y ejecute el cuaderno de depuración del proxy de Git. Los resultados de la ejecución del cuaderno muestran si hay problemas con el servicio de proxy de Git.

¿Cuáles son las implicaciones de seguridad del proxy del servidor Git?

  • La redirección mediante proxy no afecta a la arquitectura de seguridad del plano de control de Databricks.
  • Solo puede tener un clúster de servidor proxy de Git por área de trabajo.

Sí. El área de trabajo de Azure Databricks no diferencia entre repositorios proxy y no proxy.

¿Funciona la característica proxy de Git con otros proveedores de servidores de Git Enterprise?

Las carpetas de Git de Databricks admiten GitHub Enterprise, Bitbucket Server, Azure DevOps Server y GitLab autoadministrados. Otros proveedores de servidores Git Enterprise también deben funcionar si se ajustan a las especificaciones comunes de Git.

¿Las carpetas de Git de Databricks admiten la firma de confirmaciones de GPG?

No.

¿Las carpetas de Git de Databricks admiten el transporte SSH para las operaciones de Git?

No. Solo se admite HTTPS.

¿Se admite el uso de un puerto HTTPS no predeterminado en el servidor Git?

Actualmente, el cuaderno de habilitación presupone que el servidor Git usa el puerto 443 HTTPS predeterminado. Puede establecer la variable de entorno GIT_PROXY_CUSTOM_HTTP_PORT para sobrescribir el valor del puerto con uno preferido.

¿Puede compartir un proxy para varias áreas de trabajo o necesita un clúster de proxy por área de trabajo?

Necesita un clúster de proxy por área de trabajo de Azure Databricks.

¿Puede Databricks ocultar las direcciones URL del servidor Git que están redirigidas mediante proxy? ¿Podrían los usuarios escribir las direcciones URL del servidor Git originales en lugar de las direcciones URL redirigidas mediante proxy?

La respuesta a ambas preguntas es sí. Los usuarios no necesitan ajustar su comportamiento para el proxy. Con la implementación del proxy actual, todo el tráfico de Git para las carpetas de Git de Databricks se enruta a través del proxy. Los usuarios escriben la dirección URL normal del repositorio de Git, como https://git.company.com/org/repo-name.git.

¿La característica redirige mediante proxy de forma transparente los datos de autenticación de proxy al servidor Git?

Sí, el proxy usa el token de servidor git de la cuenta de usuario para autenticarse en el servidor git.

¿Hay acceso de Databricks al código del servidor Git?

El servicio de proxy de Azure Databricks accede al repositorio de Git en el servidor git mediante la credencial proporcionada por el usuario y sincroniza los archivos de código del repositorio con la carpeta Git. El acceso lo restringen los permisos especificados en el token de acceso personal (PAT) que proporciona el usuario.