# Utiliser GITHUB_TOKEN pour l’authentification dans les flux de travail

Découvrez comment utiliser l’authentification GITHUB_TOKEN pour le compte de GitHub Actions.

Ce tutoriel vous guide tout au long de l’utilisation de l’authentification `GITHUB_TOKEN` dans GitHub Actions les flux de travail, notamment des exemples de passage du jeton à des actions, d’exécution de demandes d’API et de configuration des autorisations pour l’automatisation sécurisée.

Pour obtenir des informations de référence, consultez [Syntaxe de flux de travail pour GitHub Actions](/fr/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax#permissions).

## Utilisation de `GITHUB_TOKEN` dans un workflow

Vous pouvez utiliser `GITHUB_TOKEN` en utilisant la syntaxe standard pour référencer les secrets : `${{ secrets.GITHUB_TOKEN }}`. Par exemple, parmi les utilisations du `GITHUB_TOKEN`, on peut citer le passage du jeton comme entrée d’une action, ou son utilisation pour effectuer une requête API authentifiée GitHub.

> \[!IMPORTANT]
> Une action peut accéder au `GITHUB_TOKEN` via le contexte `github.token` même si le workflow ne passe pas explicitement le `GITHUB_TOKEN` à l’action. En tant que bonne pratique de sécurité, vous devez toujours vous assurer que les actions ont uniquement l’accès minimal requis en limitant les autorisations accordées au `GITHUB_TOKEN`. Pour plus d’informations, consultez « [Syntaxe de flux de travail pour GitHub Actions](/fr/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax#permissions) ».

### Exemple 1 : passage du `GITHUB_TOKEN` en tant qu’entrée

Cet exemple de flux de travail utilise le[CLI GitHub](/fr/enterprise-server@3.22/actions/how-tos/write-workflows/choose-what-workflows-do/use-github-cli), qui nécessite `GITHUB_TOKEN` en tant que valeur du paramètre d’entrée de `GH_TOKEN` :

```yaml copy
name: Open new issue
on: workflow_dispatch

jobs:
  open-issue:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      issues: write
    steps:
      - run: |
          gh issue --repo ${{ github.repository }} \
            create --title "Issue title" --body "Issue body"
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```

### Exemple 2 : appel de l’API REST

Vous pouvez utiliser le `GITHUB_TOKEN` pour effectuer des appels d’API authentifiés. Cet exemple de flux de travail crée un problème à l’aide de l’API GitHub REST :

```yaml
name: Create issue on commit

on: [ push ]

jobs:
  create_issue:
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
      - name: Create issue using REST API
        run: |
          curl --request POST \
          --url http(s)://HOSTNAME/api/v3/repos/${{ github.repository }}/issues \
          --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
          --header 'content-type: application/json' \
          --data '{
            "title": "Automated issue for commit: ${{ github.sha }}",
            "body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
            }' \
          --fail
```

## Modification des autorisations pour `GITHUB_TOKEN`

Utilisez la clé `permissions` dans votre fichier de workflow pour modifier les autorisations du `GITHUB_TOKEN` pour un workflow entier ou pour des travaux individuels. Cela vous permet de configurer les autorisations minimales requises pour un workflow ou un travail. En guise de bonne pratique de sécurité, vous devez accorder à `GITHUB_TOKEN` le moins d’accès requis.

Pour consulter la liste des autorisations disponibles et leurs noms paramétrés, consultez [Gestion de vos jetons d’accès personnels](/fr/enterprise-server@3.22/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#account-permissions).

Les deux exemples de workflows plus haut dans cet article montrent la clé `permissions` utilisée au niveau du travail.

## Octroi d’autorisations supplémentaires

Si vous avez besoin d’un jeton qui nécessite des autorisations qui ne sont pas disponibles dans le `GITHUB_TOKEN`, créez un GitHub App jeton d’accès d’installation et générez un jeton d’accès d’installation dans votre flux de travail. Pour plus d’informations, consultez « [Effectuer des requêtes d’API authentifiées avec une application GitHub dans un flux de travail GitHub Actions](/fr/enterprise-server@3.22/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow) ». Sinon, vous pouvez créer un personal access token, le stocker comme secret dans votre dépôt et utiliser le jeton dans votre flux de travail en utilisant la syntaxe `${{ secrets.SECRET_NAME }}`. Pour plus d’informations, consultez « [Gestion de vos jetons d’accès personnels](/fr/enterprise-server@3.22/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) » et « [Utilisation de secrets dans GitHub Actions](/fr/enterprise-server@3.22/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets) ».

## Étapes suivantes

* [GITHUB\_TOKEN](/fr/enterprise-server@3.22/actions/concepts/security/github_token)
* [Syntaxe de flux de travail pour GitHub Actions](/fr/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax#permissions)