Skip to main content

Configuration de l’accès aux registres privés pour Dependabot

Vous pouvez configurer Dependabot pour accéder aux dépendances stockées dans des registres privés. Vous pouvez stocker des informations d’authentification comme des mots de passe et des jetons d’accès sous forme de secrets chiffrés, puis les référencer dans le fichier de configuration Dependabot. Vous pouvez également ajouter Dependabot à votre liste verte d’adresses IP de registres.

À propos des registres privés

Dependabot version updates maintient vos dépendances à jour. Dependabot peut accéder aux registres publics. En outre, vous pouvez accorder à Dependabot version updates l’accès aux registres de packages privés et aux dépôts GitHub privés afin que vous puissiez maintenir vos dépendances privées et internes à jour en tant que dépendances publiques.

Dans la plupart des écosystèmes, les dépendances privées sont généralement publiées dans des registres de packages privés. Ces registres privés sont similaires à leurs équivalents publics, mais ils nécessitent une authentification.

Pour des écosystèmes spécifiques, vous pouvez configurer Dependabot pour accéder uniquement aux registres privés en supprimant les appels aux registres publics. Pour plus d’informations, consultez « Suppression de l’accès Dependabot aux registres publics ».

Configuration de registres privés

Utilisez le fichier dependabot.yml pour configurer l’accès de Dependabot aux registres privés. La clé registries de niveau supérieur est facultative et spécifie les détails d’authentification. Vous pouvez autoriser l’utilisation de tous les registres définis en définissant registries sur "*".

# Allow Dependabot to use all the defined registries

version: 2
registries: "*"

Vous pouvez également lister les registres que la mise à jour peut utiliser. Pour ce faire, utilisez le nom du registre tel que défini dans la section registries de niveau supérieur du fichier dependabot.yml.

Vous utilisez les options suivantes pour spécifier les paramètres d’accès. Les paramètres de registre doivent contenir un type et une url et généralement soit une combinaison d’un username et d’un password, soit un token.

Option                Description
typeIdentifie le type de registre. Consultez la liste complète des types ci-après.
urlURL à utiliser pour accéder aux dépendances dans ce registre. Le protocole est facultatif. S’il n’est pas renseigné, la valeur https:// est supposée. Dependabot ajoute ou ignore les barres obliques de fin selon les besoins.
usernameNom d’utilisateur utilisé par Dependabot pour accéder au registre.
username correspond au nom d’utilisateur ou à l’adresse e-mail du compte.
passwordRéférence à un secret Dependabot contenant le mot de passe de l’utilisateur spécifié. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
password correspond au mot de passe du compte spécifié par le nom d’utilisateur. Si le compte est celui GitHub, vous pouvez utiliser un GitHub personal access token à la place du mot de passe.
keyRéférence à un secret Dependabot contenant une clé d’accès pour le registre. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
tokenRéférence à un secret Dependabot contenant un jeton d’accès pour le registre. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
token est utilisé pour fournir un jeton d’accès pour un système externe et ne doit pas être utilisé pour fournir un GitHub personal access token. Si vous voulez utiliser un GitHub personal access token, vous devez le fournir en tant que mot de passe.
replaces-basePour les registres, si la valeur booléenne est true, Dependabot résout les dépendances en utilisant l’URL spécifiée plutôt que l’URL de base de cet écosystème spécifique. Par exemple, pour les registres avec type: python-index, si la valeur booléenne est true, pip résout les dépendances en utilisant l’URL spécifiée plutôt que de l’URL de base de l’index de package Python (par défaut https://pypi.org/simple).

Pour plus d’informations sur les options de configuration disponibles, leur utilisation et les types pris en charge, consultez « Options de configuration pour le fichier dependabot.yml ».

Stockage des informations d’identification pour Dependabot

Pour accorder à Dependabot l’accès aux registres privés pris en charge par GitHub, stockez le jeton d’accès ou le secret du registre dans le magasin de secrets de votre dépôt ou organisation.

À propos des secrets chiffrés pour Dependabot

Les secrets Dependabot sont des informations d’identification chiffrées que vous créez au niveau de l’organisation ou du dépôt. Quand vous ajoutez un secret au niveau de l’organisation, vous pouvez spécifier les dépôts qui peuvent accéder à ce secret. Vous pouvez utiliser des secrets pour autoriser Dependabot à mettre à jour les dépendances situées dans les registres de packages privés. Quand vous ajoutez un secret, il est chiffré avant d’atteindre GitHub et reste chiffré jusqu’à ce que Dependabot l’utilise pour accéder à un registre de packages privé.

Les secrets Dependabot incluent également les secrets utilisés par les workflows GitHub Actions déclenchés par les demandes de tirage Dependabot. Dependabot peut ne pas utiliser ces secrets, mais les workflows en ont besoin. Pour plus d’informations, consultez « Automatisation de Dependabot avec GitHub Actions ».

Après avoir ajouté un secret Dependabot, vous pouvez le référencer dans le fichier de configuration dependabot.yml comme suit : ${{secrets.NAME}}, où « NAME » est le nom que vous avez choisi pour le secret. Par exemple :

password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}

Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».

