{"meta":{"title":"Résolution des problèmes de Dependabot sur GitHub Actions","intro":"Cet article fournit des informations sur la résolution des problèmes que vous pouvez rencontrer lors de l’utilisation Dependabot de GitHub Actions.","product":"Sécurité et qualité du code","breadcrumbs":[{"href":"/fr/code-security","title":"Sécurité et qualité du code"},{"href":"/fr/code-security/reference","title":"Reference"},{"href":"/fr/code-security/reference/supply-chain-security","title":"Sécurité de la chaîne d’approvisionnement"},{"href":"/fr/code-security/reference/supply-chain-security/troubleshoot-dependabot","title":"Résoudre les problèmes de Dependabot"},{"href":"/fr/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-on-actions","title":"Dependabot sur GitHub Actions"}],"documentType":"article"},"body":"# Résolution des problèmes de Dependabot sur GitHub Actions\n\nCet article fournit des informations sur la résolution des problèmes que vous pouvez rencontrer lors de l’utilisation Dependabot de GitHub Actions.\n\n## Résolution des échecs lorsque Dependabot déclenche des flux de travail existants\n\nAprès avoir configuré les mises à jour Dependabot pour GitHub.com, des échecs peuvent se produire lorsque les flux de travail existants sont déclenchés par des événements Dependabot.\n\nPar défaut, les exécutions de workflow GitHub Actions déclenchées par Dependabot à partir d’événements `push`, `pull_request`, `pull_request_review` ou `pull_request_review_comment` sont traitées comme si elles provenaient d’un fork de dépôt. Contrairement aux workflows déclenchés par d’autres acteurs, cela signifie qu’ils reçoivent un `GITHUB_TOKEN` en lecture seule et qu’ils n’ont pas accès aux secrets qui sont normalement disponibles. Cela entraîne l’échec des flux de travail qui tentent d’écrire dans le référentiel lorsqu’ils sont déclenchés par Dependabot.\n\nIl existe trois façons de résoudre ce problème :\n\n1. Vous pouvez mettre à jour vos flux de travail afin qu’ils ne soient plus déclenchés Dependabot à l’aide d’une expression comme : `if: github.actor != 'dependabot[bot]'`. Pour plus d’informations, consultez « [Évaluer des expressions dans les workflows et les actions.](/fr/actions/reference/workflows-and-actions/expressions) ».\n2. Vous pouvez modifier vos workflows de sorte qu’ils utilisent un processus en deux étapes qui comprend `pull_request_target` qui ne présente pas ces limites. Pour plus d’informations, consultez « [Résolution des problèmes de Dependabot sur GitHub Actions](/fr/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-on-actions) ».\n3. Vous pouvez définir des workflows déclenchés par l’accès à des secrets Dependabot et permettre au paramètre `permissions` d’étendre la portée par défaut du `GITHUB_TOKEN`.\n\nCet article fournit quelques conseils de résolution des problèmes. Vous pouvez également consulter la section [Syntaxe de flux de travail pour GitHub Actions](/fr/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idpermissions).\n\n### Accès aux secrets\n\nLorsqu’un événement Dependabot déclenche un flux de travail, les seuls secrets auxquels le flux de travail a accès sont les secrets Dependabot.\nGitHub Actions les secrets **ne sont pas disponibles**. Vous devez donc stocker tous les secrets utilisés par un flux de travail déclenché par des événements Dependabot comme secrets Dependabot. Pour plus d’informations, consultez « [Configuration de l’accès aux registres privés pour Dependabot](/fr/code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/configure-access-to-private-registries#storing-credentials-for-dependabot-to-use) ».\n\nDependabot les secrets sont ajoutés au contexte `secrets` et référencés en utilisant exactement la même syntaxe que les secrets de GitHub Actions. Pour plus d’informations, consultez « [Utilisation de secrets dans GitHub Actions](/fr/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets#using-secrets-in-a-workflow) ».\n\nSi vous disposez d’un flux de travail qui sera déclenché par Dependabot ainsi que par d’autres acteurs, la solution la plus simple consiste à stocker le jeton avec les autorisations requises dans une action et dans un secret Dependabot portant des noms identiques. Ensuite, le workflow peut inclure un seul appel à ces secrets. Si le secret de Dependabot porte un nom différent, utilisez des conditions pour spécifier les secrets corrects à utiliser pour différents acteurs.\n\nPour des exemples qui utilisent des conditions, veuillez consulter la section [Automatisation de Dependabot avec GitHub Actions](/fr/code-security/tutorials/secure-your-dependencies/automate-dependabot-with-actions).\n\nPour accéder à un registre de conteneurs privé sur AWS avec un nom d’utilisateur et un mot de passe, un workflow doit inclure un secret pour `username` et `password`.\n\nDans cet exemple, lorsque Dependabot déclenche le flux de travail, les secrets Dependabot portant les noms `READONLY_AWS_ACCESS_KEY_ID` et `READONLY_AWS_ACCESS_KEY` sont utilisés. Si un autre acteur déclenche le workflow, les secrets d’actions portant ces noms sont utilisés.\n\n```yaml copy\n# Ce workflow utilise des actions qui ne sont pas certifiées par GitHub.\n# Elles sont fournies par un tiers et régies par\n# des conditions d’utilisation du service, une politique de confidentialité et un support distincts.\n# documentation en ligne.\nname: CI\non:\n  pull_request:\n    branches: [ main ]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v6\n\n      - name: Login to private container registry for dependencies\n        uses: docker/login-action@3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c\n        with:\n          registry: https://1234567890.dkr.ecr.us-east-1.amazonaws.com\n          username: ${{ secrets.READONLY_AWS_ACCESS_KEY_ID }}\n          password: ${{ secrets.READONLY_AWS_ACCESS_KEY }}\n\n      - name: Build the Docker image\n        run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)\n```\n\n### Changement des autorisations `GITHUB_TOKEN`\n\nPar défaut, les workflows GitHub Actions déclenchés par Dependabot reçoivent un `GITHUB_TOKEN` avec des autorisations en lecture seule. Vous pouvez utiliser la clé `permissions` dans votre workflow afin d’augmenter l’accès pour le jeton :\n\n```yaml copy\nname: CI\non: pull_request\n\n# Set the access for individual scopes, or use permissions: write-all\npermissions:\n  pull-requests: write\n  issues: write\n  ...\n\njobs:\n  ...\n```\n\nPour plus d’informations, consultez « [Utiliser GITHUB\\_TOKEN pour l’authentification dans les flux de travail](/fr/actions/tutorials/authenticate-with-github_token#modifying-the-permissions-for-the-github_token) ».\n\n## Réexécution manuelle d’un workflow\n\nLorsque vous réexécutez manuellement un Dependabot flux de travail, il s’exécute avec les mêmes privilèges qu’avant même si l’utilisateur qui a lancé la réexécution a des privilèges différents. Pour plus d’informations, consultez « [Ré-exécution de workflows et de tâches](/fr/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs) »."}