À propos des autorisations GitHub Actions pour votre dépôt
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 organisation. Pour plus d’informations sur GitHub Actions, consultez « Découvrir GitHub Actions ».
Vous pouvez activer GitHub Actions pour votre dépôt. 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. Vous pouvez désactiver complètement GitHub Actions pour votre dépôt. Quand vous désactivez GitHub Actions, aucun workflow ne s’exécute dans votre dépôt.
Vous pouvez également activer GitHub Actions dans votre dépôt, mais limiter les actions et les workflows réutilisables qu’un workflow peut exécuter.
Gestion des autorisations GitHub Actions pour votre dépôt
Vous pouvez désactiver GitHub Actions pour un dépôt ou définir une stratégie qui configure les actions et workflows réutilisables qui peuvent être utilisé(e)s dans le dépôt.
Remarque : Vous ne pourrez peut-être pas gérer ces paramètres si votre organisation a une stratégie de substitution ou est gérée par une entreprise qui a remplacé la stratégie. Pour plus d’informations, consultez « Désactivation ou limitation de la fonctionnalité GitHub Actions pour votre organisation » ou « Application de stratégies pour GitHub Actions dans votre entreprise ».
-
Dans GitHub.com, accédez à la page principale du dépôt.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. 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, cliquez sur Actions, puis sur Général.
-
Sous « Autorisations d’Actions », sélectionnez une option.
Si vous choisissez Autoriser les actions de PROPRIÉTAIRE, les autres actions ne relevant pas d’un PROPRIÉTAIRE sélectionnées et les workflows réutilisables, les actions et les workflows réutilisables au sein de votre organisation 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 organisation, 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 de PROPRIÉTAIRE, les autres actions ne relevant pas d’un PROPRIÉTAIRE 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. Les actions spécifiées ne peuvent pas être définies sur plus de 1 000.
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/REPOSITORY@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/REPOSITORY/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 ». - Pour une action, la syntaxe est
Remarque : Pour les plans GitHub Free, GitHub Pro, GitHub Free pour les organisations, ou GitHub Team, l'option Autoriser les actions spécifiées et les flux de travail réutilisables n'est disponible que dans les référentiels publics.
Cette procédure montre comment ajouter des actions spécifiques et workflows réutilisables à la liste d’autorisations.
-
Dans GitHub.com, accédez à la page principale du dépôt.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. 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, cliquez sur Actions, puis sur Général.
-
Sous « Autorisations d’Actions », sélectionnez Autoriser les actions de PROPRIÉTAIRE, les autres actions ne relevant pas d’un PROPRIÉTAIRE sélectionnées et les workflows réutilisables et ajoutez vos actions requises à la liste.
-
Cliquez sur Enregistrer.
Contrôle des modifications entre les duplications (fork) et les workflows dans les dépôts publics
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. Pour plus d’informations sur l’événement pull_request_target
, consultez « Événements qui déclenchent des flux de travail ».
Vous pouvez configurer ce comportement pour un dépôt à l’aide de la procédure ci-dessous. La modification de ce paramètre remplace le jeu de configuration défini au niveau de l’organisation ou de l’entreprise.
-
Dans GitHub.com, accédez à la page principale du dépôt.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. 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, cliquez sur Actions, puis sur Général.
-
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 ».
Activation des workflows pour les duplications de dépôts privés
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
. En ce qui concerne les paramètres de stratégie disponibles uniquement pour les dépôts privés, vous pouvez les configurer pour des organisations ou des dépôts.
Si une stratégie est désactivée pour une organisation, elle ne peut pas être activée pour un dépôt.
- 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 pour un dépôt privé
-
Dans GitHub.com, accédez à la page principale du dépôt.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. 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, cliquez sur Actions, puis sur Général.
-
Sous Dupliquer les workflows de demande de tirage, sélectionnez vos options.
-
Cliquez sur Enregistrer pour appliquer les paramètres.
Définition des autorisations du GITHUB_TOKEN
pour votre dépôt
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.
Les autorisations par défaut peuvent également être configurées dans les paramètres de l’organisation. Si votre dépôt appartient à une organisation et qu’une option par défaut plus restrictive a été sélectionnée dans les paramètres de l’organisation, la même option est sélectionnée dans les paramètres de votre dépôt et l’option permissive est désactivée.
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 un dépôt dans votre compte personnel, GITHUB_TOKEN
a uniquement un accès en lecture pour les étendues contents
et packages
. Si vous créez un dépôt dans une organisation, le paramètre est hérité de ce qui est configuré dans les paramètres de l’organisation.
-
Dans GitHub.com, accédez à la page principale du dépôt.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. 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, cliquez sur Actions, puis sur Général.
-
Sous « Autorisations de workflow », indiquez si vous souhaitez que le
GITHUB_TOKEN
ait un accès en lecture et en écriture pour toutes les étendues (le paramètre permissif) ou simplement un accès en lecture pour l’étenduecontents
et les étenduespackages
(le paramètre restrictif). -
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, les workflows ne sont pas autorisés à créer ni à approuver des demandes de tirage lorsque vous créez un dépôt dans votre compte personnel. Si vous créez un dépôt dans une organisation, le paramètre est hérité de ce qui est configuré dans les paramètres de l’organisation.
-
Dans GitHub.com, accédez à la page principale du dépôt.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. 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, cliquez sur Actions, puis sur Général.
-
Sous « Autorisations de workflow », utilisez le paramètre Autoriser GitHub Actions à créer et à approuver des demandes de tirage pour configurer si
GITHUB_TOKEN
peut créer et approuver des demandes de tirage. -
Cliquez sur Enregistrer pour appliquer les paramètres.
Autorisation de l’accès aux composants dans un dépôt privé
Les actions et workflows réutilisables de vos dépôts privés peuvent être partagés avec d’autres dépôts privés appartenant au même utilisateur ou à la même organisation. Pour obtenir des informations sur les dépôts privés, consultez « À propos des dépôts ».
Vous pouvez utiliser les étapes ci-dessous pour configurer si les actions et les workflows réutilisables d’un dépôt privé peuvent être accessibles de l’extérieur du dépôt. Pour plus d’informations, consultez « Partage d’actions et de workflows à partir de votre référentiel privé » et « Partage d’actions et de workflows au sein de votre organisation ». Vous pouvez également utiliser l’API REST pour définir ou obtenir des détails sur le niveau d’accès. Pour plus d’informations, consultez « Autorisations GitHub Actions » et « Autorisations GitHub Actions ».
Gestion de l’accès pour un dépôt privé
-
Sur GitHub, accédez à la page principale du dépôt privé.
-
Sous le nom de votre dépôt, cliquez sur Paramètres.
-
Dans la barre latérale gauche, cliquez sur Actions, puis sur Général.
-
Sous Access, choisissez l’un des paramètres d’accès :
- Non accessible : les workflows dans d’autres dépôts ne peuvent pas accéder à ce dépôt.
- Accessible à partir des dépôts appartenant à l’utilisateur « NOM UTILISATEUR » - Les workflows des autres dépôts qui appartiennent au même utilisateur peuvent accéder aux actions et aux workflows réutilisables de ce dépôt. L’accès est autorisé uniquement à partir de dépôts privés.
-
Cliquez sur Enregistrer pour appliquer les paramètres.
Gestion de l’accès pour un dépôt privé dans une organisation
-
Sur GitHub, accédez à la page principale du dépôt privé.
-
Sous le nom de votre dépôt, cliquez sur Paramètres.
-
Dans la barre latérale gauche, cliquez sur Actions, puis sur Général.
-
Sous Access, choisissez l’un des paramètres d’accès :
- Non accessible : les workflows dans d’autres dépôts ne peuvent pas accéder à ce dépôt.
- Accessible à partir de dépôts dans l’organisation « NOM ORGANISATION » : Les workflows des autres dépôts faisant partie de l’organisation « NOM ORGANISATION » peuvent accéder aux actions et aux workflows réutilisables de ce dépôt. L’accès est autorisé uniquement à partir de dépôts privés.
-
Cliquez sur Enregistrer pour appliquer les paramètres.
Configuration de la durée de conservation des artefacts et journaux de GitHub Actions dans votre dépôt
Vous pouvez configurer la durée de conservation des artefacts et journaux GitHub Actions dans votre dépôt.
Par défaut, les artefacts et les fichiers journaux générés par les workflows sont conservés pendant 90 jours avant d’être automatiquement supprimés. Vous pouvez ajuster la période de conservation en fonction du type de dépôt :
- Pour les dépôts publics : vous pouvez changer cette période de conservation en la remplaçant par une valeur comprise entre 1 jour et 90 jours.
- Pour les dépôts privés : vous pouvez changer cette période de conservation en la remplaçant par une valeur comprise entre 1 jour et 400 jours.
Quand vous personnalisez la période de conservation, elle s’applique uniquement aux nouveaux artefacts et fichiers journaux, elle ne s’applique pas rétroactivement aux objets existants. Pour les organisations et dépôts managés, la période de conservation maximale ne peut pas dépasser la limite définie par l’organisation ou l’entreprise responsable.
Vous pouvez également définir une durée de conservation personnalisée pour un artefact spécifique créé par un workflow. Pour plus d’informations, consultez « Suppression d’artefacts de workflow ».
Définition de la durée de conservation d’un dépôt
-
Dans GitHub.com, accédez à la page principale du dépôt.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. 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, cliquez sur Actions, puis sur Général.
-
Sous Conservation des artefacts et des journaux, entrez une nouvelle valeur.
-
Cliquez sur Enregistrer pour appliquer la modification.