Skip to main content

Restriction de l’image de base pour les codespaces

Vous pouvez spécifier les images de base à utiliser pour les nouveaux codespaces créés au sein de votre organisation.

Qui peut utiliser cette fonctionnalité

To manage image constraints for an organization's codespaces, 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

Quand vous créez un codespace, un conteneur Docker est automatiquement créé sur une machine virtuelle distante. Le conteneur Docker est créé à partir d’une image Docker. L’image est en fait un modèle pour les conteneurs Docker et détermine de nombreux aspects de l’environnement résultant fourni par le codespace.

Vous pouvez choisir l’image que vous souhaitez utiliser pour vos codespaces en la spécifiant dans la configuration de conteneur de développement d’un dépôt. Pour cela, vous pouvez par exemple utiliser la propriété image dans le fichier devcontainer.json.

JSON
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18",

Pour plus d’informations, consultez la spécification sur les conteneurs de développement sur le site web Conteneurs de développement.

Si vous ne spécifiez pas d’image dans la configuration de conteneur de développement d’un dépôt, l’image par défaut est utilisée. L’image par défaut contient un certain nombre de versions du runtime pour des langages et des outils couramment utilisés. Pour plus d’informations, consultez « Présentation des conteneurs de développement ».

En tant que propriétaire de l’organisation, vous pouvez ajouter une stratégie afin de restreindre les images pouvant être utilisées pour les codespaces créés au sein de votre organisation.

Si l’image spécifiée dans la configuration de conteneur de développement ne correspond pas à l’une des images autorisées, le message suivant s’affiche quand quelqu’un tente de créer un codespace pour le dépôt :

Impossible de créer le codespace : l’image de base « DETAILS FROM DEV CONTAINER CONFIGURATION » n’est pas autorisée en raison d’une stratégie d’organisation définie par le propriétaire de votre organisation.

Remarques:

  • La stratégie d’image de base est uniquement appliquée quand un codespace est créé. Elle n’est pas actuellement appliquée quand vous regénérez un conteneur. Ceci sera changé dans une future version. Pour plus d’informations, consultez « Présentation du cycle de vie des codespaces ».
  • La stratégie d’image de base ne s’applique ni à l’image par défaut ni à celle utilisée pour récupérer un codespace si une erreur introduite dans une configuration de conteneur de développement empêche la regénération du conteneur.

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 de l’image plus restrictif, et non moins restrictif.

Par exemple, vous pouvez créer une stratégie à l’échelle de l’organisation qui restreint l’image de base à l’une des dix images spécifiées. Vous pouvez ensuite définir une stratégie pour le dépôt A qui restreint l’image à un sous-ensemble de seulement deux des images spécifiées au niveau de l’organisation. La spécification d’images supplémentaires pour le dépôt A n’a aucun effet, car ces images ne sont pas spécifiées dans la stratégie au niveau de l’organisation. Si vous ajoutez une stratégie à l’échelle de l’organisation, vous devez la définir sur le plus grand choix possible d’images disponibles pour n’importe quel 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 définir les images autorisées

  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 d’espace de code », cliquez sur Créer une stratégie.

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

  6. Cliquez sur Ajouter une contrainte, puis choisissez Images de base.

  7. Cliquez sur pour modifier la contrainte.

  8. Dans le champ « Valeurs autorisées », entrez l’URL complète d’une image que vous souhaitez autoriser.

    Capture d’écran de l’URL « mcr.microsoft.com/vscode/devcontainers/java » entrée dans le champ « Valeurs autorisées ».

    Remarque : Vous devez spécifier une URL d’image qui correspond exactement à la valeur spécifiée dans une configuration de conteneur de développement.

  9. Cliquez sur pour ajouter la valeur.

  10. Si nécessaire, répétez les deux étapes précédentes pour ajouter d’autres URL d’images.

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

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

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

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

La stratégie est appliquée quand quelqu’un tente de créer un codespace facturable à votre organisation. La contrainte d’image de base n’affecte pas les codespaces existants, qu’ils soient actifs ou arrêtés.

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 définir les images autorisées ».
  2. Cliquez sur le nom de la stratégie à modifier.
  3. À côté de la contrainte « Images de base », cliquez sur .
  4. Ajoutez ou supprimez des URL d’images.
  5. 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 définir les images autorisées ».

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