Skip to main content

Informationen zu Cloud- und lokalen Sandboxes für GitHub Copilot

Cloud- und lokale Sandkasten bieten isolierte Ausführungsumgebungen, die die sichere Interaktion mit Code, Tools, Dateisystem und Netzwerkressourcen auf Ihrem lokalen Computer oder in vollständig isolierten Cloudumgebungen ermöglichen Copilot .

Hinweis

Cloud- und lokale Sandkasten sind GitHub Copilot in Öffentliche Vorschau und unterliegen Änderungen.

Einleitung

Copilot Cloud- und lokale Sandboxes sind die Ausführungsplattform, die sichere Sandkastenerfahrungen sowohl GitHub Copilot-CLIlokal als auch in der Cloud ermöglicht. Da Copilot Sie weitere Aktionen in Ihrem Auftrag ausführen – Ausführen von Tools, Ausführen von Befehlen und Ändern von Dateien – bietet sandkastening die Isolations-, Portabilitäts- und Richtlinienkontrollen, die erforderlich sind, um agentische Workflows sicher zu übernehmen.

Die Sandboxing gilt derzeit für Copilot CLI Sitzungen. Sie können sich auch für die Verwendung von Cloud-Sandboxing entscheiden, wenn Sie eine neue Sitzung in der GitHub Copilot App. Weitere Informationen findest du unter Arbeiten mit Agent-Sitzungen in der GitHub-Copilot-App.

Mit der Sandkastenumgebung können Sie auswählen, wo Copilot ausgeführt wird:

  • Lokales Sandkastening: Führen Sie sicher auf Ihrem eigenen Computer aus Copilot . Die ausgeführten Copilot Befehle haben eingeschränkten Zugriff auf Ihre Dateisystem-, Netzwerk- und Systemfunktionen. Sie können lokale Sandboxing kostenlos verwenden.
  • Cloud-Sandboxing: Führen Sie die gesamte Copilot CLI Sitzung remote in einer vollständig isolierten, ephemeren Linux-Umgebung aus, die von GitHub. Cloud-Sandboxing wird basierend auf der Nutzung in Rechnung gestellt.

Lokales Sandboxing

Hinweis

Das lokale Sandkastening ist derzeit ein experimentelles Feature. Um sie zu verwenden, beginnen Sie Copilot CLI mit der ‑‑experimental Befehlszeilenoption, oder geben Sie /experimental on während einer Sitzung ein.

Lokales Sandboxing ermöglicht es, Copilot direkt auf Ihrem Computer in einer Sandbox-Umgebung auszuführen, mit eingeschränktem Zugriff auf Ihr Dateisystem, Netzwerkverbindungen und Systemfunktionen.

Die lokale Sandkastenfunktion ist standardmäßig deaktiviert. Bis Sie dies aktivieren, werden die Shellbefehle, die Copilot direkt auf Ihrem Computer ausgeführt werden, mit demselben Zugriff wie Ihr Benutzerkonto ausgeführt: sie können überall dort lesen, schreiben und löschen, wo Sie ein beliebiges Netzwerk erreichen, das Ihr Computer erreichen kann, und Ihre Anmeldeinformationen ohne Einschränkung verwenden. Wenn Sie lokale Sandboxing aktivieren, wird dieser Zugriff auf eine von Ihnen gesteuerte Richtlinie eingeschränkt.

Funktionsweise des lokalen Sandkastens

Lokale Sandboxing wird von Microsoft eXecution Container (MXC) unterstützt, einer plattformübergreifenden Technologie, die eine gemeinsame Schnittstelle zu den Isolationsmechanismen bereitstellt, die auf jedem Betriebssystem verfügbar sind. Copilot CLI deklariert die Sandkastenrichtlinie, die er erzwingen möchte – welche Pfade lesbar oder schreibbar sind, ob der Netzwerkzugriff zulässig ist usw. – und MXC wendet diese Richtlinie mit dem entsprechenden Isolations-Back-End für Ihr Betriebssystem an.

