Remarque
Les bacs à sable cloud et locaux pour GitHub Copilot souhaitent être modifiés préversion publique .
Présentation
Copilot les bacs à sable cloud et locaux sont la plateforme d’exécution qui alimente les expériences bac à sable sécurisées pour CLI GitHub Copilot, localement et dans le cloud. Comme Copilot il prend davantage d’actions en votre nom , en exécutant des outils, en exécutant des commandes et en modifiant des fichiers, le bac à sable fournit l’isolation, la portabilité et les contrôles de stratégie nécessaires pour adopter des flux de travail agentiques en toute sécurité.
Le bac à sable s’applique actuellement aux Copilot pour CLI sessions. Vous pouvez également choisir d’utiliser le bac à sable cloud lorsque vous démarrez une nouvelle session dans le GitHub application Copilot. Pour plus d’informations, consultez « Travailler avec les sessions de l’agent dans l’application GitHub Copilot ».
Avec le bac à sable (sandboxing), vous pouvez choisir l’emplacement où Copilot s’exécute :
- Bac à sable local : exécutez Copilot en toute sécurité sur votre propre ordinateur. Les commandes qui s’exécutent Copilot ont un accès restreint à votre système de fichiers, à votre réseau et aux fonctionnalités système. Vous pouvez utiliser le bac à sable local sans frais supplémentaires.
- Bac à sable cloud : exécutez la session entière Copilot pour CLI à distance, à l’intérieur d’un environnement Linux complètement isolé et éphémère hébergé par GitHub. Le bac à sable cloud est facturé en fonction de l’utilisation.
Sandboxing local
Remarque
Le bac à sable local est actuellement une fonctionnalité expérimentale. Pour l’utiliser, commencez Copilot pour CLI par l’option ‑‑experimental de ligne de commande ou entrez /experimental on pendant une session.
Le bac à sable local permet Copilot de s’exécuter dans un environnement en bac à sable directement sur votre ordinateur, avec un accès restreint à votre système de fichiers, à la connectivité réseau et aux fonctionnalités système.
Le bac à sable local est désactivé par défaut. Jusqu’à ce que vous l’activez, les commandes d’interpréteur de commandes qui Copilot s’exécutent directement sur votre ordinateur avec le même accès que votre compte d’utilisateur : elles peuvent lire, écrire et supprimer où que vous puissiez, atteindre n’importe quel réseau auquel votre ordinateur peut accéder et utiliser vos informations d’identification sans restriction. L’activation du bac à sable local limite cet accès à une stratégie que vous contrôlez.
Fonctionnement du bac à sable local
Le bac à sable local est alimenté par Microsoft conteneur eXecution (MXC), une technologie multiplateforme qui fournit une interface commune aux mécanismes d’isolation disponibles sur chaque système d’exploitation. Copilot pour CLI déclare la stratégie de bac à sable qu’elle souhaite appliquer ( quels chemins sont lisibles ou accessibles en écriture, que l’accès réseau soit autorisé, et ainsi de suite) et MXC applique cette stratégie à l’aide du back-end d’isolation approprié pour votre système d’exploitation.
Les technologies d’isolation existent sur un spectre, de l’isolation forte, comme les hyperviseurs complets ou les conteneurs, à une isolation plus légère, comme le processus au niveau du système d’exploitation et l’isolement du système de fichiers. Le bac à sable local se trouve actuellement à la fin plus légère de ce spectre : il limite ce qu’un processus peut lire, écrire et atteindre sur le réseau, mais il n’exécute pas vos commandes à l’intérieur d’une machine virtuelle ou d’un conteneur distinct. Si vous souhaitez déterminer si ce niveau d’isolation répond à vos exigences de sécurité, consultez le référentiel microsoft/mxc pour plus d’informations sur l’implémentation.
Activation du bac à sable local
Pour activer le bac à sable local à l’intérieur d’une Copilot pour CLI session, exécutez :
/sandbox enable
/sandbox enable
Après avoir activé le bac à sable local, les commandes et les outils qu’un agent s’exécute en votre nom : commandes shell, recherche de fichiers et, par défaut, les serveurs MCP et langage (LSP) que l’interface CLI démarre, s’exécutent à l’intérieur d’un bac à sable au niveau du système d’exploitation, ce qui limite leur accès à votre système. L’interface CLI continue d’utiliser le bac à sable local chaque fois que vous utilisez l’interface CLI ultérieurement, pour une utilisation programmatique et interactive, jusqu’à ce que vous l’exécutez /sandbox disable pour la désactiver.
Les outils de fichiers intégrés de l’interface CLI ( les commandes internes qui font partie de l’interface CLI, plutôt que les commandes shell comme sed) s’exécutent dans l’interface CLI. Étant donné que l’interface CLI elle-même n’est pas en bac à sable, le bac à sable du système d’exploitation ne voit jamais les opérations de fichier effectuées par ces outils et ne peut pas les limiter. Au lieu de cela, les outils intégrés sont codés pour vérifier la stratégie de bac à sable eux-mêmes et respecter vos paramètres configurés de manière optimale.
Pour plus d’informations, consultez « Utilisation du bac à sable local ».
Configuration du bac à sable local
Vous pouvez utiliser le comportement de bac à sable local par défaut ou modifier ce qui Copilot peut y accéder. Lorsque vous configurez le bac à sable local, vous pouvez contrôler plusieurs dimensions d’accès :
- Système de fichiers : accorder un accès en lecture seule ou en lecture/écriture à des chemins spécifiques ou refuser des chemins d’accès.
- Réseau : autorisez ou bloquez l’accès Internet sortant et l’accès au réseau local indépendamment.
- Informations d’identification : indiquez si vos informations d’identification Git et GitHub CLI (
gh) sont mises à disposition dans le bac à sable. - Sous-processus : indiquez si les serveurs MCP locaux et les serveurs linguistiques s’exécutent également dans le bac à sable. Les serveurs MCP distants ne sont jamais en bac à sable.
- Trousseau (macOS) : indiquez si le trousseau système est accessible à partir du bac à sable.
- Exceptions par commande : autorisez ou empêchez les commandes individuelles de s’exécuter en dehors du bac à sable lorsqu’elles ont besoin d’un accès plus large.
Pour plus d’informations, consultez « Configuration des paramètres de bac à sable local ».
Prise en charge multiplateforme
Le bac à sable local est disponible sur macOS et Linux, et sur Windows builds Insiders. Le comportement de prise en charge et d’isolation varie selon la plateforme, car chaque système d’exploitation utilise un serveur principal d’isolation différent :
- macOS utilise le back-end de la ceinture de sécurité (
sandbox-exec). - Linux utilise le back-end bubblewrap, ce qui nécessite l’installation et la disponibilité de la
bwrapcommande sur votrePATH. Si/sandboxles rapports indiquant que le bac à sable (sandbox) n’est pas pris en charge sur Linux, installez bubblewrap. - Windows utilise le back-end ProcessContainer.
Étant donné que chaque plateforme utilise un serveur principal différent, quelques options de stratégie se comportent différemment. Plus particulièrement, sur Windows le bac à sable ne peut pas bloquer des chemins individuels. Par conséquent, les règles de chemin refusé que vous ajoutez sont ignorées. Au lieu de refuser un chemin d’accès sur Windows, accordez l’accès uniquement aux répertoires spécifiques qui Copilot en ont besoin, plutôt que d’accorder un répertoire large, puis d’essayer d’exclure une partie de celui-ci. Cela conserve un emplacement sensible hors de portée du bac à sable, même si les chemins refusés ne sont pas appliqués. Les chemins refusés sont appliqués sur macOS et Linux.
Application de la stratégie d’entreprise
Pour les organisations et les entreprises, les stratégies de bac à sable locales peuvent être configurées et appliquées de manière centralisée à l’aide de Microsoft Intune et d’autres plateformes GPM (gestion des appareils mobiles). Cela permet aux administrateurs de contrôler l’interaction Copilot avec les ressources locales sur les appareils gérés. Consultez Déploiement des paramètres gérés par MDM.
Sandboxing dans le cloud
Le sandboxing dans le cloud vous permet d’exécuter Copilot pour CLI des sessions dans des environnements Linux isolés et entièrement éphémères, hébergés sur GitHub. Chaque session de bac à sable cloud est isolée de votre environnement local et d’autres sessions.
Le sandboxing dans le cloud repose sur Azure Container Apps Sandboxes, GitHub fournissant la couche d'identité, de stratégie et de facturation.
Remarque
Si vous passez Copilot par une organisation, l’accès au bac à sable cloud dépend de son activation dans les paramètres de l’organisation ou de l’entreprise, où il est désactivé par défaut. Pour plus d’informations, consultez « Activation ou désactivation des bacs à sable cloud pour votre organisation ou entreprise ».
Démarrage d’une session de sandbox dans le cloud
Pour démarrer une session cloud, exécutez la commande suivante :
copilot ‑‑cloud ‑‑experimental
copilot ‑‑cloud ‑‑experimental
Remarque
Le bac à sable cloud est actuellement une fonctionnalité expérimentale. Pour l’utiliser, vous devez activer les fonctionnalités expérimentales pour Copilot pour CLI: par exemple, à l’aide de l’option ‑‑experimental de ligne de commande lors du démarrage d’une session CLI, comme indiqué ci-dessus.
L’option ‑‑cloud de ligne de commande lance une session interactive Copilot pour CLI à l’intérieur d’un bac à sable cloud. Vous pouvez inviter Copilot à effectuer des tâches, exécuter des commandes shell et effectuer une itération sur le code, de la même façon que dans une session locale. Les commandes que Copilot exécute s’exécutent dans l’environnement cloud, et non sur votre machine locale.
L’exécution copilot ‑‑cloud démarre une session unique Copilot pour CLI dans un bac à sable cloud. Elle n’affecte pas les sessions futures Copilot . Chaque fois que vous souhaitez exécuter une nouvelle session dans un bac à sable cloud, vous devez démarrer l’interface CLI avec l’option ‑‑cloud .
Remarque
Le bac à sable cloud est disponible uniquement pour les sessions interactives Copilot pour CLI . Vous ne pouvez pas exécuter l’interface CLI par programmation dans un bac à sable cloud, autrement dit, vous ne pouvez pas combiner l’option ‑‑cloud avec les options ou -i les -p options.
Poursuivre les sessions d’un appareil à l’autre
Étant donné que les sessions de bac à sable cloud s’exécutent dans GitHubune infrastructure hébergée, vous pouvez récupérer une Copilot session sur n’importe quel appareil, quel que soit l’emplacement où la session a été démarrée à l’origine. Cela permet des flux de travail plus flexibles sans avoir à copier des fichiers ou à réinstaller des dépendances.
Décharger des flux de travail nécessitant beaucoup de ressources de calcul
Vous pouvez exécuter plusieurs Copilot tâches en parallèle dans le cloud sans consommer de ressources locales. Cela permet à votre environnement local de rester léger et réactif tout en faisant évoluer le travail piloté par des agents.
Gouvernance unifiée
Les stratégies de bac à sable cloud partagent la même configuration que les Agent cloud Copilot stratégies, ce qui étend les contrôles de sécurité existants à l’exécution en bac à sable cloud sans configuration supplémentaire.
Cycle de vie de session
Une session de bac à sable cloud a trois états principaux :
- Actif : la session est en cours d’exécution et vous interagissez avec elle à partir de Copilot pour CLI.
- Arrêtée : la session n'est pas en cours d'exécution, mais son état est enregistré. Lorsque vous le reprenez, vos fichiers, variables d’environnement et travaux en cours sont restaurés.
- Supprimé : la session et son état enregistré sont supprimés et ne peuvent pas être récupérés.
Lorsque vous arrêtez une session, le bac à sable cloud crée un instantané de son état afin de pouvoir récupérer l’emplacement où vous vous êtes arrêté ultérieurement. Lorsque vous supprimez une session, l’environnement en cours d’exécution et l’instantané sont supprimés.
Authentification et accès
Le bac à sable utilise votre authentification existante Copilot pour CLI . Si vous pouvez vous connecter à et avoir accès à , vous pouvez utiliser le bac à Copilot pour CLICopilotsable (sandbox). Vous n’avez pas besoin de configurer un fournisseur de cloud distinct, de gérer des clés API ou de configurer l’infrastructure.
Un propriétaire d’organisation ou d’entreprise doit activer la stratégie d’accès au bac à sable cloud dans les paramètres de l’organisation ou de l’entreprise avant que les membres puissent utiliser des bacs à sable cloud.
Pour plus d’informations sur l’activation ou la désactivation des bacs à sable cloud pour les membres de votre organisation, consultez Activation ou désactivation des bacs à sable cloud pour votre organisation ou entreprise.
Billing
Le bac à sable local est inclus dans le siège standard GitHub Copilot sans frais supplémentaires.
Le bac à sable cloud est facturé en fonction de l’utilisation. GitHub mesure l'utilisation des sandbox cloud selon trois indicateurs :
| Meter | Description | Unité | Prix (USD) |
|---|---|---|---|
| Compute | Durée d’exécution d’une session de bac à sable dans le cloud. | Calculer le deuxième | 0,000024 $ |
| Mémoire | Mémoire allouée à une session de bac à sable dans le cloud lorsqu’elle est en cours d’exécution. | Gio seconde | 0,000003 $ |
| Storage | Stockage d’instantanés pour les sessions arrêtées. | GiB mois | 0,005 USD |
Pour plus d’informations sur la façon dont l’utilisation du bac à sable cloud est mesurée et facturée, consultez Facturation des bacs à sable cloud et locaux pour GitHub Copilot.