# Utilisation de secrets dans GitHub Actions

Découvrez comment créer des secrets au niveau du référentiel, de l’environnement et de l’organisation pour GitHub Actions les flux de travail.

## Création de secrets pour un dépôt

Pour créer des secrets ou des variables sur GitHub pour un référentiel d’organisation, vous devez avoir `admin` accès. Pour un référentiel de comptes personnels, vous devez être collaborateur du référentiel.

<div class="ghd-tool webui">

1. Sur GitHub, accédez à la page principale du référentiel.
2. Sous le nom de votre référentiel, cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-gear" aria-label="gear" role="img"><path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path></svg> Paramètres**. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** , 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é.](/assets/images/help/repository/repo-actions-settings.png)
3. Dans la section « Sécurité » de la barre latérale, sélectionnez **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-key-asterisk" aria-label="key-asterisk" role="img"><path d="M0 2.75A2.75 2.75 0 0 1 2.75 0h10.5A2.75 2.75 0 0 1 16 2.75v10.5A2.75 2.75 0 0 1 13.25 16H2.75A2.75 2.75 0 0 1 0 13.25ZM2.75 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25V2.75c0-.69-.56-1.25-1.25-1.25Z"></path><path d="M8 4a.75.75 0 0 1 .75.75V6.7l1.69-.975a.75.75 0 0 1 .75 1.3L9.5 8l1.69.976a.75.75 0 0 1-.75 1.298L8.75 9.3v1.951a.75.75 0 0 1-1.5 0V9.299l-1.69.976a.75.75 0 0 1-.75-1.3L6.5 8l-1.69-.975a.75.75 0 0 1 .75-1.3l1.69.976V4.75A.75.75 0 0 1 8 4Z"></path></svg> Secrets et variables**, puis cliquez sur **Actions**.
4. Cliquez sur l’onglet **Secrets**.

![Capture d’écran de la page « Actions secrets et variables ». L’onglet « Secrets » est présenté en orange foncé.](/assets/images/help/repository/actions-secrets-tab.png)

1. Cliquez sur **Nouveau secret de dépôt**.
2. Dans le champ **Nom**, tapez un nom pour votre secret.
3. Dans le champ **Secret**, entrez la valeur pour votre secret.
4. Cliquez sur **Ajouter un secret**.

Si votre dépôt possède des secrets d’environnement ou peut accéder aux secrets de l’organisation parente, ces secrets sont également listés dans cette page.

</div>

<div class="ghd-tool cli">

Pour ajouter un secret de dépôt, utilisez la sous-commande `gh secret set`. Remplacez `secret-name` par le nom de votre secret.

```shell
gh secret set SECRET_NAME
```

L’interface CLI vous invite à entrer une valeur secrète. Vous pouvez également lire la valeur du secret à partir d’un fichier.

```shell
gh secret set SECRET_NAME < secret.txt
```

Pour répertorier tous les secrets du dépôt, utilisez la sous-commande `gh secret list`.

</div>

## Création de secrets pour un environnement

Pour créer des secrets ou des variables pour un environnement dans un dépôt d’un compte personnel, vous devez être le propriétaire du dépôt. Pour créer des secrets ou des variables pour un environnement dans un référentiel d’organisation, vous devez disposer d’un accès `admin`. Pour plus d’informations sur les environnements, consultez [Gestion des environnements pour le déploiement](/fr/enterprise-server@3.22/actions/how-tos/deploy/configure-and-manage-deployments/manage-environments).

<div class="ghd-tool webui">

1. Sur GitHub, accédez à la page principale du référentiel.
2. Sous le nom de votre référentiel, cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-gear" aria-label="gear" role="img"><path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path></svg> Paramètres**. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** , 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é.](/assets/images/help/repository/repo-actions-settings.png)
3. Dans la barre latérale gauche, cliquez sur **Environnements**.
4. Cliquez sur l’environnement auquel vous souhaitez ajouter un secret.
5. Sous **Secrets d’environnement**, cliquez sur **Ajouter un secret**.
6. Tapez un nom pour votre secret dans la zone d’entrée **Nom**.
7. Entrez la valeur de votre secret.
8. Cliquez sur **Ajouter un secret**.

</div>

<div class="ghd-tool cli">

