Remarque
Les protections d’exécution des flux de travail sont en préversion publique et sont susceptibles d’être modifiées.
À propos des protections d’exécution de flux de travail
Les protections d’exécution des workflows vous permettent de définir une liste d’autorisation qui contrôle qui peut déclencher les workflows GitHub Actions et quels événements sont autorisés à les déclencher. Auparavant, un flux de travail s’exécutait en fonction du fichier de flux de travail dans la validation qui l’a déclenchée, et un attaquant disposant d’un accès au référentiel pouvait modifier ce fichier pour exécuter du code malveillant. Les protections d’exécution de flux de travail permettent de combler cet écart. Les administrateurs définissent les règles et GitHub Actions les évaluent avant l’exécution d’un flux de travail, de sorte qu’un acteur ou un événement non autorisé n’atteint jamais l’exécution.
Les protections d’exécution de flux de travail sont disponibles au niveau de l’entreprise, de l’organisation et du référentiel.
Soutenus par des ensembles de règles
Les protections d’exécution de flux de travail sont basées sur l’infrastructure GitHub d’ensembles de règles. Par conséquent, le ciblage que vous connaissez déjà des ensembles de règles fonctionne également ici. Vous pouvez appliquer des protections avec des ensembles de règles et les étendre à des référentiels spécifiques à l’aide de propriétés personnalisées du référentiel. Cela signifie que vous pouvez appliquer des protections étendues à partir d’un emplacement plutôt que de configurer chaque fichier de flux de travail individuellement. Pour plus d’informations sur les ensembles de règles, consultez À propos des ensembles de règles.
Vous pouvez également utiliser le mode d’évaluation pour exécuter vos règles sans les appliquer. Le mode Évaluer vous montre exactement ce qu’une règle bloquerait avant de l’appliquer. Vous pouvez donc déployer des stratégies sans interrompre les flux de travail existants.
Règles disponibles
L’événement et l’acteur sont les deux premières règles et GitHub prévoit d’ajouter d’autres règles au fil du temps.
- Les règles d’acteur contrôlent qui peut déclencher des flux de travail, notamment des utilisateurs individuels, des rôles de référentiel tels que Lecture, Maintenance et Administrateur, GitHub AppsCopilotet Dependabot.
- Les règles d’événement contrôlent les événements autorisés, tels que
push, ,pull_request``pull_request_target, etworkflow_dispatch.
Par défaut, chaque utilisateur disposant d’un accès en écriture à un référentiel peut déclencher des flux de travail. Les règles d’acteur vous permettent de séparer les personnes qui contribuent au code des personnes qui exécutent votre ci, afin de pouvoir accorder un accès en écriture contributeur sans leur accorder la possibilité d’exécuter des flux de travail.
Arrêter les techniques courantes de l’attaquant
Les protections d’exécution de flux de travail perturbent plusieurs modèles d’attaque réels :
- Exécution empoisonnée d’un pipeline provenant de pull requests. Restreindre ou interdire
pull_request_target, y compris dans les référentiels publics où il est le plus souvent exploité. - Abus de déclencheur manuel. Limitez
workflow_dispatchaux responsables de la maintenance afin que les identités non fiables ne puissent pas déclencher des flux de travail. - Exécution d’acteur non approuvé. Empêchez les identités à faible niveau de fiabilité de déclencher entièrement des flux de travail.
- Mauvaise configuration de l’exploitation. Appliquez une stratégie centrale qui remplace tout fichier de flux de travail mal configuré.
Configuration des protections d’exécution de flux de travail
Vous configurez des protections d’exécution de flux de travail dans la nouvelle section Stratégies de vos GitHub Actions paramètres. Cette section Stratégies est distincte de vos paramètres généraux existants.
-
Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis sur Vos organisations.
-
Sélectionnez une organisation en cliquant dessus.
-
Sous le nom de votre organisation, cliquez sur Settings. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Dans la barre latérale gauche, sous Actions, cliquez sur Stratégies.
-
Créez un ensemble de règles, puis ajoutez vos règles d’événement et d’acteur.
-
Choisissez si le jeu de règles est actif ou en mode Évaluation, puis enregistrez vos modifications.