Skip to main content

Secrets

Découvrez les secrets tels qu'ils sont utilisés dans les workflows GitHub Actions.

À propos des secrets

Les secrets vous permettent de stocker des informations sensibles dans votre organisation, votre référentiel ou votre environnement de référentiel. Les secrets sont des variables que vous créez pour les utiliser dans les flux de travail GitHub Actions d’une organisation, d’un référentiel ou d’un environnement de référentiel.

GitHub Actions peut lire un secret uniquement si vous l’incluez explicitement dans un workflow.

Secrets au niveau de l'organisation

Les secrets au niveau de l’organisation vous permettent de partager des secrets entre plusieurs référentiels, ce qui réduit la nécessité de créer des secrets en double. La mise à jour d’un secret d’organisation dans un emplacement garantit également que la modification prend effet dans tous les workflows de référentiel qui utilisent ce secret.

Lorsque vous créez un secret pour une organisation, vous pouvez utiliser une politique pour limiter l'accès par référentiel. 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 les secrets d’environnement, vous pouvez autoriser les réviseurs requis à contrôler l’accès aux secrets. Un travail de workflow ne peut pas accéder aux secrets d’environnement tant que l’approbation n’est pas accordée par les réviseurs nécessaires.

Afin de rendre un secret disponible pour une action, vous devez définir le secret en tant que variable d’entrée ou d’environnement dans votre fichier de flux de travail. Passez en revue le fichier README de l’action pour en savoir plus sur les entrées et variables d’environnement attendues par l’action. Consultez Workflow syntax for GitHub Actions.

Limitation des autorisations d’informations d’identification

Lors de la génération d’informations d’identification, nous vous recommandons d’accorder les autorisations minimales possibles. Par exemple, au lieu d’utiliser des informations d’identification personnelles, utilisez des clés de déploiement ou un compte de service. Envisagez d’accorder des autorisations en lecture seule si cela suffit et limitez l’accès autant que possible.

Lors de la génération d’un personal access token (classic), sélectionnez aussi peu d’étendues que nécessaire. Lors de la génération d’un fine-grained personal access token, sélectionnez les autorisations et l’accès au dépôt minimaux requis.

Au lieu d’utiliser un personal access token, envisagez d’utiliser une GitHub App, qui utilise des autorisations affinées et des jetons de courte durée, comme un fine-grained personal access token. Contrairement à un personal access token, une GitHub App n’est pas liée à un utilisateur ; ainsi, le workflow continue de fonctionner même si l’utilisateur qui a installé l’application quitte votre organisation. Pour plus d’informations, consultez « Effectuer des requêtes d’API authentifiées avec une application GitHub dans un workflow GitHub Actions ».

Secrets supprimés automatiquement

GitHub Actions masque automatiquement le contenu de tous les secrets GitHub imprimés dans les journaux de flux de travail.

GitHub Actions masque également les informations qui sont reconnues comme sensibles, mais qui ne sont pas stockées en tant que secret. Pour obtenir la liste des secrets automatiquement supprimés, consultez Informations de référence sur les secrets.

Remarque

Si vous souhaitez que d’autres types d’informations sensibles soient automatiquement masqués, contactez-nous via nos discussions communautaires.

En guise de bonne pratique, vous devez masquer toutes les informations sensibles qui ne sont pas des secrets GitHub en utilisant ::add-mask::VALUE. Cela entraîne le traitement de la valeur en tant que secret, qui est alors masquée dans les journaux. Pour plus d’informations sur comment masquer les données, consultez « Workflow commands for GitHub Actions ».

Vos exécuteurs de flux de travail se chargent de masquer les secrets. Cela signifie qu’un secret sera retiré uniquement s’il a été utilisé dans un projet et est accessible par l’exécuteur. Si un secret non masqué est envoyé à un journal d’exécution de flux de travail, vous devez supprimer le journal et faire pivoter le secret. Pour plus d’informations sur la suppression des journaux, consultez Using workflow run logs.

Pour aller plus loin