Skip to main content

Managing access to self-hosted runners using groups

You can use policies to limit access to self-hosted runners that have been added to an organization or enterprise.

Qui peut utiliser cette fonctionnalité ?

Enterprise accounts, organizations owned by enterprise accounts, and organizations using GitHub Team or GitHub Free plans can create and manage additional runner groups using self-hosted runners.

Users with the "Manage organization runners and runner groups" permission can manage runner groups at the organization level.

Remarque

Les exécuteurs hébergés sur GitHub ne sont pas pris en charge sur GitHub Enterprise Server. Vous pouvez voir plus d’informations sur le support futur planifié dans la GitHub public roadmap.

Creating a self-hosted runner group for an organization

Avertissement

Nous vous recommandons d’utiliser uniquement des exécuteurs auto-hébergés avec des dépôts privés. En effet, les duplications (forks) de votre dépôt public peuvent exécuter du code potentiellement dangereux sur la machine de votre exécuteur auto-hébergé en créant une demande de tirage qui exécute le code dans un workflow.

Pour plus d’informations, consultez « Informations de référence sur l’utilisation sécurisée ».

Remarque

Lors de la création d'un groupe d'exécution, vous devez choisir une politique qui définit quels référentiels ont accès au groupe d'exécution. Pour modifier la liste de référentiels et flux de travail ayant accès au groupe d’exécuteurs, les propriétaires d'organisation et les utilisateurs disposant de l’autorisation « Gérer les exécuteurs d’organisation et les groupes d’exécuteurs » peuvent définir une stratégie pour l’organisation. Pour plus d’informations, consultez « Application de stratégies pour GitHub Actions dans votre entreprise ».

Toutes les organisations disposent d’un seul groupe d’exécuteurs par défaut. Les propriétaires d’organisation et les utilisateurs disposant de l’autorisation « Gérer les exécuteurs d’organisation et les groupes d’exécuteurs » peuvent créer des groupes d’exécuteurs supplémentaires au niveau de l’organisation. Pour plus d’informations sur les rôles d’organisation personnalisés, consultez « À propos des rôles d'organisation personnalisés ».

Si aucun groupe n’est spécifié pendant le processus d’inscription, les exécuteurs sont automatiquement ajoutés au groupe par défaut. Vous pouvez déplacer ultérieurement l’exécuteur du groupe par défaut vers un groupe personnalisé. Pour plus d’informations, consultez Déplacement d’un exécuteur vers un groupe.

Pour obtenir des informations sur la façon de créer un groupe d’exécuteurs avec l’API REST, consultez Points de terminaison REST pour l’API GitHub Actions.

  1. Sur GitHub, accédez à la page principale de l’organisation.

  2. Sous le nom de votre organisation, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  3. Dans la barre latérale gauche, cliquez sur Actions, puis sur Groupes d’exécuteurs.

  4. Dans la section « Groupes d’exécuteurs », cliquez sur Nouveau groupe d’exécuteurs.

  5. Entrez un nom pour votre groupe d’exécuteurs.

  6. Affectez une stratégie d’accès au dépôt.

    Vous pouvez configurer un groupe d’exécuteurs pour qu’il soit accessible à une liste spécifique de référentiels ou à l’ensemble des référentiels de l’organisation. Par défaut, seuls les dépôts privés peuvent accéder aux exécuteurs dans un groupe d’exécuteurs, mais vous pouvez remplacer cette autorisation. Ce paramètre ne peut pas être remplacé si vous configurez un groupe d’exécuteurs d’une organisation qui a été partagé par une entreprise.

  7. Affectez une stratégie d’accès au workflow.

    Vous pouvez configurer un groupe d’exécuteurs pour qu’il soit accessible à une liste spécifique de workflows ou à tous les workflows. Ce paramètre ne peut pas être remplacé si vous configurez un groupe d’exécuteurs d’une organisation, qui a été partagé par une entreprise. Si vous spécifiez quel est le workflow qui peut accéder au groupe d’exécuteurs, vous devez utiliser le chemin complet du workflow, notamment le nom et le propriétaire du dépôt. De plus, vous devez épingler le workflow à une branche, une étiquette ou un algorithme SHA complet. Par exemple : octo-org/octo-repo/.github/workflows/build.yml@refs/tags/v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@refs/heads/main.

    Il est recommandé de qualifier entièrement les références ambiguës. Par exemple, au lieu de fournir main en tant que référence, fournissez refs/heads/main.

    Seuls les travaux directement définis dans les workflows sélectionnés ont accès au groupe d’exécuteurs. 1. Cliquez sur Créer un groupe pour créer le groupe et appliquer la stratégie.

