Skip to main content

Restriction de l’accès aux types de machines

Vous pouvez définir des contraintes sur les types d’ordinateurs que les utilisateurs peuvent choisir quand ils créent des espaces de code dans votre organisation.

Qui peut utiliser cette fonctionnalité ?

To manage access to machine types for the repositories in an organization, you must be an owner of the organization.

Les organisations sur les plans GitHub Team et GitHub Enterprise peuvent payer l’utilisation de membres et de collaborateurs de GitHub Codespaces. Ces organisations peuvent ensuite accéder aux paramètres et aux stratégies qui s’appliquent aux codespaces payés par l’organisation. Pour plus d’informations, consultez « Choisir qui possède et achète les codespaces dans votre organisation » et « Plans de GitHub ».

Vue d’ensemble

En règle générale, quand vous créez un codespace, vous pouvez choisir les spécifications de la machine qui va l’exécuter. Vous pouvez choisir le type de machine qui convient le mieux à vos besoins. Pour plus d’informations, consultez « Création d’un codespace pour un dépôt ».

Si vous payez l’utilisation de GitHub Codespaces, le type de machine que vous choisissez a des répercussions sur le montant facturé. Le coût de calcul d’un codespace est proportionnel au nombre de cœurs de processeur dans le type de machine que vous choisissez. Par exemple, le coût de calcul de l’utilisation d’un codespace pendant une heure sur une machine à 16 cœurs est huit fois supérieur à celui d’une machine à 2 cœurs. Pour plus d’informations sur la tarification, consultez À propos de la facturation pour GitHub Codespaces.

En tant que propriétaire d’une organisation, vous pouvez avoir envie de configurer des contraintes sur les types de machines disponibles. Par exemple, si le travail au sein de votre organisation ne nécessite pas de puissance de calcul ni d’espace de stockage importants, vous pouvez supprimer les machines à fortes ressources de la liste des options sélectionnables. Pour cela, définissez une ou plusieurs stratégies dans les paramètres GitHub Codespaces de votre organisation.

Comportement quand vous définissez une contrainte de type de machine

S’il existe des codespaces qui ne sont plus conformes à une stratégie que vous avez définie, ils continuent de fonctionner jusqu’à ce qu’ils soient arrêtés ou qu’ils aient expiré. Quand l’utilisateur essaie de reprendre un tel codespace, un message lui indique que le type de machine actuellement sélectionné n’est plus autorisé pour cette organisation et l’invite à en choisir un autre.

Si vous supprimez des types de machines dont les spécifications sont supérieures et qui sont exigés par la configuration GitHub Codespaces d’un dépôt individuel dans votre organisation, il n’est pas possible de créer un codespace pour ce dépôt. Quand vous essayez de créer un codespace, un message vous indique qu’il n’existe aucun type de machine valide disponible qui répond aux exigences de la configuration GitHub Codespaces du dépôt.

Remarque : Toute personne pouvant modifier le fichier de configuration devcontainer.json dans un dépôt peut définir une spécification minimale pour les machines utilisables pour les codespaces pour ce dépôt. Pour plus d’informations, consultez « Définition d’une spécification minimale pour les machines de codespaces ».

Si la définition d’une stratégie pour des types de machines vous empêche d’utiliser GitHub Codespaces pour un dépôt particulier, vous avez deux possibilités :

  • Vous pouvez ajuster vos stratégies pour supprimer spécifiquement les restrictions du dépôt concerné.
  • Toute personne qui a un codespace auquel elle ne peut plus accéder, en raison de la nouvelle stratégie, peut exporter son codespace vers une branche. Cette branche va contenir tous les changements que la personne apporte au codespace. Cette dernière peut alors ouvrir un nouveau codespace sur cette branche avec un type de machine conforme ou travailler sur cette branche localement. Pour plus d’informations, consultez « Exportation de modifications vers une branche ».

Définition de stratégies spécifiques d’un dépôt à l’échelle de l’organisation

Quand vous créez une stratégie, vous choisissez si elle s’applique à tous les dépôts de votre organisation ou uniquement aux dépôts spécifiés. Si vous définissez une stratégie à l’échelle de l’organisation, alors toutes les stratégies que vous définissez pour des dépôts individuels doivent s’inscrire dans cet ensemble de restrictions au niveau de l’organisation. L’ajout de stratégies rend le choix du type de machine plus restrictif, et non moins restrictif.

Par exemple, vous pouvez créer une stratégie à l’échelle de l’organisation qui limite les types de machines à 2 ou 4 cœurs. Vous pouvez ensuite définir une stratégie pour le dépôt A qui les limite à seulement 2 cœurs. Si vous définissez une stratégie pour le dépôt A qui le limite à des machines dotées de 2, 4 ou 8 cœurs, vous pouvez uniquement choisir des machines à 2 et 4 cœurs, car la stratégie à l’échelle de l’organisation empêche l’accès à des machines à 8 cœurs.