Isolationstechnologien bestehen in einem Spektrum, von einer starken Isolation wie vollständigen Hypervisoren oder Containern bis hin zur leichteren Isolation wie Prozess- und Dateisystemeindämmung auf Betriebssystemebene. Das lokale Sandkastening befindet sich derzeit am leichteren Ende dieses Spektrums: Er schränkt ein, was ein Prozess im Netzwerk lesen, schreiben und erreichen kann, aber sie führt Ihre Befehle nicht innerhalb eines separaten virtuellen Computers oder Containers aus. Wenn Sie bewerten möchten, ob diese Isolationsstufe Ihre Sicherheitsanforderungen erfüllt, finden Sie im Microsoft/mxc-Repository Details zur Implementierung.

Lokale Sandbox aktivieren

Führen Sie Folgendes aus, um lokales Sandboxing innerhalb einer Copilot CLI-Sitzung zu aktivieren:

Shell
/sandbox enable

Nachdem Sie die lokale Sandkastenfunktion aktiviert haben, werden die Befehle und Tools, die ein Agent in Ihrem Auftrag ausführt– Shellbefehle, Dateisuche und standardmäßig die MCP- und Sprachserver (LSP) gestartet– innerhalb einer Sandbox auf Betriebssystemebene ausgeführt, sodass der Zugriff auf Ihr System eingeschränkt wird. Die CLI verwendet weiterhin lokale Sandboxing, wenn Sie die CLI in Zukunft – für programmgesteuerte und interaktive Verwendung – verwenden, bis Sie sie /sandbox disable deaktivieren.

Die integrierten Dateitools der CLI – Befehle von Erstanbietern, die Teil der CLI sind, statt Shellbefehle wie sedShellbefehle – werden in der CLI ausgeführt. Da die CLI selbst nicht sandkastenweise ist, sieht die Betriebssystem-Sandbox nie die Dateivorgänge, die diese Tools ausführen und sie nicht einschränken können. Stattdessen werden die integrierten Tools codiert, um die Sandkastenrichtlinie selbst zu überprüfen und Ihre konfigurierten Einstellungen auf best-effort-Basis zu berücksichtigen.

Weitere Informationen findest du unter Verwenden der lokalen Sandkastenumgebung.

Konfigurieren der lokalen Sandkastenumgebung

Sie können das standardmäßige lokale Sandkastenverhalten verwenden oder ändern, was Copilot darauf zugreifen kann. Wenn Sie lokale Sandboxing konfigurieren, können Sie mehrere Dimensionen des Zugriffs steuern:

  • Dateisystem: Gewähren Sie Schreibschutz oder Lese-/Schreibzugriff auf bestimmte Pfade oder verweigern Sie Pfade.
  • Netzwerk: Zulassen oder Blockieren des ausgehenden Internetzugriffs und des lokalen Netzwerkzugriffs unabhängig voneinander.
  • Anmeldeinformationen: Wählen Sie aus, ob Ihre Git- und GitHub CLI (gh) Anmeldeinformationen im Sandkasten verfügbar gemacht werden.
  • Unterverarbeitungen: Wählen Sie aus, ob lokale MCP-Server und Sprachserver auch innerhalb der Sandbox ausgeführt werden. Remote-MCP-Server werden niemals sandkasteniert.
  • Schlüsselbund (macOS): Wählen Sie aus, ob der Systemschlüsselbund innerhalb der Sandbox erreichbar ist.
  • Ausnahmen pro Befehl: Zulassen oder Verhindern, dass einzelne Befehle außerhalb der Sandbox ausgeführt werden, wenn sie umfassenderen Zugriff benötigen.

Weitere Informationen findest du unter Konfigurieren lokaler Sandkasteneinstellungen.

Plattformübergreifender Support

Lokale Sandboxing ist unter macOS und Linux und auf Windows Insider-Builds verfügbar. Das Support- und Isolationsverhalten variiert je nach Plattform, da jedes Betriebssystem ein anderes Isolations-Back-End verwendet:

  • macOS verwendet das Seatbelt-Back-End (sandbox-exec).
  • Linux verwendet das Bubblewrap-Back-End, das erfordert, dass der bwrap Befehl installiert und auf Ihrem PATHComputer verfügbar ist. Wenn /sandbox Berichte, dass die Sandboxing unter Linux nicht unterstützt wird, installieren Sie Bubblewrap.
  • Windows verwendet das ProcessContainer-Back-End.