Creating a self-hosted runner group for an enterprise

Avertissement

Nous vous recommandons d’utiliser uniquement des exécuteurs auto-hébergés avec des dépôts privés. En effet, les duplications (forks) de votre dépôt public peuvent exécuter du code potentiellement dangereux sur la machine de votre exécuteur auto-hébergé en créant une demande de tirage qui exécute le code dans un workflow.

Pour plus d’informations, consultez « Informations de référence sur l’utilisation sécurisée ».

Les grandes entreprises peuvent ajouter leurs exécuteurs à des groupes à des fins de gestion des accès. Les entreprises peuvent créer des groupes d'exécutants accessibles à des organisations spécifiques dans le compte d'entreprise. Les propriétaires d'organisations peuvent ensuite attribuer des politiques d'accès au référentiel granulaires supplémentaires aux groupes d'exécutants de l'entreprise. Pour obtenir des informations sur la façon de créer un groupe d’exécuteurs avec l’API REST, consultez les points de terminaison d’entreprise dans l’API REST GitHub Actions.

Si aucun groupe n’est spécifié pendant le processus d’inscription, les exécuteurs sont automatiquement ajoutés à un groupe par défaut. Vous pouvez déplacer ultérieurement l’exécuteur du groupe par défaut vers un groupe personnalisé. Pour plus d’informations, consultez Déplacement d’un exécuteur vers un groupe.

Lors de la création d’un groupe, vous devez choisir une stratégie qui définit les organisations qui ont accès au groupe d’exécuteurs.

  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 affiché lorsque vous cliquez sur la photo du profil sur GitHub Enterprise Server. L’option « Paramètres de l’entreprise » est mise en évidence.

  2. Sur le côté gauche de la page, dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

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

  4. Cliquez sur l’onglet Groupes d’exécuteurs.

  5. Cliquez sur Nouveau groupe d’exécuteurs.

  6. Sous « Nom du groupe », tapez un nom pour votre groupe d’exécuteurs.

  7. Pour choisir une stratégie pour l’accès des organisations, sélectionnez le menu déroulant Accès des organisations et cliquez sur une stratégie. Vous pouvez configurer un groupe d’exécuteurs pour qu’il soit accessible à une liste spécifique d’organisations ou à toutes les organisations de la grande entreprise. Par défaut, seuls les dépôts privés peuvent accéder aux exécuteurs dans un groupe d’exécuteurs, mais vous pouvez changer cela.

  8. Affectez une stratégie d’accès au workflow.

    Vous pouvez configurer un groupe d’exécuteurs pour qu’il soit accessible à une liste spécifique de workflows ou à tous les workflows. Ce paramètre ne peut pas être remplacé si vous configurez un groupe d’exécuteurs d’une organisation, qui a été partagé par une entreprise. Si vous spécifiez quel est le workflow qui peut accéder au groupe d’exécuteurs, vous devez utiliser le chemin complet du workflow, notamment le nom et le propriétaire du dépôt. De plus, vous devez épingler le workflow à une branche, une étiquette ou un algorithme SHA complet. Par exemple : octo-org/octo-repo/.github/workflows/build.yml@refs/tags/v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@refs/heads/main.

    Il est recommandé de qualifier entièrement les références ambiguës. Par exemple, au lieu de fournir main en tant que référence, fournissez refs/heads/main.

    Seuls les travaux directement définis dans les workflows sélectionnés ont accès au groupe d’exécuteurs.

  9. Cliquez sur Enregistrer le groupe pour créer le groupe et appliquer la stratégie.

