Skip to main content

Configuration de Dependabot pour fonctionner avec un accès Internet limité

Vous pouvez configurer Dependabot afin de générer des demandes de tirage pour les mises à jour de version et de sécurité à l’aide de registres privés lorsque votre instance GitHub Enterprise Server dispose d’un accès Internet limité ou inexistant.

À propos des mises à jour Dependabot

Vous pouvez utiliser les Dependabot updates pour corriger les vulnérabilités et garder les dépendances à jour avec la dernière version dans votre instance GitHub Enterprise Server. Les Dependabot updates nécessitent GitHub Actions avec des exécuteurs auto-hébergés configurés pour utiliser Dependabot. Les alertes Dependabot et les mises à jour de sécurité utilisent les informations de la GitHub Advisory Database accessible à l’aide de GitHub Connect. Pour plus d’informations, consultez « Gestion des exécuteurs auto-hébergés pour les mises à jour Dependabot dans votre entreprise » et « Activation de Dependabot pour votre entreprise ».

Dependabot peut accéder aux registres publics par défaut, et vous pouvez configurer Dependabot pour accéder également aux registres privés. Si votre instance GitHub Enterprise Server a un accès Internet limité ou inexistant, vous pouvez sinon configurer Dependabot pour utiliser uniquement des registres privés comme source pour les mises à jour de sécurité et de version. Pour plus d’informations sur les écosystèmes pris en charge en tant que registres privés, consultez « Suppression de l’accès Dependabot aux registres publics ».

Les instructions ci-dessous supposent que vous devez configurer les exécuteurs Dependabot avec les limitations suivantes.

  • Aucun accès Internet.
  • Accès à des ressources internes limitées, telles que les registres privés pour Dependabot.

Restriction de l’accès à Internet pour les exécuteurs Dependabot

Avant de configurer Dependabot, installez Docker sur votre exécuteur auto-hébergé. Pour plus d’informations, consultez « Gestion des exécuteurs auto-hébergés pour les mises à jour Dependabot dans votre entreprise ».

  1. Dans votre instance GitHub Enterprise Server, accédez au dépôt github/dependabot-action et récupérez les informations sur les images conteneur dependabot-updater et dependabot-proxy dans le fichier containers.json.

    Chaque version de GitHub Enterprise Server comprend un fichier containers.json mis à jour sur : https://HOSTNAME/github/dependabot-action/blob/ghes-VERSION/docker/containers.json. Vous pouvez voir la version GitHub.com du fichier sur : containers.json.

  2. Préchargez toutes les images conteneur du Container registry GitHub dans l’exécuteur Dependabot en utilisant la commande docker pull. Vous pouvez également précharger l’image dependabot-proxy, puis précharger uniquement les images conteneur pour les écosystèmes dont vous avez besoin.

    Par exemple, pour prendre en charge npm et GitHub Actions, vous pouvez utiliser les commandes suivantes, en copiant les détails des images à charger à partir du fichier containers.json afin de veiller à avoir la version et le SHA appropriés pour chaque image.

    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
    

    Remarque : Vous devez répéter cette étape lorsque vous effectuez une mise à niveau vers une nouvelle version mineure de GitHub Enterprise Server, ou si vous mettez à jour manuellement l’action Dependabot à partir de GitHub.com. Pour plus d’informations, consultez « Synchronisation manuelle des actions à partir de GitHub.com ».

  3. Une fois que vous avez fini d’ajouter ces images dans l’exécuteur, vous êtes prêt à restreindre l’accès Internet à l’exécuteur Dependabot, en veillant à ce qu’il puisse toujours accéder à vos registres privés pour les écosystèmes requis et pour votre instance GitHub Enterprise Server.

    Vous devez d’abord ajouter les images, car les exécuteurs Dependabot tirent dependabot-updater et dependabot-proxy du Container registry GitHub lorsque les travaux Dependabot commencent à s’exécuter.

Vérification de la configuration des exécuteurs Dependabot

  1. En guise de dépôt test, configurez Dependabot pour accéder aux registres privés et supprimer l’accès aux registres publics. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot » et « Suppression de l’accès Dependabot aux registres publics ».
  2. Sous l’onglet Insights du dépôt, cliquez sur Graphe des dépendances pour afficher les détails des dépendances.
  3. Cliquez sur Dependabot afin d’afficher les écosystèmes configurés pour les mises à jour de version.
  4. Pour les écosystèmes que vous souhaitez tester, cliquez sur Dernière recherche il y a HEURE pour afficher la vue « Journaux de mise à jour ».
  5. Cliquez sur Rechercher les mises à jour pour vérifier s’il y a de nouvelles mises à jour des dépendances pour cet écosystème.

Une fois que la recherche de mises à jour est terminée, vous devez regarder dans la vue « Journaux de mise à jour » pour vérifier que Dependabot a accédé aux registres privés configurés sur votre instance GitHub Enterprise Server afin d’y rechercher les mises à jour de version.

Une fois que vous avez vérifié que la configuration est correcte, demandez aux administrateurs de dépôt de mettre à jour leurs configurations Dependabot pour utiliser uniquement des registres privés. Pour plus d’informations, consultez « Suppression de l’accès Dependabot aux registres publics ».