Si vous ajoutez une stratégie à l’échelle de l’organisation, vous devez la définir sur le plus grand choix possible de types de machines disponibles pour un dépôt au sein de votre organisation. Vous pouvez ensuite ajouter des stratégies plus précises pour un dépôt afin de restreindre encore ce choix.

Remarque : les stratégies relatives aux codespaces s’appliquent uniquement aux codespaces pour lesquels votre organisation est facturée. Si un utilisateur crée à ses propres frais un codespace pour un référentiel au sein de votre organisation, ce codespace ne sera pas soumis à ces politiques. Pour plus d’informations, consultez « Choisir qui possède et achète les codespaces dans votre organisation ».

Ajout d’une stratégie pour limiter les types de machines disponibles

  1. Dans l’angle supérieur droit de GitHub.com, sélectionnez votre photo de profil, puis sur Vos organisations.

    Capture d’écran du menu déroulant sous l’image de profil de @octocat. « Vos organisations » est présenté en orange foncé.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la section « Code, planification et automatisation » de la barre latérale, sélectionnez Codespaces , puis cliquez sur Stratégies.

  4. Dans la page « Stratégies de codespaces », cliquez sur Créer une stratégie.

  5. Entrez un nom pour votre nouvelle stratégie.

  6. Cliquez sur Ajouter une contrainte et choisissez Types de machines.

  7. Cliquez sur pour modifier la contrainte, puis effacez la sélection des types de machines que vous ne voulez pas rendre disponibles.

    Capture d’écran de la liste déroulante « Valeurs autorisées » avec des options pour quatre types de machine. Les options pour les machines à 2 cœurs et 4 cœurs sont sélectionnées.

  8. Cliquez en dehors de la boîte de dialogue pour la fermer.

  9. Par défaut, la stratégie est définie pour s’appliquer à tous les dépôts. Si vous souhaitez qu’elle s’applique uniquement à certains des dépôts de votre organisation, cliquez sur Tous les dépôts, puis sur Dépôts sélectionnés dans le menu déroulant.

    Capture d’écran de la liste déroulante de sélection des référentiels, montrant les options « Tous les référentiels » et « Référentiels sélectionnés ».

    Remarque : si vous ajoutez une contrainte à une stratégie existante contenant déjà la contrainte « Nombre maximal de codespaces par utilisateur », vous ne pourrez pas appliquer la stratégie aux référentiels sélectionnés. En effet, la contrainte « Nombre maximal de codespaces par utilisateur » s’applique toujours à tous les référentiels de l’organisation.

    Avec le choix Dépôts sélectionnés :

    1. Cliquez sur .

      Capture d’écran de l’icône des paramètres (symbole d’engrenage) à gauche d’un bouton intitulé « Référentiels sélectionnés ».

    2. Sélectionnez les dépôts auxquels vous souhaitez appliquer cette stratégie.

    3. En bas de la liste des dépôts, cliquez sur Sélectionner des dépôts.

      Capture d’écran d’une liste de référentiels, chacun avec une case à cocher. Trois référentiels sont sélectionnés.

  10. Pour ajouter une autre contrainte à la stratégie, cliquez sur Ajouter une contrainte et choisissez une autre contrainte. Pour plus d’informations sur les autres contraintes, consultez :

  11. Une fois que vous avez terminé d’ajouter des contraintes à votre stratégie, cliquez sur Enregistrer.

La stratégie sera appliquée à tous les nouveaux codespaces facturables à votre organisation. La contrainte de type de machine est également appliquée aux codespaces existants quand une personne tente de redémarrer un codespace arrêté ou de se reconnecter à un codespace actif.

Modification d’une stratégie

Vous pouvez modifier une stratégie existante. Par exemple, vous avez peut-être besoin d’ajouter ou de supprimer des contraintes dans une stratégie.

  1. Affichez la page « Stratégies de codespaces ». Pour plus d’informations, consultez « Ajout d’une stratégie pour limiter les types de machines disponibles ».
  2. Cliquez sur le nom de la stratégie à modifier.
  3. À côté de la contrainte « Types de machines », cliquez sur .
  4. Apportez les changements nécessaires, puis cliquez sur Enregistrer.

Suppression d’une stratégie

  1. Affichez la page « Stratégies de codespaces ». Pour plus d’informations, consultez « Ajout d’une stratégie pour limiter les types de machines disponibles ».

  2. Cliquez sur à droite de la stratégie que vous souhaitez supprimer.

    Capture d’écran d’une stratégie avec le bouton Supprimer (icône corbeille) mis en surbrillance avec un contour orange foncé.

Pour aller plus loin