Changing which organizations can access a runner group

Avertissement

Nous vous recommandons d’utiliser uniquement des exécuteurs auto-hébergés avec des dépôts privés. En effet, les duplications (forks) de votre dépôt public peuvent exécuter du code potentiellement dangereux sur la machine de votre exécuteur auto-hébergé en créant une demande de tirage qui exécute le code dans un workflow.

Pour plus d’informations, consultez « Informations de référence sur l’utilisation sécurisée ».

For runner groups in an enterprise, you can change what organizations in the enterprise can access a runner group.

  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 affiché lorsque vous cliquez sur la photo du profil sur GitHub Enterprise Server. L’option « Paramètres de l’entreprise » est mise en évidence.

  2. Sur le côté gauche de la page, dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

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

  4. Cliquez sur l’onglet Groupes d’exécuteurs.

  5. Sous « Accès à l’organisation », utilisez le menu déroulant pour cliquer sur Organisations sélectionnées.

    1. À droite du menu déroulant, cliquez sur .
    2. Dans la fenêtre contextuelle, cochez les cases pour sélectionner les organisations qui peuvent utiliser ce groupe d’exécuteurs.
  6. Cliquez sur Enregistrer le groupe.

Changing which repositories can access a runner group

Avertissement

Nous vous recommandons d’utiliser uniquement des exécuteurs auto-hébergés avec des dépôts privés. En effet, les duplications (forks) de votre dépôt public peuvent exécuter du code potentiellement dangereux sur la machine de votre exécuteur auto-hébergé en créant une demande de tirage qui exécute le code dans un workflow.

Pour plus d’informations, consultez « Informations de référence sur l’utilisation sécurisée ».

For runner groups in an organization, you can change what repositories in the organization can access a runner group.

  1. Accédez à la page principale de l’organisation où se trouvent vos groupes d’exécuteurs.

  2. Cliquez sur Paramètres.

  3. Dans la barre latérale gauche, cliquez sur Actions, puis sur Groupes d’exécuteurs.

  4. Dans la liste des groupes, cliquez sur le groupe d’exécuteurs à configurer.

  5. Sous « Accès au référentiel », utilisez le menu déroulant pour cliquer sur Référentiels sélectionnés.

    1. À droite du menu déroulant, cliquez sur .
    2. Dans la fenêtre contextuelle, cochez les cases pour sélectionner les référentiels qui peuvent accéder à ce groupe d’exécuteurs.
  6. Cliquez sur Enregistrer le groupe.

Changing which workflows can access a runner group

Avertissement

Nous vous recommandons d’utiliser uniquement des exécuteurs auto-hébergés avec des dépôts privés. En effet, les duplications (forks) de votre dépôt public peuvent exécuter du code potentiellement dangereux sur la machine de votre exécuteur auto-hébergé en créant une demande de tirage qui exécute le code dans un workflow.

Pour plus d’informations, consultez « Informations de référence sur l’utilisation sécurisée ».

Vous pouvez configurer un groupe d’exécuteurs pour exécuter les workflows sélectionnés ou tous les workflows. Par exemple, vous pouvez utiliser ce paramètre pour protéger les secrets stockés sur des exécuteurs ou pour normaliser les workflows de déploiement en limitant un groupe d’exécuteurs pour qu’il exécute uniquement un workflow réutilisable spécifique. Ce paramètre ne peut pas être remplacé si vous configurez un groupe d’exécuteurs d’une organisation qui a été partagé par une grande entreprise.

