Skip to main content

Enforcing policies for GitHub Actions in your enterprise

You can enforce policies for GitHub Actions within your enterprise's organizations, or allow policies to be set in each organization.

Qui peut utiliser cette fonctionnalité ?

Enterprise owners can enforce policies for GitHub Actions in an enterprise.

About policies for GitHub Actions in your enterprise

GitHub Actions helps members of your enterprise automate software development workflows on GitHub Enterprise Server. For more information, see "Comprendre GitHub Actions."

If you enable GitHub Actions, any organization on votre instance GitHub Enterprise Server can use GitHub Actions. You can enforce policies to control how members of your enterprise on GitHub Enterprise Server use GitHub Actions. By default, organization owners can manage how members use GitHub Actions. For more information, see "Désactivation ou limitation de la fonctionnalité GitHub Actions pour votre organisation."

Enforcing a policy to restrict the use of GitHub Actions in your enterprise

You can choose to disable GitHub Actions for all organizations in your enterprise, or only allow specific organizations. You can also limit the use of public actions , so that people can only use local actions that exist in your enterprise.

  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

    Capture d’écran du menu déroulant qui s’affiche lorsque vous cliquez sur la photo de profil sur GitHub Enterprise Server. L’option « Paramètres d’entreprise » est mise en évidence avec un contour orange foncé.

  2. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

  3. Sous « Stratégies  », cliquez sur Actions.

  4. Under "Policies", select your options.

    Si vous choisissez Autoriser les actions sélectionnées, les actions au sein de votre entreprise sont autorisé(e)s, et il existe d’autres options pour autoriser d’autres actions spécifiques. Pour plus d’informations, consultez « Autorisation de l’exécution des actions sélectionnées ».

    Note: To enable access to public actions, you must first configure votre instance GitHub Enterprise Server to connect to GitHub.com. For more information, see "Enabling automatic access to GitHub.com actions using GitHub Connect."

  5. Click Save.

Autorisation de l’exécution des actions sélectionnées

