À propos des autorisations GitHub Actions de votre organisation
Par défaut, GitHub Actions est activé pour tous les référentiels et toutes les organisations. Vous pouvez choisir de désactiver GitHub Actions ou de le limiter aux actions et aux workflows réutilisables dans votre entreprise. Pour plus d’informations sur GitHub Actions, consultez « Découvrir GitHub Actions ».
Vous pouvez activer GitHub Actions pour tous les référentiels de votre organisation. Quand vous activez GitHub Actions, des wokflows peuvent exécuter des actions et des workflows réutilisables situés dans votre référentiel et tout autre référentiel public ou interne. Vous pouvez désactiver GitHub Actions pour tous les référentiels de votre organisation. Quand vous désactivez GitHub Actions, aucun workflow ne s’exécute dans votre dépôt.
Vous pouvez également activer GitHub Actions pour tous les référentiels de votre organisation, mais limiter les actions et les workflows réutilisables qu’un workflow peut exécuter.
Gestion des autorisations GitHub Actions de votre organisation
Vous pouvez choisir de désactiver GitHub Actions pour tous les référentiels de votre organisation, ou de n’autoriser que certains référentiels. Vous pouvez également limiter l’utilisation des actions publiques et des workflows réutilisables afin que les utilisateurs ne puissent utiliser que les actions locales et les workflows réutilisables disponibles dans votre entreprise.
Remarque : vous ne pourrez peut-être pas gérer ces paramètres si votre organisation est gérée par une entreprise qui dispose d’une stratégie de remplacement. Pour plus d’informations, consultez « Application de stratégies pour GitHub Actions dans votre entreprise ».
-
Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos organisations.
2. En regard de l’organisation, cliquez sur Paramètres. 1. Dans la barre latérale gauche, cliquez sur Actions, puis sur Général. -
Sous « Stratégies », sélectionnez une option.
Si vous choisissez Autoriser les actions d’entreprise, les autres actions sélectionnées et les workflows réutilisables, les actions et les workflows réutilisables au sein de votre entreprise sont autorisé(e)s, et il existe d’autres options pour autoriser d’autres actions spécifiques et workflows réutilisables. Pour plus d’informations, consultez « Autorisation de l’exécution des actions sélectionnées et des workflows réutilisables ».
Quand vous autorisez des actions et des workflows réutilisables uniquement dans votre entreprise, la stratégie bloque tout accès aux actions créées par GitHub. Par exemple, l’action
actions/checkout
n’est pas accessible. -
Cliquez sur Enregistrer.
Autorisation de l’exécution des actions sélectionnées et des workflows réutilisables
Si vous choisissez Autoriser les actions d’entreprise, les autres actions sélectionnées et les workflows réutilisables, les actions locales et les workflows réutilisables sont autorisés. Il existe d’autres options pour autoriser d’autres actions spécifiques et workflows réutilisables :
-
Autoriser les actions créées par GitHub : vous pouvez autoriser l’utilisation de toutes les actions créées par GitHub par les workflows. Les actions créées par GitHub se trouvent dans les organisations
actions
etgithub
. Pour plus d’informations, consultez les organisationsactions
etgithub
. -
Autoriser les actions de la Place de marché par les créateurs vérifiés : Vous pouvez autoriser toutes les actions GitHub Marketplace créées par les créateurs vérifiés à utiliser par les workflows. Lorsque GitHub a vérifié le créateur de l’action en tant qu’organisation partenaire, le badge s’affiche en regard de l’action dans GitHub Marketplace.
-
Autoriser les actions spécifiées et les workflows réutilisables : vous pouvez limiter les workflows à l’utilisation d’actions et de workflows réutilisables dans des organisations et des dépôts spécifiques.
Pour limiter l’accès à des étiquettes spécifiques ou valider des SHA d’une action ou un workflow réutilisable, utilisez la même syntaxe que celle utilisée dans le workflow pour sélectionner l’action ou un workflow réutilisable.
- Pour une action, la syntaxe est
<OWNER>/<REPO>@<TAG OR SHA>
. Par exemple, utilisezactions/javascript-action@v1.0.1
pour sélectionner une étiquette ouactions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f
pour sélectionner un SHA. Pour plus d’informations, consultez « Recherche et personnalisation d’actions ». - Pour un workflow réutilisable, la syntaxe est
<OWNER>/<REPO>/<PATH>/<FILENAME>@<TAG OR SHA>
. Par exemple :octo-org/another-repo/.github/workflows/workflow.yml@v1
. Pour plus d’informations, consultez « Réutilisation des workflows ».
Vous pouvez utiliser le caractère générique
*
pour faire correspondre les modèles. Par exemple, pour autoriser toutes les actions et workflows réutilisables dans les organisations qui commencent parspace-org
, vous pouvez spécifierspace-org*/*
. Pour autoriser toutes les actions et workflows réutilisables dans les dépôts qui commencent par octocat, vous pouvez utiliser*/octocat**@*
. Pour plus d’informations sur l’utilisation du caractère générique*
, consultez « Workflow syntax for GitHub Actions ».Remarque : L’option Autoriser les actions spécifiées et workflows réutilisables est disponible uniquement dans les dépôts publics avec les plans GitHub Free, GitHub Pro, GitHub Free pour les organisations ou GitHub Team.
- Pour une action, la syntaxe est
Cette procédure montre comment ajouter des actions spécifiques et workflows réutilisables à la liste d’autorisations.
-
Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos organisations.
2. En regard de l’organisation, cliquez sur Paramètres. 1. Dans la barre latérale gauche, cliquez sur Actions, puis sur Général. -
Sous « Stratégies », sélectionnez Autoriser les actions d’entreprise, les autres actions sélectionnées et les workflows réutilisables et ajoutez vos actions requises et workflows réutilisables à la liste.
-
Cliquez sur Enregistrer.
Configuration de l’approbation requise pour les workflows provenant de duplications (forks) 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. Par défaut, tout nouveau contributeur nécessite une approbation pour exécuter des workflows.
Remarque : Les workflows 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.
Vous pouvez configurer ce comportement pour une organisation en suivant la procédure ci-dessous. La modification de ce paramètre remplace la configuration définie au niveau de l’entreprise.
-
Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos organisations.
2. En regard de l’organisation, cliquez sur Paramètres. 1. Dans la barre latérale gauche, cliquez sur Actions, puis sur Général. 1. Sous Dupliquer les workflows de demande de tirage provenant de collaborateurs externes, sélectionnez votre option. Les options sont listées de la moins restrictive à la plus restrictive. -
Cliquez sur Enregistrer pour appliquer les paramètres.
Pour plus d’informations sur l’approbation d’exécutions de workflow auxquelles cette stratégie s’applique, consultez « Approbation d’exécutions de workflow à partir de duplications publiques ».
Ajout d’un workflow requis à une organisation
Remarque : Les workflows requis sont actuellement en version bêta et sont sujets à modification.
Vous pouvez configurer les workflows requis pour qu’ils s’exécutent dans tous les dépôts ou dans des dépôts sélectionnés d’une organisation dont vous êtes propriétaire. Les workflows requis sont déclenchés par les événements par défaut pull_request
et pull_request_target
et doivent être passés avant qu’une demande de tirage ne puisse être fusionnée. Pour plus d’informations, consultez « Workflows requis ».
Prérequis
Avant de configurer un workflow requis, notez les prérequis suivants :
- GitHub Actions doit être activé pour un dépôt dans les paramètres de l’organisation afin de permettre l’exécution des workflows requis. Une fois activés au niveau de l’organisation, les workflows requis s’exécutent même lorsque GitHub Actions est désactivé dans les paramètres du dépôt. Pour plus d’informations sur la gestion de GitHub Actions dans les dépôts de votre organisation, consultez « Désactivation ou limitation de la fonctionnalité GitHub Actions pour votre organisation ».
- Les workflows requis sont disponibles pour les organisations et uniquement dans les dépôts où le plan de l’organisation prend en charge les vérifications d’état requises. Si les vérifications d’état requises ne sont pas prises en charge, le workflow peut toujours s’exécuter, mais il ne s’agit pas d’une vérification requise et ne bloque pas la fusion. Pour plus d’informations sur la prise en charge des vérifications d’état requises, consultez « À propos des branches protégées ».
- La branche par défaut du dépôt doit correspondre au paramètre de branche par défaut de l’organisation pour que les workflows requis s’exécutent en tant que vérifications d’état requises. Si les noms des branches par défaut ne correspondent pas, le workflow peut toujours s’exécuter, mais il ne s’agit pas d’une vérification requise. Pour plus d’informations sur la gestion des noms de branche par défaut, consultez « Gestion du nom de branche par défaut pour les dépôts de votre organisation » et « Changement de la branche par défaut ».
- Pour que les workflows requis s’exécutent, le dépôt source de la demande de tirage (pull request) doit se trouver dans la même organisation que le dépôt cible. GitHub Enterprise Cloud source le workflow requis dans une branche, une étiquette ou un SHA de commit spécifié du dépôt contenant le workflow.
- Les secrets utilisés dans un workflow requis doivent être créés au niveau de l’organisation ou dans les dépôts cibles.
- Les secrets du dépôt source ne sont pas récupérés (fetch) lorsqu’un workflow s’exécute dans le dépôt cible.
- Quand un workflow est exécuté comme workflow requis, il ignore tous les filtres dans la section
on:
, par exemple :branches
,branches-ignore
,paths
,types
etc. Le workflow requis s’exécute uniquement pour les événements par défautpull_request
etpull_request_target
. Pour plus d’informations sur les types d’activité par défaut, consultez « Événements qui déclenchent des flux de travail ». - Les workflows requis ne sont pas déclenchés automatiquement sur les demandes de tirage déjà existantes, même si elles apparaissent automatiquement comme vérifications prévues. Pour déclencher les workflows requis d’une demande de tirage déjà existante, poussez une nouvelle modification vers cette demande de tirage.
Restrictions et comportements pour le dépôt source
Notez les restrictions et comportements suivants pour le dépôt source et le workflow :
-
Les workflows requis peuvent être stockés dans n’importe quel dossier de dépôt ; ils ne sont pas limités au dossier
.github/workflows
, contrairement aux workflows standards. Si un workflow requis appelle un workflow réutilisable, celui-ci doit être stocké dans le dossier.github/workflows
. Quand un workflow réutilisable est appelé, un workflow requis doit utiliser le chemin complet et la référence du workflow réutilisable. Par exemple :{owner}/{repo}/.github/workflows/{filename}@{ref}
. -
Si le workflow requis est contenu dans un dépôt privé ou interne , vous devez vous assurer que les workflows dans le dépôt sont accessibles par d’autres dépôts de votre organisation. Pour plus d’informations, consultez « Gestion des paramètres de GitHub Actions pour un dépôt » et « Gestion des paramètres de GitHub Actions pour un dépôt ».
-
Les workflows stockés dans un dépôt public peuvent être configurés en tant que workflows requis pour n’importe quel dépôt de votre organisation. Les workflows stockés dans un dépôt privé peuvent uniquement être configurés comme des workflows requis pour d’autres dépôts privés de votre organisation. Les workflows stockés dans des dépôts internes peuvent être configurés comme des workflows requis pour les dépôts internes et privés de votre organisation.
-
CodeQL n’est pas pris en charge dans les workflows requis, car CodeQL nécessite une configuration au niveau du dépôt. Pour plus d’informations sur la configuration de l’analyse du code, consultez « Configuration de l’analyse du code pour un référentiel ».
-
Pour effectuer une poussée vers une branche où les workflows requis sont appliqués au niveau de l’organisation, créez une demande de tirage pour apporter les modifications nécessaires. Vous ne pouvez pas effectuer de poussée directement vers les branches où des workflows requis sont appliqués.
-
Si vous souhaitez autoriser les poussées directes pour un dépôt en particulier, vous devez supprimer le dépôt en tant que cible des workflows requis respectifs.
-
Les workflows requis peuvent être référencés avec une branche, une étiquette ou un SHA de commit à partir du dépôt contenant le fichier de workflow.
Restrictions et comportements pour le dépôt cible
Notez les restrictions et comportements suivants pour les dépôts cibles :
- Quand un workflow requis est configuré pour s’exécuter sur tous les dépôts ou uniquement sur les dépôts sélectionnés, la visibilité du dépôt contenant le workflow requis détermine sur quels dépôts de votre organisation le workflow va s’exécuter. Les workflows requis qui sont stockés dans des dépôts publics s’exécutent sur tous les dépôts. Les workflows requis qui sont stockés dans des dépôts privés s’exécutent uniquement sur d’autres dépôts privés. Les workflows requis qui sont stockés dans des dépôts internes s’exécutent sur des dépôts internes et privés.
- Les workflows requis ne peuvent pas être configurés pour s’exécuter dans le dépôt où le workflow est créé. Vous devez envisager de créer un dépôt distinct pour y stocker vos workflows requis.
- Quand un workflow requis est configuré pour s’exécuter sur tous les dépôts ou uniquement sur les dépôts sélectionnés, les workflows requis ne s’exécutent pas dans les dépôts où Actions est désactivé dans les paramètres de l’organisation.
Configuration d’un workflow requis pour votre organisation
-
Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos organisations.
2. En regard de l’organisation, cliquez sur Paramètres. 1. Dans la barre latérale gauche, cliquez sur Actions, puis sur Général. -
À droite de « Workflows requis », cliquez sur Ajouter un workflow.
-
Sous « Workflows requis », utilisez le menu déroulant pour sélectionner le référentiel qui contient le workflow. Ensuite, entrez le chemin du workflow dans le champ de texte. Vous pouvez référencer n’importe quelle branche, balise ou validation SHA à partir du référentiel contenant le fichier de workflow à l’aide de la syntaxe
{path}@{ref}
. -
Si vous le souhaitez, pour spécifier les branches cibles sur lesquelles appliquer le workflow requis, entrez la branche ou plusieurs branches dans le champ de texte sous « Branches cibles ». Si vous n’entrez pas de branche cible, le workflow requis sera appliqué sur la branche par défaut du référentiel.
-
Sous « Appliquer aux référentiels... », utilisez le menu déroulant pour sélectionner les référentiels auxquels le workflow requis s’applique. Sélectionnez Tous les référentiels pour appliquer le workflow requis à tous les référentiels de votre organisation ou Référentiels sélectionnés pour choisir les référentiels auxquels il va s’appliquer.
-
Si vous avez choisi « Référentiels sélectionnés », vous pouvez cliquer sur pour ouvrir la boîte de dialogue modale de sélection de référentiels, puis utilisez les cases à cocher pour sélectionner les référentiels et cliquez sur Appliquer la sélection. Vous pouvez utiliser des filtres pour affiner votre recherche.
-
Pour ajouter le workflow requis, cliquez sur Ajouter un workflow.
Activation des workflows pour les duplications de référentiel privé
Si vous vous appuyez sur l’utilisation de duplications de vos référentiels privés, vous pouvez configurer des stratégies qui contrôlent la façon dont des utilisateurs peuvent exécuter des workflow sur des événements pull_request
. Quant aux paramètres de stratégie disponibles uniquement pour les dépôts privés et internes, vous pouvez les configurer pour des entreprises, des organisations ou des dépôts.
Si une stratégie est désactivée pour une entreprise, elle ne peut pas être activée pour des organisations. Si une stratégie est désactivée pour une organisation, elle ne peut pas être activée pour des référentiels. Si une organisation active une stratégie, celle-ci peut être désactivée pour des référentiels individuels.
- Exécuter des workflows à partir de demandes de tirage de duplication : permet aux utilisateurs d’exécuter des workflows à partir de demandes de tirage de duplication, avec une autorisation
GITHUB_TOKEN
en lecture seule et sans accès aux secrets. - Envoyer des jetons d’écriture aux workflows à partir de demandes de tirage : permet aux demandes de tirage provenant de duplications d’utiliser un
GITHUB_TOKEN
avec autorisation d’accès en écriture. - Envoyer des secrets aux workflows à partir de demandes de tirage : rend tous les secrets disponibles pour la demande de tirage.
- Exiger l’approbation des workflows de demande de tirage (pull request) - Les exécutions de workflow sur des demandes de tirage provenant de collaborateurs sans autorisation d'écriture devront être approuvées par une personne disposant d'une autorisation d'écriture avant d'être exécutées.
Configuration de la stratégie de duplication privée d’une organisation
-
Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos organisations.
2. En regard de l’organisation, cliquez sur Paramètres. 1. Dans la barre latérale gauche, cliquez sur Actions, puis sur Général. 1. Sous Dupliquer les workflows de demande de tirage, sélectionnez vos options. -
Cliquez sur Enregistrer pour appliquer les paramètres.
Définition des autorisations GITHUB_TOKEN
de votre organisation
Vous pouvez définir les autorisations par défaut accordées au GITHUB_TOKEN
. Pour plus d’informations sur GITHUB_TOKEN
, consultez « Authentification par jeton automatique ». Vous pouvez choisir un ensemble restreint d’autorisations par défaut, ou appliquer des paramètres permissifs.
Vous pouvez définir les autorisations GITHUB_TOKEN
par défaut dans les paramètres de votre organisation ou de vos référentiels. Si vous sélectionnez une option restrictive comme option par défaut dans les paramètres de votre organisation, la même option est sélectionnée dans les paramètres des référentiels de votre organisation, et l’option permissive est désactivée. Si votre organisation appartient à un compte GitHub Enterprise et qu’une option par défaut plus restrictive a été sélectionnée dans les paramètres d’entreprise, vous ne pouvez pas sélectionner l’option par défaut plus permissive dans les paramètres de votre organisation.
Toute personne disposant d’un accès en écriture à un dépôt peut modifier les autorisations accordées au GITHUB_TOKEN
en ajoutant ou supprimant l’accès selon le besoin, en modifiant la clé permissions
dans le fichier de workflow. Pour plus d’informations, consultez permissions
.
Configuration des autorisations GITHUB_TOKEN
par défaut
Par défaut, quand vous créez une organisation, le paramètre est hérité de ce qui est configuré dans les paramètres d’entreprise.
-
Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Votre profil.
1. Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos organisations. 2. En regard de l’organisation, cliquez sur Paramètres. 1. Dans la barre latérale gauche, cliquez sur Actions, puis sur Général. -
Sous « Autorisations de workflow », spécifiez si vous souhaitez que le
GITHUB_TOKEN
ait un accès en lecture et écriture pour toutes les étendues ou simplement un accès en lecture pour les étenduescontents
et. -
Cliquez sur Enregistrer pour appliquer les paramètres.
Empêcher GitHub Actions de créer ou d’approuver des demandes de tirage
Vous pouvez choisir d’autoriser ou d’empêcher les workflows GitHub Actions de créer ou d’approuver les demandes de tirage (pull request).
Par défaut, lorsque vous créez une organisation, les workflows ne sont pas autorisés à créer ou approuver des demandes de tirage.
-
Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Votre profil.
1. Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos organisations. 2. En regard de l’organisation, cliquez sur Paramètres. 1. Dans la barre latérale gauche, cliquez sur Actions, puis sur Général. -
Sous « Autorisations liées aux workflows », utilisez le paramètre Autoriser GitHub Actions à créer et approuver des demandes de tirage pour déterminer si
GITHUB_TOKEN
peut créer et approuver des demandes de tirage. -
Cliquez sur Enregistrer pour appliquer les paramètres.
Gestion du stockage en cache des GitHub Actions de votre organisation
Les administrateurs de l’organisation peuvent visualiserGitHub Actions pour tous les dépôts de l’organisation.
Visualisation du stockage en cache des GitHub Actions par dépôt
Pour chaque dépôt de votre organisation, vous pouvez voir la quantité de stockage en cache utilisée par un dépôt, le nombre de caches actifs et si un dépôt est proche de la limite de taille totale du cache. Pour plus d’informations sur l’utilisation et le processus d’éviction du cache, consultez « Mise en cache des dépendances pour accélérer les workflows ».
-
Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Votre profil.
1. Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos organisations. 2. En regard de l’organisation, cliquez sur Paramètres. -
Dans la barre latérale gauche, cliquez sur Actions, puis sur Caches.
-
Consultez la liste des dépôts pour plus d’informations sur leurs caches de GitHub Actions. Vous pouvez cliquer sur le nom d’un dépôt pour voir plus de détails sur les caches du dépôt.