Changing which workflows can access an organization runner group

  1. Accédez à la page principale de l’organisation où se trouvent vos groupes d’exécuteurs.

  2. Cliquez sur Paramètres.

  3. Dans la barre latérale gauche, cliquez sur Actions, puis sur Groupes d’exécuteurs.

  4. Dans la liste des groupes, cliquez sur le groupe d’exécuteurs à configurer.

  5. Sous Accès aux workflows, sélectionnez le menu déroulant, puis cliquez sur Workflows sélectionnés.

  6. Cliquez sur .

  7. Entrez une liste séparée par des virgules des workflows qui peuvent accéder au groupe d’exécuteurs. Utilisez le chemin d’accès complet, y compris le nom et le propriétaire du dépôt. Épinglez le workflow à une branche, à une étiquette ou à un algorithme SHA complet. Par exemple : octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Seuls les travaux définis directement dans les workflows sélectionnés auront accès au groupe d’exécuteurs.

    Les groupes d’exécuteurs définis au niveau d’une organisation ne peuvent pas accéder aux workflows d’une autre organisation dans la grande entreprise. Au lieu de cela, vous devez définir un groupe d’exécuteurs au niveau de la grande entreprise.

  8. Cliquez sur Enregistrer.

Changing which workflows can access an enterprise runner group

  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 affiché lorsque vous cliquez sur la photo du profil sur GitHub Enterprise Server. L’option « Paramètres de l’entreprise » est mise en évidence.

  2. Sur le côté gauche de la page, dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

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

  4. Cliquez sur l’onglet Groupes d’exécuteurs.

  5. Dans la liste des groupes, cliquez sur le groupe d’exécuteurs à configurer.

  6. Sous Accès aux workflows, sélectionnez le menu déroulant, puis cliquez sur Workflows sélectionnés.

  7. Cliquez sur .

  8. Entrez une liste séparée par des virgules des workflows qui peuvent accéder au groupe d’exécuteurs. Utilisez le chemin d’accès complet, y compris le nom et le propriétaire du dépôt. Épinglez le workflow à une branche, à une étiquette ou à un algorithme SHA complet. Par exemple : octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Seuls les travaux définis directement dans les workflows sélectionnés auront accès au groupe d’exécuteurs.

    Les groupes d’exécuteurs définis au niveau d’une organisation ne peuvent pas accéder aux workflows d’une autre organisation dans la grande entreprise. Au lieu de cela, vous devez définir un groupe d’exécuteurs au niveau de la grande entreprise.

  9. Cliquez sur Enregistrer.

Changing the name of a runner group

You can edit the name of your runner groups at the enterprise and organization levels.

Changing the name of an organization runner group

  1. Accédez à la page principale de l’organisation où se trouvent vos groupes d’exécuteurs.
  2. Cliquez sur Paramètres.
  3. Dans la barre latérale gauche, cliquez sur Actions, puis sur Groupes d’exécuteurs.
  4. Dans la liste des groupes, cliquez sur le groupe d’exécuteurs à configurer.
  5. Entrez le nom du nouveau groupe d’exécuteurs dans le champ de texte sous « Nom du groupe ».
  6. Cliquez sur Enregistrer.

Changing the name of an enterprise runner group

  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 affiché lorsque vous cliquez sur la photo du profil sur GitHub Enterprise Server. L’option « Paramètres de l’entreprise » est mise en évidence.

  2. Sur le côté gauche de la page, dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

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

  4. Cliquez sur l’onglet Groupes d’exécuteurs.

  5. Dans la liste des groupes, cliquez sur le groupe d’exécuteurs à configurer.

  6. Entrez le nom du nouveau groupe d’exécuteurs dans le champ de texte sous « Nom du groupe ».

  7. Cliquez sur Enregistrer.

Automatically adding a self-hosted runner to a group

Vous pouvez utiliser le script de configuration pour ajouter automatiquement un nouvel exécuteur à un groupe. Par exemple, cette commande inscrit un nouvel exécuteur et utilise le paramètre --runnergroup pour l’ajouter à un groupe nommé rg-runnergroup.

./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup

La commande échoue si le groupe d’exécuteurs n’existe pas :

Could not find any self-hosted runner group named "rg-runnergroup".

Moving a self-hosted runner to a group

Si vous ne spécifiez pas de groupe d’exécuteurs pendant le processus d’inscription, vos nouveaux exécuteurs sont automatiquement affectés au groupe par défaut et peuvent ensuite être déplacés vers un autre groupe.

