# Utiliser GITHUB\_TOKEN pour l’authentification dans les flux de travail

Apprenez à utiliser le GITHUB_TOKEN pour vous authentifier au nom de GitHub Actions.

Ce didacticiel vous explique comment utiliser le `GITHUB_TOKEN` pour l'authentification dans les workflows GitHub Actions, avec des exemples pour transmettre le jeton aux actions, effectuer des requêtes API et configurer les autorisations pour une 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.20/actions/reference/workflow-syntax-for-github-actions#permissions).

## Utilisation de `GITHUB_TOKEN` dans un workflow

Vous pouvez utiliser le `GITHUB_TOKEN` avec la syntaxe standard pour référencer les secrets : `${{ secrets.GITHUB_TOKEN }}`. Les exemples d'utilisation de `GITHUB_TOKEN` incluent le passage du jeton en tant qu'entrée d'une action ou son utilisation pour effectuer une requête API GitHub authentifiée.

> \[!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.20/actions/reference/workflow-syntax-for-github-actions#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.20/actions/using-workflows/using-github-cli-in-workflows), 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 workflow crée un problème à l’aide de l’API REST GitHub :

```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.20/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#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 non disponibles dans `GITHUB_TOKEN`, créez une GitHub App et générer un jeton d’accès d’installation dans votre workflow. 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.20/apps/creating-github-apps/guides/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow) ». Vous pouvez également créer un personal access token, le stocker en tant que secret dans votre référentiel et utiliser le jeton dans votre workflow avec la syntaxe `${{ secrets.SECRET_NAME }}`. Pour plus d’informations, consultez « [Gestion de vos jetons d’accès personnels](/fr/enterprise-server@3.20/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) » et « [Utilisation de secrets dans GitHub Actions](/fr/enterprise-server@3.20/actions/security-guides/using-secrets-in-github-actions) ».

## Étapes suivantes

* ```
          [AUTOTITLE](/actions/concepts/security/github_token)
  ```
* ```
          [AUTOTITLE](/actions/reference/workflow-syntax-for-github-actions#permissions)
  ```