Nommage de vos secrets

Le nom d’un secret Dependabot :

  • Peut contenir uniquement des caractères alphanumériques ([A-Z], [0-9]) ou des traits de soulignement (_). Les espaces ne sont pas autorisés. Si vous entrez des lettres minuscules, celles-ci sont converties en lettres majuscules.
  • Ne doit pas commencer par le préfixe GITHUB_.
  • Ne doit pas commencer par un chiffre.

Ajout d’un secret de dépôt pour Dependabot

Pour créer des secrets pour un dépôt de compte personnel, vous devez être le propriétaire du dépôt. Pour créer des secrets pour un dépôt d’organisation, vous devez disposer d’un accès admin.

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Sécurité » de la barre latérale, sélectionnez Secrets et variables, puis cliquez sur Dependabot .

  4. Cliquez sur Nouveau secret de dépôt.

  5. Tapez un nom pour votre secret dans la zone d’entrée Nom.

  6. Entrez la valeur de votre secret.

  7. Cliquez sur Ajouter un secret.

    Le nom du secret est listé dans la page des secrets Dependabot. Vous pouvez cliquer sur Mettre à jour pour changer la valeur du secret. Vous pouvez cliquer sur Supprimer pour supprimer le secret.

Ajout d’un secret d’organisation pour Dependabot

Lors de la création d’un secret dans une organisation, vous pouvez utiliser une stratégie pour limiter les dépôts qui peuvent accéder à ce secret. Par exemple, vous pouvez accorder l’accès à tous les dépôts, ou limiter l’accès aux seuls dépôts privés ou à une liste spécifiée de dépôts.

Pour créer des secrets au niveau de l’organisation, vous devez disposer d’un accès admin.

  1. Sur GitHub.com, accédez à la page principale de l’organisation.

  2. Sous le nom de votre organisation, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  3. Dans la section « Sécurité » de la barre latérale, sélectionnez Secrets et variables, puis cliquez sur Dependabot .

  4. Cliquez sur Nouveau secret d’organisation.

  5. Tapez un nom pour votre secret dans la zone d’entrée Nom.

  6. Entrez la valeur de votre secret.

  7. Dans la liste déroulante Accès au dépôt, choisissez une stratégie d’accès.

  8. Si vous avez choisi Dépôts sélectionnés :

    • Cliquez sur .
    • Dans la boîte de dialogue, sélectionnez les dépôts qui peuvent accéder à ce secret.
    • Cliquez sur Mettre à jour la sélection.
  9. Cliquez sur Ajouter un secret.

    Le nom du secret est listé dans la page des secrets Dependabot. Vous pouvez cliquer sur Mettre à jour pour changer la valeur du secret ou sa stratégie d’accès. Vous pouvez cliquer sur Supprimer pour supprimer le secret.

Configuration des règles IP du pare-feu

Vous pouvez ajouter Dependabot à votre liste verte d’adresses IP de registres.

Si votre registre privé est configuré avec une liste d’adresses IP autorisées, vous pouvez trouver les adresses IP que Dependabot utilise pour accéder au registre dans le point de terminaison d’API meta, sous la clé dependabot. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les métadonnées ».