Da jede Plattform ein anderes Back-End verwendet, verhalten sich einige Richtlinienoptionen anders. Insbesondere kann der Sandkasten in Windows einzelne Pfade nicht blockieren, sodass dort alle von Ihnen hinzugefügten Regeln für den abgelehnten Pfad ignoriert werden. Statt einen Pfad für Windows zu verweigern, gewähren Sie nur Zugriff auf die spezifischen Verzeichnisse, die Copilot erforderlich sind, anstatt ein breites Verzeichnis zu gewähren und dann einen Teil davon auszuschließen. Dadurch wird ein sensibler Speicherort außerhalb der Reichweite des Sandkastens beibehalten, obwohl verweigerte Pfade nicht erzwungen werden. Verweigerte Pfade werden unter macOS und Linux erzwungen.

Durchsetzung von Unternehmensrichtlinien

Für Organisationen und Unternehmen können lokale Sandkastenrichtlinien mithilfe von Microsoft Intune und anderen MDM-Plattformen (Mobile Device Management) zentral konfiguriert und erzwungen werden. Dadurch können Administratoren steuern, wie Copilot mit lokalen Ressourcen auf verwalteten Geräten interagiert wird. Siehe Bereitstellen von mdmverwalteten Einstellungen.

Sandboxing in der Cloud

Cloud-Sandboxing ermöglicht es Ihnen, Copilot CLI Sitzungen in vollständig isolierten, ephemeren Linux-Umgebungen auszuführen, die von GitHub gehostet werden. Jede Cloud-Sandkastensitzung ist von Ihrer lokalen Umgebung und von anderen Sitzungen isoliert.

Das Cloud-Sandboxing basiert auf Azure Container Apps Sandboxes, wobei GitHub die Identitäts-, Richtlinien- und Abrechnungsebene bereitstellt.

Hinweis

Wenn Sie eine Organisation durchlaufen Copilot , hängt der Zugriff auf Cloud-Sandboxing davon ab, dass sie in den Organisations- oder Unternehmenseinstellungen aktiviert ist, wo sie standardmäßig deaktiviert ist. Weitere Informationen findest du unter Aktivieren oder Deaktivieren von Cloud-Sandboxes für Ihre Organisation oder Ihr Unternehmen.

Starten einer Cloud-Sandkastensitzung

Führen Sie den folgenden Befehl aus, um eine cloudgestützte Sitzung zu starten:

Shell
copilot ‑‑cloud ‑‑experimental

Hinweis

Cloud-Sandboxing ist derzeit ein experimentelles Feature. Um dies zu verwenden, müssen Sie experimentelle Features aktivieren Copilot CLI, z. B. mithilfe der ‑‑experimental Befehlszeilenoption beim Starten einer CLI-Sitzung, wie oben gezeigt.

Die ‑‑cloud Befehlszeilenoption startet eine interaktive Copilot CLI Sitzung in einer Cloud-Sandbox. Sie können zum Ausführen von Aufgaben, Ausführen von Shellbefehlen und zum Durchlaufen von Code auf die gleiche Weise wie in einer lokalen Sitzung auffordern Copilot . Die Befehle, die Copilot ausführt, werden in der Cloud-Umgebung ausgeführt, nicht auf Ihrem lokalen Computer.

Beim Ausführen copilot ‑‑cloud wird eine einzelne Copilot CLI Sitzung in einer Cloud-Sandbox gestartet. Sie wirkt sich nicht auf zukünftige Copilot Sitzungen aus. Jedes Mal, wenn Sie eine neue Sitzung in einer Cloud-Sandbox ausführen möchten, müssen Sie die CLI mit der ‑‑cloud Option starten.

Hinweis

Cloud-Sandboxing ist nur für interaktive Copilot CLI Sitzungen verfügbar. Sie können die CLI nicht programmgesteuert in einer Cloud-Sandbox ausführen, d. h., Sie können die Option nicht mit den ‑‑cloud``-p optionen -i kombinieren.