Pour ajouter un secret pour un environnement, utilisez la sous-commande `gh secret set` avec l’indicateur `--env` ou `-e` suivi du nom de l’environnement.

```shell
gh secret set --env ENV_NAME SECRET_NAME
```

Pour répertorier tous les secrets pour un environnement, utilisez la sous-commande `gh secret list` avec l’indicateur `--env` ou `-e` suivi du nom de l’environnement.

```shell
gh secret list --env ENV_NAME
```

</div>

## Création de secrets pour une organisation

Quand vous créez un secret ou une variable dans une organisation, vous pouvez utiliser une stratégie pour limiter l’accès par dépôt. 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.

Les propriétaires et utilisateurs de l’organisation disposant des autorisations « Gérer les variables Actions de l’organisation » ou « Gérer les secrets d’actions de l’organisation » peuvent créer des secrets ou des variables au niveau de l’organisation.

Pour plus d’informations, consultez [Autorisations des rôles d’organisation personnalisés](/fr/enterprise-server@3.22/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles).

<div class="ghd-tool webui">

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

2. Sous le nom de votre organisation, cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-gear" aria-label="gear" role="img"><path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path></svg> Settings**. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** , 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é.](/assets/images/help/discussions/org-settings-global-nav-update.png)

3. Dans la section « Sécurité » de la barre latérale, sélectionnez **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-key-asterisk" aria-label="key-asterisk" role="img"><path d="M0 2.75A2.75 2.75 0 0 1 2.75 0h10.5A2.75 2.75 0 0 1 16 2.75v10.5A2.75 2.75 0 0 1 13.25 16H2.75A2.75 2.75 0 0 1 0 13.25ZM2.75 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25V2.75c0-.69-.56-1.25-1.25-1.25Z"></path><path d="M8 4a.75.75 0 0 1 .75.75V6.7l1.69-.975a.75.75 0 0 1 .75 1.3L9.5 8l1.69.976a.75.75 0 0 1-.75 1.298L8.75 9.3v1.951a.75.75 0 0 1-1.5 0V9.299l-1.69.976a.75.75 0 0 1-.75-1.3L6.5 8l-1.69-.975a.75.75 0 0 1 .75-1.3l1.69.976V4.75A.75.75 0 0 1 8 4Z"></path></svg> Secrets et variables**, puis cliquez sur **Actions**.

4. Cliquez sur l’onglet **Secrets**.

   ![Capture d’écran de la page « Secrets et variables Actions ». L’onglet « Secrets » est présenté en orange foncé.](/assets/images/help/repository/actions-secrets-tab.png)

   > \[!NOTE]
   > La page « Secrets et variables Actions » peut ne pas afficher d’onglets distincts pour les secrets et les variables en fonction de vos autorisations. Les propriétaires d’organisation et les utilisateurs disposant des autorisations « Gérer les variables Actions de l’organisation » et « Gérer les secrets Actions de l’organisation » voient les onglets **Variables** et **Secrets**. Pour plus d’informations, consultez « [Autorisations des rôles d’organisation personnalisés](/fr/enterprise-server@3.22/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles) ».

5. Cliquez sur **Nouveau secret d’organisation**.

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

7. Entrez la **valeur** de votre secret.

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

9. Cliquez sur **Ajouter un secret**.

</div>

<div class="ghd-tool cli">

> \[!NOTE]
> Par défaut, GitHub CLI s’authentifie avec les portées `repo` et `read:org`. Pour gérer les secrets de l’organisation, vous devez également autoriser l’étendue `admin:org`.
>
> ```shell
> gh auth login --scopes "admin:org"
> ```

Pour ajouter un secret pour une organisation, utilisez la sous-commande `gh secret set` avec l’indicateur `--org` ou `-o` suivi du nom de l’organisation.

```shell
gh secret set --org ORG_NAME SECRET_NAME
```

Par défaut, le secret est uniquement disponible pour les dépôts privés. Pour spécifier que le secret doit être disponible pour tous les dépôts au sein de l’organisation, utilisez l’indicateur `--visibility` ou `-v`.

```shell
gh secret set --org ORG_NAME SECRET_NAME --visibility all
```

Pour spécifier que le secret doit être disponible pour les dépôts sélectionnés au sein de l’organisation, utilisez l’indicateur `--repos` ou `-r`.

