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 ou pousser une nouvelle branche, GitHub Codespaces lie automatiquement votre codespace à une nouvelle duplication ou à une duplication déjà existante du dépôt, puis met à jour le jeton pour disposer de l’autorisation
read
etwrite
sur la duplication. Pour plus d’informations, consultez « Utilisation du contrôle de code source dans votre espace de code ». - 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
etwrite
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 :
- L’interface utilisateur web de GitHub
- GitHub CLI 2.5.2 ou version ultérieure
- Extension de GitHub Codespaces Visual Studio Code 1.5.3 ou version ultérieure
Définition d’autorisations de dépôt supplémentaires
-
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 fichierdevcontainer.json
, ajoutez-en un maintenant. Pour plus d’informations, consultez « Ajout d’une configuration de conteneur de développement à votre dépôt ». -
Modifiez le fichier
devcontainer.json
, en ajoutant le nom du dépôt et les autorisations nécessaires à l’objetrepositories
: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 / écriturechecks
– lecture / écriturecontents
– lecture / écrituredeployments
– lecture / écriturediscussions
– lecture / écritureissues
– lecture / écriturepackages
– lecturepages
– lecture / écriturepull_requests
– lecture / écriturerepository_projects
– lecture / écriturestatuses
– lecture / écritureworkflows
– écriture
Pour définir une autorisation pour un référentiel dans une organisation, vous devez ajouter explicitement ce nom de référentiel dans l’objet
repositories
.{ "customizations": { "codespaces": { "repositories": { "my_org/my_repo": { "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.
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.
-
Dans le coin supérieur droit d’une page, cliquez sur votre photo de profil, puis sur Paramètres.
1. Dans la section « Planification du code et automatisation » de la barre latérale, cliquez sur Codespaces. -
Sous « Accès et sécurité », sélectionnez le paramètre que vous voulez pour votre compte personnel :
- Désactivé : limitez l’accès de vos codespaces personnels au dépôt à partir duquel ils ont été créés.
- Tous les dépôts : tous vos codespaces personnels peuvent accéder aux autres dépôts que vous possédez.
- Dépôts sélectionnés : les codespaces personnels créés à partir de dépôts spécifiques peuvent accéder aux autres dépôts que vous possédez.
-
Si vous avez choisi « Dépôts sélectionnés », sélectionnez le menu déroulant « Sélectionner les dépôts », 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 étape pour tous les dépôts dont les codespaces ont doivent pouvoir accéder aux autres dépôts dont vous êtes propriétaire.