Skip to main content

Gestion de l’accès à d’autres dépôts dans votre codespace

Vous pouvez gérer les référentiels auxquels GitHub Codespaces a accès.

Vue d’ensemble

Par défaut, votre codespace se voit affecter un jeton dont l’étendue est délimitée par l’autorisation read, ou l’autorisation read et write pour le dépôt à partir duquel il a été créé. L’étendue de ce jeton change automatiquement dans les circonstances suivantes.

  • Si vous créez un codespace pour un dépôt auquel vous avez uniquement accès en lecture, et si vous effectuez ensuite un commit dans le codespace, GitHub Codespaces lie automatiquement votre codespace à une nouvelle duplication (fork) ou à une duplication déjà existante du dépôt, puis met à jour le jeton pour disposer de l’autorisation read et write sur la duplication. Pour plus d’informations, consultez « Utilisation d’un contrôle de code source dans votre codespace ».
  • Si vous créez un codespace à partir d’un modèle, et si vous le publiez ensuite sur un nouveau dépôt, GitHub Codespaces met à jour le jeton pour disposer des autorisations read et write sur le nouveau dépôt. Pour plus d’informations, consultez « Création d’un codespace à partir d’un modèle ».

Si votre projet a besoin d’autorisations supplémentaires pour d’autres dépôts, vous pouvez les configurer dans le fichier devcontainer.json et vérifier que les autres collaborateurs disposent de l’ensemble d’autorisations approprié. Quand des autorisations sont listées dans le fichier devcontainer.json, vous êtes invité à passer en revue et autoriser les autorisations supplémentaires dans le cadre de la création du codespace pour ce dépôt. Une fois que vous avez autorisé les autorisations listées, GitHub Codespaces mémorise votre choix et ne vous demande pas d’autorisation, sauf si les autorisations figurant dans le fichier devcontainer.json changent.

Pour plus d’informations, consultez « Sécurité dans GitHub Codespaces. »

Prérequis

Pour créer des codespaces avec des autorisations personnalisées définies, vous devez utiliser l’une des options suivantes :

Définition d’autorisations de dépôt supplémentaires

  1. Vous configurez les autorisations de dépôt pour GitHub Codespaces dans le fichier devcontainer.json. Si votre dépôt ne contient pas encore de fichier devcontainer.json, ajoutez-en un maintenant. Pour plus d’informations, consultez « Ajouter un conteneur de développement à votre projet ».

  2. Modifiez le fichier devcontainer.json, en ajoutant le nom du dépôt et les autorisations nécessaires à l’objet repositories :

    JSON
    {
      "customizations": {
        "codespaces": {
          "repositories": {
            "my_org/my_repo": {
              "permissions": {
                "issues": "write"
              }
            }
          }
        }
      }
    }

    Remarque : Vous pouvez uniquement référencer des dépôts qui appartiennent au même compte personnel ou à la même organisation que le dépôt dans lequel vous travaillez actuellement.

    Vous pouvez octroyer le nombre souhaité d’autorisations suivantes pour chaque dépôt listé :

    • actions – lecture / écriture
    • checks – lecture / écriture
    • contents – lecture / écriture
    • deployments – lecture / écriture
    • discussions – lecture / écriture
    • issues – lecture / écriture
    • packages – lecture
    • pages – lecture / écriture
    • pull_requests – lecture / écriture
    • repository_projects – lecture / écriture
    • statuses – lecture / écriture
    • workflows – écriture

    Pour définir une autorisation pour tous les dépôts au sein d’une organisation, utilisez le caractère générique * après le nom de votre organisation dans l’objet repositories.

    {
      "customizations": {
        "codespaces": {
          "repositories": {
            "my_org/*": {
              "permissions": {
                "issues": "write"
              }
            }
          }
        }
      }
    }
    

    Pour définir toutes les autorisations pour un dépôt donné, utilisez "permissions": "read-all" ou "permissions": "write-all" dans l’objet de dépôt.

    {
      "customizations": {
        "codespaces": {
          "repositories": {
            "my_org/my_repo": {
              "permissions": "write-all"
            }
          }
        }
      }
    }
    

Acceptation des autorisations demandées

Si des autorisations de dépôt supplémentaires sont définies dans le fichier devcontainer.json, vous êtes invité à les passer en revue et éventuellement de les accepter quand vous créez un codespace ou une configuration de prébuild pour ce dépôt. Quand vous acceptez des autorisations pour un dépôt, GitHub Codespaces ne vous réinvite pas à les passer en revue, sauf si l’ensemble d’autorisations demandées a changé pour le dépôt.

Page des autorisations demandées

Vous devez uniquement accepter les autorisations pour les dépôts que vous connaissez et en lesquels vous avez confiance. Si vous n’approuvez pas l’ensemble des autorisations demandées, cliquez sur Continuer sans autoriser pour créer le codespace avec l’ensemble d’autorisations de base. Le refus d’autorisations supplémentaires peut avoir des répercussions sur le fonctionnement de votre projet au sein du codespace, car ce dernier n’a alors accès qu’au dépôt à partir duquel il a été créé.

Vous pouvez uniquement accepter des autorisations que votre compte personnel possède déjà. Si un codespace demande des autorisations pour des dépôts auxquels vous n’avez pas actuellement accès, contactez leur propriétaire ou administrateur pour obtenir l’accès suffisant, puis réessayez de créer un codespace.

Accès et sécurité

Note de dépréciation : Le paramètre d’accès et de sécurité décrit ci-dessous est maintenant déprécié et documenté ici pour référence uniquement. Pour permettre un accès étendu à d’autres dépôts, ajoutez les autorisations demandées à la définition de votre conteneur de développement pour votre codespace, comme décrit ci-dessus.

Quand vous activez l’accès et la sécurité d’un dépôt dont votre compte personnel est propriétaire, tous les codespaces créés pour ce dépôt ont des autorisations d’accès en lecture à tous les autres dépôts que vous possédez. Si vous voulez restreindre les dépôts auxquels un codespace peut accéder, vous pouvez le limiter au dépôt pour lequel le codespace a été ouvert ou à des dépôts spécifiques. Vous devez uniquement activer l’accès et la sécurité pour les dépôts auxquels vous faites confiance.

  1. Dans le coin supérieur droit d’une page, cliquez sur votre photo de profil, puis sur Paramètres.

    Icône Paramètres dans la barre de l’utilisateur 1. Dans la section « Code, planification et automatisation » de la barre latérale, cliquez sur Codespaces.

  2. Sous « Accès et sécurité », sélectionnez le paramètre que vous voulez pour votre compte personnel.

    Cases d’option pour gérer les dépôts approuvés

  3. Si vous avez choisi « Dépôts sélectionnés », sélectionnez le menu déroulant, puis cliquez sur un dépôt pour autoriser les codespaces du dépôt à accéder aux autres dépôts qui vous appartiennent. Répétez cette opération pour tous les dépôts dont les codespaces ont besoin de pouvoir accéder aux autres dépôts dont vous êtes propriétaire.

    Menu déroulant « Dépôts sélectionnés »