```shell
gh secret set --org ORG_NAME SECRET_NAME --repos REPO-NAME-1, REPO-NAME-2
```

Pour répertorier tous les secrets pour une organisation, utilisez la sous-commande `gh secret list` avec l’indicateur `--org` ou `-o` suivi du nom de l’organisation.

```shell
gh secret list --org ORG_NAME
```

</div>

## Examen de l’accès aux secrets au niveau de l’organisation

Vous pouvez vérifier quelles stratégies d’accès sont appliquées à un secret dans votre organisation.

1. Sur GitHub, accédez à la page principale de l’organisation.
2. Sous le nom de votre organisation, cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-gear" aria-label="gear" role="img"><path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path></svg> Settings**. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** , 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é.](/assets/images/help/discussions/org-settings-global-nav-update.png)
3. Dans la section « Sécurité » de la barre latérale, sélectionnez **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-key-asterisk" aria-label="key-asterisk" role="img"><path d="M0 2.75A2.75 2.75 0 0 1 2.75 0h10.5A2.75 2.75 0 0 1 16 2.75v10.5A2.75 2.75 0 0 1 13.25 16H2.75A2.75 2.75 0 0 1 0 13.25ZM2.75 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25V2.75c0-.69-.56-1.25-1.25-1.25Z"></path><path d="M8 4a.75.75 0 0 1 .75.75V6.7l1.69-.975a.75.75 0 0 1 .75 1.3L9.5 8l1.69.976a.75.75 0 0 1-.75 1.298L8.75 9.3v1.951a.75.75 0 0 1-1.5 0V9.299l-1.69.976a.75.75 0 0 1-.75-1.3L6.5 8l-1.69-.975a.75.75 0 0 1 .75-1.3l1.69.976V4.75A.75.75 0 0 1 8 4Z"></path></svg> Secrets et variables**, puis cliquez sur **Actions**.
4. La liste des secrets inclut toutes les autorisations et stratégies configurées. Pour plus d’informations sur les autorisations configurées pour chaque secret, cliquez sur **Mettre à jour**.

## Utilisation de secrets dans un flux de travail

