À propos des exécutions de workflow à partir de duplications publiques
Tout le monde peut dupliquer (fork) un dépôt public, puis envoyer une demande de tirage (pull request) qui propose des changements à apporter aux workflows GitHub Actions de ce dépôt. Bien que les workflows issus de duplications n’aient pas accès aux données sensibles comme les secrets, ils peuvent embêter les chargés de maintenance s’ils sont modifiés à des fins abusives.
Pour éviter cela, les workflows sur les demandes de tirage dans les dépôts publics de certains contributeurs extérieurs ne s’exécutent pas automatiquement et ont d’abord besoin d’être approuvés. En fonction du paramètre « Approbation de l'exécution des flux de travail de demandes d'extraction de fourche par les contributeurs », les flux de travail sur les demandes d'extraction vers les référentiels publics ne seront pas exécutés automatiquement et peuvent nécessiter une approbation si :
- La demande de tirage est créée par un utilisateur qui requiert des approbations basées sur la stratégie sélectionnée.
- L'événement de demande de tirage est déclenché par un utilisateur qui nécessite des approbations basées sur la politique sélectionnée.
Par défaut, tout nouveau contributeur nécessite une approbation pour exécuter des workflows.
Les flux de travail déclenchés par des événements pull_request_target
sont exécutés dans le contexte de la branche de base. Étant donné que la branche de base est considérée comme approuvée, les workflows déclenchés par ces événements s’exécutent toujours, quels que soient les paramètres d’approbation. Pour plus d’informations sur l’événement pull_request_target
, consultez « Événements qui déclenchent des flux de travail ».
Warning
Ces politiques d'approbation des flux de travail visent à restreindre l'ensemble des utilisateurs qui peuvent exécuter des flux de travail dans les modules d'exécution GitHub Actions, ce qui pourrait entraîner une consommation inattendue de ressources et de calculs lors de l'utilisation des modules d'exécution hébergés par GitHub. Si vous utilisez des exécuteurs auto-hébergés, le code de flux de travail contrôlé par l’utilisateur potentiellement malveillant s’exécute automatiquement si l’utilisateur est autorisé à contourner l’approbation dans la stratégie d’approbation définie ou si la demande de tirage est approuvée. Vous devez prendre en compte le risque lié à l'exécution de ce code dans votre infrastructure et vous devez examiner et suivre les recommandations de sécurité relatives aux coureurs auto-hébergés, quels que soient les paramètres d'approbation utilisés. Consultez « Durcissement de la sécurité pour GitHub Actions ».
Vous pouvez configurer des exigences d’approbation de workflow pour un dépôt, une organisation ou une entreprise.
Les exécutions de workflow qui attendent une approbation pendant plus de 30 jours sont automatiquement supprimées.
Approbation d’exécutions de workflow sur une demande de tirage à partir d’une duplication publique
Les responsables de maintenance disposant d’un accès en écriture à un dépôt peuvent utiliser la procédure suivante pour examiner et exécuter des workflows sur des demandes de tirage émanant de contributeurs qui nécessitent une approbation.
-
Sous le nom du référentiel, cliquez sur Demandes de tirage.
-
Dans la liste des demandes de tirage, cliquez sur la demande de tirage que vous voulez réviser.
-
Dans la demande de tirage, cliquez sur Fichiers modifiés.
-
Inspectez les modifications proposées dans la demande de tirage et assurez-vous que vous êtes à l’aise pour exécuter vos workflows sur la branche de la demande de tirage. Vous devez être particulièrement averti des modifications proposées dans le
.github/workflows/
répertoire qui affectent les fichiers de flux de travail. -
Si vous êtes à l’aise avec l’exécution de workflows sur la branche de demande de tirage, revenez à l’onglet Conversation, puis, sous « Workflow(s) en attente d’approbation », cliquez sur Approuver et exécuter.