Moving an organization runner to a group

  1. Sur GitHub, accédez à la page principale de l’organisation.

  2. Sous le nom de votre organisation, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  3. Dans la barre latérale gauche, cliquez sur Actions, puis sur Exécuteurs.

  4. Dans la liste « Exécuteurs », cliquez sur l’exécuteur que vous souhaitez configurer.

  5. Sélectionnez la liste déroulante Groupe d’exécuteurs.

  6. Dans « Déplacer l’exécuteur vers le groupe », choisissez un groupe de destination pour l’exécuteur.

Moving an enterprise runner to a group

  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 affiché lorsque vous cliquez sur la photo du profil sur GitHub Enterprise Server. L’option « Paramètres de l’entreprise » est mise en évidence.

  2. Sur le côté gauche de la page, dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

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

  4. Cliquez sur l’onglet Exécuteurs.

  5. Dans la liste « Exécuteurs », cliquez sur l’exécuteur que vous souhaitez configurer.

  6. Sélectionnez la liste déroulante Groupe d’exécuteurs.

  7. Dans « Déplacer l’exécuteur vers le groupe », choisissez un groupe de destination pour l’exécuteur.

Removing a self-hosted runner group

Pour pouvoir supprimer un groupe d’exécuteurs, vous devez d’abord déplacer ou supprimer tous les exécuteurs du groupe.

Removing a runner group from an organization

  1. Accédez à la page principale de l’organisation où se trouvent vos groupes d’exécuteurs.
  2. Cliquez sur Paramètres.
  3. Dans la barre latérale gauche, cliquez sur Actions, puis sur Groupes d’exécuteurs.
  4. Dans la liste des groupes, à droite du groupe à supprimer, cliquez sur .
  5. Pour supprimer le groupe, cliquez sur Supprimer le groupe.
  6. Passez en revue les invites de confirmation, puis cliquez sur Supprimer ce groupe d’exécuteurs.

Removing a runner group from an 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 affiché lorsque vous cliquez sur la photo du profil sur GitHub Enterprise Server. L’option « Paramètres de l’entreprise » est mise en évidence.

  2. Sur le côté gauche de la page, dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

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

  4. Cliquez sur l’onglet Groupes d’exécuteurs.

  5. Dans la liste des groupes, à droite du groupe à supprimer, cliquez sur .

  6. Pour supprimer le groupe, cliquez sur Supprimer le groupe.

  7. Passez en revue les invites de confirmation, puis cliquez sur Supprimer ce groupe d’exécuteurs.

Utilisation de noms uniques pour les groupes d’exécuteurs

GitHub Actions nécessite que les noms de groupes d’exécuteurs soient uniques au niveau de l’organisation. Cela signifie qu’une organisation ne peut plus créer de groupe d’exécuteurs portant le même nom qu’un autre au sein de l’entreprise. En outre, les utilisateurs voient une bannière d’avertissement sur tous les groupes d’exécuteurs qui partagent le même nom qu’un groupe dans l’entreprise, qui suggère que le groupe d’organisation doit être renommé.

Pour éviter toute ambiguïté, un workflow échoue s’il existe des groupes d’exécuteurs en double dans l’organisation et l’entreprise. Pour résoudre ce problème, vous pouvez renommer l’un de vos groupes d’exécuteurs dans l’organisation ou l’entreprise, ou mettre à jour votre fichier de workflow pour ajouter un préfixe au nom du groupe d’exécuteurs :

  • org/ ou organization/
  • ent/ ou enterprise/

Exemple : utilisation de préfixes pour différencier les groupes d’exécuteurs

Par exemple, si vous avez un groupe d’exécuteurs nommé my-group dans l’organisation et un autre nommé my-group dans l’entreprise, vous pouvez mettre à jour votre fichier de workflow pour utiliser org/my-group ou ent/my-group afin de les différencier.

Utilisation de org/:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

Utilisation de ent/:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]