> \[!NOTE]
>
> * À l’exception de `GITHUB_TOKEN`, les secrets ne sont pas transmis à l’exécuteur lorsqu’un workflow est déclenché à partir d’un référentiel dupliqué.
> * Les secrets ne sont pas transmis automatiquement aux workflows réutilisables. Pour plus d’informations, consultez « [Réutiliser des workflows](/fr/enterprise-server@3.22/actions/how-tos/reuse-automations/reuse-workflows#passing-inputs-and-secrets-to-a-reusable-workflow) ».
> * Les secrets ne sont pas disponibles pour les flux de travail déclenchés par des événements Dependabot. Pour plus d’informations, consultez « [Résolution des problèmes de Dependabot sur GitHub Actions](/fr/enterprise-server@3.22/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-on-actions#accessing-secrets) ».
> * Si vos GitHub Actions flux de travail doivent accéder aux ressources d’un fournisseur de cloud prenant en charge OpenID Connect (OIDC), vous pouvez configurer vos flux de travail pour s’authentifier directement auprès du fournisseur de cloud. Cela vous permet d’arrêter de stocker ces informations d’identification en tant que secrets de longue durée, et de fournir d’autres avantages en matière de sécurité. Pour plus d’informations, consultez « [OpenID Connect](/fr/enterprise-server@3.22/actions/concepts/security/openid-connect) ».

> \[!WARNING] Masquez toutes les informations sensibles qui ne sont pas un GitHub secret à l’aide de `::add-mask::VALUE`. Cela implique que la valeur est traitée comme un secret et retirée des journaux d’activité.

Pour fournir une action avec un secret en tant que variable d’entrée ou d’environnement, vous pouvez utiliser le contexte `secrets` pour accéder aux secrets que vous avez créés dans votre dépôt. Pour plus d’informations, consultez « [Référence des contextes](/fr/enterprise-server@3.22/actions/reference/workflows-and-actions/contexts) » et « [Syntaxe de flux de travail pour GitHub Actions](/fr/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax) ».

```yaml
steps:
  - name: Hello world action
    with: # Set the secret as an input
      super_secret: ${{ secrets.SuperSecret }}
    env: # Or as an environment variable
      super_secret: ${{ secrets.SuperSecret }}
```

Les secrets ne peuvent pas être directement référencés dans les conditions `if:`. Au lieu de cela, envisagez de définir des secrets en tant que variables d’environnement au niveau du travail, puis de référencer les variables d’environnement pour exécuter des étapes de manière conditionnelle dans le travail. Pour plus d’informations, consultez « [Référence des contextes](/fr/enterprise-server@3.22/actions/reference/workflows-and-actions/contexts#context-availability) » et [`jobs.<job_id>.steps[*].if`](/fr/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstepsif).

Si aucun secret n’a été défini, la valeur de retour d’une expression référençant le secret (par `${{ secrets.SuperSecret }}` exemple) est une chaîne vide.

Évitez de passer des secrets entre les processus de la ligne de commande, dans la mesure du possible. Les processus de ligne de commande peuvent être visibles par d’autres utilisateurs (à l’aide de la commande `ps`) ou capturés par des [événements d’audit de sécurité](https://docs.microsoft.com/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing). Pour protéger les secrets, envisagez d’utiliser des variables d’environnement, `STDIN` ou d’autres mécanismes pris en charge par le processus cible.

Si vous devez passer des secrets dans une ligne de commande, placez-les entre guillemets conformément aux règles appropriées. Les secrets contiennent souvent des caractères spéciaux susceptibles d’affecter involontairement votre environnement. Pour placer ces caractères spéciaux dans une séquence d’échappement, utilisez des guillemets avec vos variables d’environnement. Par exemple :

### Exemple d’utilisation de Bash

```yaml
steps:
  - shell: bash
    env:
      SUPER_SECRET: ${{ secrets.SuperSecret }}
    run: |
      example-command "$SUPER_SECRET"
```

### Exemple d’utilisation de PowerShell

```yaml
steps:
  - shell: pwsh
    env:
      SUPER_SECRET: ${{ secrets.SuperSecret }}
    run: |
      example-command "$env:SUPER_SECRET"
```

### Exemple d’utilisation de Cmd.exe

```yaml
steps:
  - shell: cmd
    env:
      SUPER_SECRET: ${{ secrets.SuperSecret }}
    run: |
      example-command "%SUPER_SECRET%"
```

## Stockage de secrets volumineux

Pour utiliser des secrets dont la taille est supérieure à 48 Ko, vous pouvez utiliser une solution de contournement pour stocker des secrets dans votre référentiel et enregistrer la phrase secrète de déchiffrement sous la forme d’un secret sur GitHub. Par exemple, vous pouvez utiliser `gpg` pour chiffrer un fichier contenant votre secret localement avant de vérifier le fichier chiffré dans votre référentiel sur GitHub. Pour plus d’informations, consultez « [gpg manpage](https://www.gnupg.org/gph/de/manual/r1023.html) ».

> \[!WARNING]
> Assurez-vous que vos secrets ne sont pas imprimés lorsque votre flux de travail s'exécute. Lorsque vous utilisez cette solution de contournement, GitHub ne masque pas les secrets affichés dans les journaux.

1. Exécutez la commande suivante à partir de votre terminal pour chiffrer le fichier contenant votre secret avec `gpg` et l’algorithme de chiffrement AES256. Dans cet exemple, `my_secret.json` est le fichier contenant le secret.

   ```shell
   gpg --symmetric --cipher-algo AES256 my_secret.json
   ```

2. Vous serez invité à entrer une phrase secrète. N’oubliez pas la phrase secrète, car vous devrez créer un nouveau secret sur <c0> en utilisant la phrase secrète comme valeur.

3. Générez un nouveau secret qui contient la phrase de passe. Par exemple, créez un secret avec le nom `LARGE_SECRET_PASSPHRASE` et définissez la valeur du secret sur la phrase secrète utilisée à l’étape ci-dessus.

4. Copiez votre fichier chiffré sur un chemin d’accès dans votre référentiel et validez-le. Dans cet exemple, le fichier chiffré est `my_secret.json.gpg`.

   > \[!WARNING]
   > Veillez à copier le fichier chiffré `my_secret.json.gpg` se terminant par l’extension de fichier `.gpg` et \*\*non \*\* le fichier non chiffré `my_secret.json`.

   ```shell
   git add my_secret.json.gpg
   git commit -m "Add new secret JSON file"
   ```

5. Créez un script d’interpréteur de commandes dans votre référentiel pour déchiffrer le fichier secret. Dans cet exemple, le script est nommé `decrypt_secret.sh`.

   ```shell copy
   #!/bin/sh

   # Decrypt the file
   mkdir $HOME/secrets
   # --batch to prevent interactive command
   # --yes to assume "yes" for questions
   gpg --quiet --batch --yes --decrypt --passphrase="$LARGE_SECRET_PASSPHRASE" \
   --output $HOME/secrets/my_secret.json my_secret.json.gpg
   ```

6. Vérifiez que votre script shell est exécutable avant de l’archiver dans votre dépôt.

   ```shell
   chmod +x decrypt_secret.sh
   git add decrypt_secret.sh
   git commit -m "Add new decryption script"
   git push
   ```

7. Dans votre GitHub Actions flux de travail, utilisez `step` pour appeler le script shell et déchiffrer le secret. Pour avoir une copie de votre dépôt dans l’environnement dans lequel votre workflow s’exécute, vous devez utiliser l’action [`actions/checkout`](https://github.com/actions/checkout). Référencez votre script shell à l’aide de la commande `run` relative à la racine de votre dépôt.

   ```yaml
   name: Workflows with large secrets

   on: push

   jobs:
     my-job:
       name: My Job
       runs-on: ubuntu-latest
       steps:
         - uses: actions/checkout@v6
         - name: Decrypt large secret
           run: ./decrypt_secret.sh
           env:
             LARGE_SECRET_PASSPHRASE: ${{ secrets.LARGE_SECRET_PASSPHRASE }}
         # This command is just an example to show your secret being printed
         # Ensure you remove any print statements of your secrets. GitHub does
         # not hide secrets that use this workaround.
         - name: Test printing your secret (Remove this step in production)
           run: cat $HOME/secrets/my_secret.json
   ```

## Stockage de blobs binaires Base64 comme secrets

Vous pouvez utiliser l’encodage Base64 pour stocker de petits objets blob binaires en tant que secrets. Vous pouvez ensuite utiliser le secret dans votre workflow et le décoder pour une utilisation sur le runner. Pour connaître les limites de taille, consultez « [Informations de référence sur les secrets](/fr/enterprise-server@3.22/actions/reference/security/secrets#limits-for-secrets) ».

> \[!NOTE]
>
> * Notez que Base64 convertit uniquement le binaire en texte et n’est pas un substitut pour le chiffrement réel.
> * Utiliser un autre environnement de commande pourrait nécessiter des commandes différentes pour décoder le secret dans un fichier. Sur les exécuteurs Windows, nous vous recommandons d’[utiliser un interpréteur de commandes bash](/fr/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstepsshell) avec `shell: bash` pour utiliser les commandes de l’étape `run` ci-dessus.

1. Utilisez `base64` pour encoder votre fichier en une chaîne Base64. Par exemple :

   Sur macOS, vous pouvez exécuter :

   ```shell
   base64 -i cert.der -o cert.base64
   ```

   Sur Linux, vous pouvez exécuter :

   ```shell
   base64 -w 0 cert.der > cert.base64
   ```

2. Créez un secret qui contient la chaîne Base64. Par exemple :

   ```shell
   $ gh secret set CERTIFICATE_BASE64 < cert.base64
   ✓ Set secret CERTIFICATE_BASE64 for octocat/octorepo
   ```

3. Pour accéder à la chaîne Base64 à partir de votre exécuteur, dirigez le secret vers `base64 --decode`. Par exemple :

   ```yaml
   name: Retrieve Base64 secret
   on:
     push:
       branches: [ octo-branch ]
   jobs:
     decode-secret:
       runs-on: ubuntu-latest
       steps:
         - uses: actions/checkout@v6
         - name: Retrieve the secret and decode it to a file
           env:
             CERTIFICATE_BASE64: ${{ secrets.CERTIFICATE_BASE64 }}
           run: |
             echo $CERTIFICATE_BASE64 | base64 --decode > cert.der
         - name: Show certificate information
           run: |
             openssl x509 -in cert.der -inform DER -text -noout
   ```

## Étapes suivantes

Pour obtenir des informations de référence, consultez [Informations de référence sur les secrets](/fr/enterprise-server@3.22/actions/reference/security/secrets).