Skip to main content

Configuración de Dependabot para funcionar con un acceso limitado a Internet

Dependabot se puede configurar para generar solicitudes de incorporación de cambios de actualizaciones de versión y seguridad mediante registros privados cuando GitHub Enterprise Server tenga un acceso limitado a Internet (o directamente no tenga).

Acerca de las actualizaciones de Dependabot

Puede usar Dependabot updates para corregir vulnerabilidades y mantener las dependencias actualizadas a la versión más reciente en GitHub Enterprise Server. Las Dependabot updates requieren GitHub Actions con ejecutores autohospedados configurados para que Dependabot los use. Las alertas y las actualizaciones de seguridad de Dependabot usan la información extraída de GitHub Advisory Database a la que se accede mediante GitHub Connect. Para más información, consulta Administrar ejecutores autohospedados para actualizaciones del Dependabot en su empresa y Habilitación de Dependabot para la empresa.

Dependabot puede acceder a los registros públicos de forma predeterminada, pero puedes configurar Dependabot para que acceda a los privados también. Opcionalmente, si su instancia tiene acceso limitado a Internet (o directamente no tiene), puede configurar Dependabot para que use solo registros privados como origen de las actualizaciones de seguridad y de versión. Para obtener información sobre qué ecosistemas se admiten como registros privados, consulta Removing Dependabot access to public registries.

En las instrucciones siguientes se da por hecho que debes configurar ejecutores de Dependabot con las siguientes limitaciones.

  • No hay acceso a Internet.
  • Se permite el acceso solo a recursos internos limitados, como los registros privados de Dependabot.

Restricción del acceso a Internet para ejecutores de Dependabot

Antes de configurar Dependabot, instala Docker en el ejecutor autohospedado. Para más información, consulta Administrar ejecutores autohospedados para actualizaciones del Dependabot en su empresa.

  1. En GitHub Enterprise Server, vaya al repositorio github/dependabot-action y recupere información sobre las imágenes de contenedor dependabot-updater y dependabot-proxy del archivo containers.json.

    Cada versión de GitHub Enterprise Server incluye un archivo containers.json actualizado aquí: https://HOSTNAME/github/dependabot-action/blob/ghes-VERSION/docker/containers.json. Puedes ver la versión de GitHub.com del archivo aquí: containers.json.

  2. Carga previamente todas las imágenes de contenedor del Container registry de GitHub en el ejecutor de Dependabot mediante el comando docker pull. Si quiere, cargue previamente la imagen dependabot-proxy y, a continuación, cargue previamente solo las imágenes de contenedor de los ecosistemas que necesite.

    Por ejemplo, para permitir el uso de npm y GitHub Actions, podrías usar los siguientes comandos, copiando los detalles de las imágenes que se van a cargar desde el archivo containers.json para asegurarte de que tienes la versión y el SHA correctos de cada imagen.

    docker pull ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy:VERSION@SHA
    docker pull ghcr.io/dependabot/dependabot-updater-github-actions:VERSION@SHA
    docker pull ghcr.io/dependabot/dependabot-updater-npm:VERSION@SHA
    

    Note

    Deberás repetir este paso cuando actualices a una nueva versión secundaria de GitHub Enterprise Server o si actualizas manualmente la acción de Dependabot desde GitHub.com. Para más información, consulta Sincronización manual de acciones desde GitHub.com.

  3. Cuando haya terminado de agregar estas imágenes al ejecutor, estará listo para restringir el acceso a Internet del ejecutor de Dependabot, si bien procurando que pueda seguir accediendo a sus registros privados para los ecosistemas necesarios y a GitHub Enterprise Server.

    Primero debes agregar las imágenes, porque los ejecutores de Dependabot extraen dependabot-updater y dependabot-proxy del Container registry de GitHub cuando los trabajos de Dependabot empiezan a ejecutarse.

Comprobación de la configuración de los ejecutores de Dependabot

  1. En un repositorio de prueba, configura Dependabot para que acceda a registros privados, y quita el acceso a los registros públicos. Para más información, consulta Configuración del acceso a registros privados para Dependabot y Removing Dependabot access to public registries.
  2. En la pestaña Datos del repositorio, haz clic en Gráfico de dependencias para ver los detalles de las dependencias.
  3. Haz clic en Dependabot para ver los ecosistemas configurados para las actualizaciones de versiones.
  4. Con respecto a los ecosistemas que quieras comprobar, haz clic en Comprobado por última vez hace TIEMPO para abrir la vista "Registros de actualización".
  5. Haz clic en Buscar actualizaciones para buscar las nuevas actualizaciones de las dependencias de ese ecosistema.

Cuando finalice la comprobación de actualizaciones, debe consultar la vista "Registros de actualización" y confirmar que Dependabot ha accedido a los registros privados configurados en su instancia para ver si hay actualizaciones de versiones.

Tras comprobar que la configuración es correcta, pide a los administradores del repositorio que actualicen sus configuraciones de Dependabot para que solo usen registros privados. Para más información, consulta Removing Dependabot access to public registries.