Compartir a través de


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

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

Nota:

Los usuarios con un proxy de servidor Git de Databricks configurado durante la versión preliminar deben actualizar los 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 de DBR incluida en el cuaderno de configuración. No se recomienda que los usuarios actualicen la versión de DBR 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.

Carpetas de Git de Databricks (anteriormente Repos) representa los repositorios 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).

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

Proxy de servidor de Git para carpetas de Git de Databricks los comandos de Git proxy del plano de control de Databricks a un “clúster” de proxy que se ejecuta en el plano de proceso 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 en el repositorio de Git autohospedado. 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 Proceso en la barra lateral y, a continuación, haga clic en el menú Kebab kebab situado junto a la entrada Proceso del servidor proxy 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 para las carpetas de Git proxy de servidor de Git para Databricks, crear el proxy y validar la configuración.

Antes de empezar

Antes de habilitar el proxy, tenga en cuenta los siguientes requisitos previos y tareas de planificación:

  • 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.
  2. 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 mediante el clúster del proxy. Un clon correcto significa que ha habilitado correctamente el proxy del servidor Git para el área de trabajo.

Paso 4: Crear repositorios 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 credenciales y crear un repositorio en carpetas de Git de Databricks, 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 (Proceso) en la barra lateral y a continuación, haga clic en el Kebab menú kebab situado junto a la entrada Compute (Proceso) 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:

  • Confirmar que el clúster del proxy se está ejecutando.
  • Confirme que es administrador del área de trabajo.
  • Vuelva a ejecutar el cuaderno de habilitación y capture los resultados, si aún no lo ha hecho. Si no puede depurar el problema, el soporte técnico de Databricks puede revisar los resultados. Puede exportar y enviar el cuaderno de habilitación como archivo DBC.

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 del servidor de seguridad 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 de Configuración, abra las Opciones avanzadas y seleccione la pestaña Spark en él. 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 repo 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áles son las implicaciones de seguridad del proxy del servidor Git?

Las cosas más importantes que debe saber son:

  • 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í. En la versión actual, el área de trabajo de Azure Databricks no diferencia entre los repositorios que se redirigen mediante proxy y los que no.

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

¿Funciona el proxy con el control de versiones heredado de un solo cuaderno?

No, el proxy no funciona con el control de versiones heredado de un solo cuaderno. Los usuarios deben migrar al control de versiones de carpetas de Git de 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.

¿Con qué frecuencia funcionarán los usuarios con las direcciones URL de Git?

Normalmente, un usuario simplemente agregaría la dirección URL de Git al crear un repositorio o extraería del repositorio existente que aún no ha extraído.

¿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 el repositorio. El acceso lo restringen los permisos especificados en el token de acceso personal (PAT) que proporciona el usuario.