Fortsetzen von Sitzungen auf allen Geräten

Da Cloud-Sandkastensitzungen in einer gehosteten GitHubInfrastruktur ausgeführt werden, können Sie eine Copilot Sitzung auf jedem Gerät aufnehmen, unabhängig davon, wo die Sitzung ursprünglich gestartet wurde. Dies ermöglicht flexiblere Workflows, ohne Dass Dateien kopiert oder Abhängigkeiten neu installiert werden müssen.

Entladen von rechenintensiven Workflows

Sie können mehrere Copilot Aufgaben parallel in der Cloud ausführen, ohne lokale Ressourcen zu verbrauchen. Dies sorgt dafür, dass Ihre lokale Umgebung leicht und reaktionsfähig bleibt, während die agentgesteuerte Arbeit skaliert wird.

Einheitliche Governance

Cloud-Sandkastenrichtlinien verwenden dieselbe Konfiguration wie Copilot-Cloud-Agent Richtlinien, wodurch vorhandene Sicherheitssteuerelemente auf die Cloud-Sandkastenausführung ohne zusätzliche Einrichtung erweitert werden.

Sitzungslebenszyklus

Eine Cloud-Sandkastensitzung hat drei Hauptzustände:

  • Aktiv: Die Sitzung ist aktiv, und Sie interagieren über Copilot CLI mit ihr.
  • Beendet: Die Sitzung wird derzeit nicht ausgeführt, aber der Status wird gespeichert. Wenn Sie sie fortsetzen, werden Ihre Dateien, Umgebungsvariablen und laufende Arbeit wiederhergestellt.
  • Gelöscht: Die Sitzung und der gespeicherte Zustand werden entfernt und können nicht wiederhergestellt werden.

Wenn Sie eine Sitzung beenden, erstellt der Cloud-Sandkasten eine Momentaufnahme des Zustands, damit Sie später an der Stelle weiterholen können, an der Sie aufgehört haben. Wenn Sie eine Sitzung löschen, werden sowohl die ausgeführte Umgebung als auch die Momentaufnahme entfernt.

Authentifizierung und Zugriff

Sandkasten verwendet Ihre vorhandene Copilot CLI Authentifizierung. Wenn Sie sich anmelden Copilot CLI und Zugriff haben Copilot, können Sie Sandkasten verwenden. Sie müssen keinen separaten Cloudanbieter konfigurieren, API-Schlüssel verwalten oder Infrastruktur einrichten.

Ein Organisations- oder Unternehmensbesitzer muss die Cloud Sandbox-Zugriffsrichtlinie in den Organisations- oder Unternehmenseinstellungen aktivieren, bevor Mitglieder Cloud-Sandboxes verwenden können.

Informationen zum Aktivieren oder Deaktivieren von Cloud-Sandboxes für Mitglieder Ihrer Organisation finden Sie unter Aktivieren oder Deaktivieren von Cloud-Sandboxes für Ihre Organisation oder Ihr Unternehmen.

Abrechnung

Lokale Sandboxing ist im Standardsitz GitHub Copilot ohne zusätzliche Kosten enthalten.

Cloud-Sandboxing wird basierend auf der Nutzung in Rechnung gestellt. GitHub misst die Nutzung der Cloud-Sandbox anhand von drei Messwerten:

ZählerDescriptionEinheitPreis (USD)
ComputeZeit, zu der eine Cloud-Sandkastensitzung ausgeführt wird.Berechnen der zweiten Sekunde$0.000024
GedächtnisArbeitsspeicher, der einer Cloud-Sandkastensitzung zugewiesen wird, während sie läuft.GiB Sekunde$0.000003
StorageSnapshot-Speicher für gestoppte Sitzungen.GiB-Monat$0.005

Weitere Informationen dazu, wie die Cloud-Sandkastennutzung gemessen und in Rechnung gestellt wird, finden Sie unter Abrechnung für Cloud- und lokale Sandboxes für GitHub Copilot.

Weiterführende Lektüre