Si vous choisissez Autoriser les actions sélectionnées, les actions locales sont autorisés. Il existe d’autres options pour autoriser d’autres actions spécifiques :

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 « Enforcing policies for GitHub Actions in your enterprise ».

  • 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 et github. Pour plus d’informations, consultez les organisations actions et github.

  • Autoriser les actions de la Place de marché par les créateurs vérifiés : Cette option est disponible si vous avez activé et configuré GitHub Connect avec GitHub Actions. Pour plus d’informations, consultez « Enabling automatic access to GitHub.com actions using GitHub Connect ». 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 : vous pouvez limiter les workflows à l’utilisation d’actions 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, utilisez la même syntaxe que celle utilisée dans le workflow pour sélectionner l’action.

    • Pour une action, la syntaxe est OWNER/REPOSITORY@TAG-OR-SHA. Par exemple, utilisez actions/javascript-action@v1.0.1 pour sélectionner une étiquette ou actions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f pour sélectionner un SHA. Pour plus d’informations, consultez « Recherche et personnalisation d’actions ».

    Vous pouvez utiliser le caractère générique *pour faire correspondre les modèles. Par exemple, pour autoriser toutes les actions dans les organisations qui commencent par space-org, vous pouvez spécifier space-org*/*. Pour autoriser toutes les actions 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 ».

Cette procédure montre comment ajouter des actions spécifiques à la liste d’autorisations.

  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

    Capture d’écran du menu déroulant qui s’affiche lorsque vous cliquez sur la photo de profil sur GitHub Enterprise Server. L’option « Paramètres d’entreprise » est mise en évidence avec un contour orange foncé.

  2. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

  3. Sous « Stratégies  », cliquez sur Actions.

  4. Under "Policies", select Autoriser les actions sélectionnées and add your required actions to the list.

Disabling repository-level self-hosted runners

Rien ne garantit que les exécuteurs auto-hébergés pour GitHub Enterprise Server seront hébergés sur des machines virtuelles éphémères propres. Par conséquent, ils peuvent être compromis par du code non approuvé dans un workflow.

De même, toute personne pouvant dupliquer le dépôt et ouvrir une demande de tirage (généralement celles qui ont un accès en lecture au dépôt) peut compromettre l’environnement des exécuteurs auto-hébergés, notamment en accédant aux secrets et au GITHUB_TOKEN qui, en fonction de ses paramètres, permet d’octroyer l’accès en écriture au dépôt. Bien que les workflows puissent contrôler l’accès aux secrets d’environnement à l’aide d’environnements et de révisions nécessaires, ces workflows ne sont pas exécutés dans un environnement isolé et encourent toujours les mêmes risques lors de l’exécution sur un exécuteur auto-hébergé.

Pour ces raisons, entre autres, vous pouvez décider d’empêcher les utilisateurs de créer des exécuteurs auto-hébergés au niveau du dépôt. For more information on creating self-hosted runners at the repository level, see "Ajout d’exécuteurs auto-hébergés."

By default anyone with admin access to a repository can add a self-hosted runner for the repository. The enterprise settings allow you to disable the use of repository-level self-hosted runners across all repositories in your enterprise. If you allow repository-level self-hosted runners for your enterprise, organization owners can choose to allow or prevent creation of repository-level self-hosted runners for some or all repositories in their organization. For more information see, "Désactivation ou limitation de la fonctionnalité GitHub Actions pour votre organisation."

Remarque : Lorsque la création d’exécuteurs auto-hébergés au niveau du dépôt est désactivée, les workflows peuvent quand même accéder aux exécuteurs auto-hébergés qui ont été configurés au niveau de l’entreprise ou de l’organisation.

  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

    Capture d’écran du menu déroulant qui s’affiche lorsque vous cliquez sur la photo de profil sur GitHub Enterprise Server. L’option « Paramètres d’entreprise » est mise en évidence avec un contour orange foncé.

  2. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

  3. Sous « Stratégies  », cliquez sur Actions.

  4. In the "Runners" section, select Disable for all organizations.

  5. Click Save to apply the change.

Enforcing a policy for artifact and log retention in your enterprise

GitHub Actions can store artifact and log files. For more information, see "Téléchargement d’artefacts de workflow."

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 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.

  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

    Capture d’écran du menu déroulant qui s’affiche lorsque vous cliquez sur la photo de profil sur GitHub Enterprise Server. L’option « Paramètres d’entreprise » est mise en évidence avec un contour orange foncé.

  2. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

  3. Sous « Stratégies  », cliquez sur Actions.

  4. Dans la section « Paramètres d’artefact, de journal et de cache », sous Conservation des artefacts et des journaux, entrez une nouvelle valeur.

  5. Cliquez sur Enregistrer pour appliquer la modification.

Enforcing a policy for fork pull requests in your enterprise

You can enforce policies to control how GitHub Actions behaves for votre instance GitHub Enterprise Server when members of your enterprise run workflows from forks.

Enforcing a policy for fork pull requests in private repositories

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 votre entreprise, des organisations ou des dépôts.

If a policy is enabled for an enterprise, the policy can be selectively disabled in individual organizations or repositories. If a policy is disabled for an enterprise, individual organizations or repositories cannot enable it.

  • 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.
  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

    Capture d’écran du menu déroulant qui s’affiche lorsque vous cliquez sur la photo de profil sur GitHub Enterprise Server. L’option « Paramètres d’entreprise » est mise en évidence avec un contour orange foncé.

  2. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

  3. Sous « Stratégies  », cliquez sur Actions.

  4. Sous Dupliquer les workflows de demande de tirage, sélectionnez vos options.

  5. Cliquez sur Enregistrer pour appliquer les paramètres.

Enforcing a policy for workflow permissions in your enterprise

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.

You can set the default permissions for the GITHUB_TOKEN in the settings for your enterprise, organizations, or repositories. If you choose a restricted option as the default in your enterprise settings, this prevents the more permissive setting being chosen in the organization or repository settings.

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.

Configuring the default GITHUB_TOKEN permissions

By default, when you create a new enterprise, GITHUB_TOKEN only has read access for the contents and packages scopes.

  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

    Capture d’écran du menu déroulant qui s’affiche lorsque vous cliquez sur la photo de profil sur GitHub Enterprise Server. L’option « Paramètres d’entreprise » est mise en évidence avec un contour orange foncé.

  2. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

  3. Sous « Stratégies  », cliquez sur Actions.

  4. 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’étendue contentset les étendues packages (le paramètre restrictif).

  5. Click Save to apply the settings.

Preventing GitHub Actions from creating or approving pull requests

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).

By default, when you create a new enterprise, workflows are not allowed to create or approve pull requests.

  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

    Capture d’écran du menu déroulant qui s’affiche lorsque vous cliquez sur la photo de profil sur GitHub Enterprise Server. L’option « Paramètres d’entreprise » est mise en évidence avec un contour orange foncé.

  2. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

  3. Sous « Stratégies  », cliquez sur Actions.

  4. Under "Workflow permissions", use the Allow GitHub Actions to create and approve pull requests setting to configure whether GITHUB_TOKEN can create and approve pull requests.

  5. Click Save to apply the settings.

Enforcing a policy for cache storage in your enterprise

Par défaut, le stockage total du cache que GitHub Actions utilise sur le stockage externe pour votre instance GitHub Enterprise Server est limité à un maximum de 10 Go par référentiel, et la taille maximale autorisée pouvant être définie pour un référentiel est de 25 Go. Si vous dépassez la limite, GitHub enregistrera le nouveau cache, mais commencera à écarter les caches jusqu’à ce que la taille totale soit inférieure à la limite du dépôt.

However, you can set an enterprise policy to customize both the default total cache size for each repository, as well as the maximum total cache size allowed for a repository. For example, you might want the default total cache size for each repository to be 5 GB, but also allow organization owners and repository administrators to configure a total cache size up to 15 GB if necessary.

Organization owners can set a lower total cache size that applies to each repository in their organization. People with admin access to a repository can set a total cache size for their repository up to the maximum cache size allowed by the enterprise or organization policy setting.

  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

    Capture d’écran du menu déroulant qui s’affiche lorsque vous cliquez sur la photo de profil sur GitHub Enterprise Server. L’option « Paramètres d’entreprise » est mise en évidence avec un contour orange foncé.

  2. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

  3. Sous « Stratégies  », cliquez sur Actions.

  4. In the "Artifact, log, and cache settings" section, under Maximum cache size limit, enter a value, then click Save to apply the setting.

  5. In the "Artifact, log, and cache settings" section, under Default cache size limit, enter a value, then click Save to apply the setting.