Verwenden Sie diesen Verweis, um die derzeit unterstützten Schlüssel zu verstehen in managed-settings.json.
Informationen zu Bereitstellungsmethoden und unterstützten Clients finden Sie unter Konfigurieren von unternehmensverwalteten Einstellungen.
Rangfolgeregeln
Wenn mehrere Einstellungsquellen vorhanden sind, haben einstellungen weiter oben in dieser Liste Vorrang vor den Einstellungen weiter unten in der Liste:
- MDM-verwaltete Einstellungen
- Serververwaltete Einstellungen
- Dateibasierte Einstellungen
- Einstellungen auf Benutzerebene
In Copilot CLI, der sandbox Schlüssel ist eine Ausnahme von diesen Rangfolgeregeln. Verwaltete Sandkasteneinschränkungen aus vom MDM verwalteten, serververwalteten und dateibasierten Einstellungen kombinieren sich miteinander und mit den Sandkasteneinstellungen des Benutzers in die restriktivste Richtung.
Unterstützte Schlüssel
| Schlüssel | Purpose | Copilot CLI | VS Code | GitHub Copilot App | Copilot-Cloud-Agent | JetBrains IDEs |
|---|---|---|---|---|---|---|
permissions.disable | Deaktiviert Umgehungs- oder YOLO-artiges Alles-zulassen-Verhalten | |||||
model | Legt die Automatische Modellauswahl als Standard für neue Unterhaltungen fest. | |||||
enabledPlugins | Aktiviert oder deaktiviert bestimmte Plug-Ins nach Schlüssel | |||||
extra | Fügt Plug-In-Marketplaces hinzu, auf die Benutzer zugreifen können | |||||
strict | Beschränkt die Plug-In-Installation auf explizit aufgeführte Marketplaces | |||||
telemetry | Konfiguriert den OpenTelemetry-Export und leitet Copilot Nutzungsdaten an einen Collector Ihrer Wahl weiter. | |||||
remoteControl | Beschränkt, ob auf diesem Gerät gehostete Sitzungen remote gesteuert werden können, basierend auf dem SSO-Autorisierungsstatus des Clients für die aufgeführten Organisationen. Wirkt sich nicht auf die Fähigkeit des Benutzers aus, Sitzungen, die auf anderen Geräten gehostet werden, remote zu steuern | |||||
allowedMcpServers | Definiert eine Liste von MCP-Servern, die ausgeführt werden dürfen. Jeder Server, der nicht übereinstimmt, wird blockiert. Weglassen, um alle Server zuzulassen, vorbehaltlich etwaiger Verweigerungsregeln. | |||||
deniedMcpServers | Legt MCP-Server fest, die ausnahmslos blockiert werden, selbst wenn sie einem Eintrag in allowedMcpServers entsprechen | |||||
sandbox | Erzwingt lokale Sandbox-Mindestbeschränkungen für die Ausführung von Befehlen, den Dateisystem- und Netzwerkzugriff, Anmeldeinformationen sowie lokale MCP- und LSP-Server |
Anwenden unterschiedlicher Einstellungen auf Unternehmensteams
Bei serververwalteten Bereitstellungen kann das Unternehmen verschiedene Governance auf Gruppen von Benutzern basierend auf ihrer Unternehmensteammitgliedschaft anwenden. Das Unternehmen definiert alle Einstellungen – die Teammitgliedschaft bestimmt nur, welche Benutzer einen bestimmten Wertesatz erhalten.
Um einen Schlüssel für teamspezifische Werte verfügbar zu machen, markieren Sie ihn in managed-settings.json mithilfe der { "overridable": <VALUE> }-Syntax als überschreibbar. Ein überschreibbarer Schlüssel verwendet den Wert des Teams, wenn er festgelegt ist, oder greift auf die Standardeinstellung Ihres Unternehmens zurück, wenn das Team sie nicht festgelegt hat. Die { "overridable": <VALUE> }-Syntax gilt für die Tasten model, permissions.disableBypassPermissionsMode, allowedMcpServers und deniedMcpServers. Schlüssel, die nicht als übersteuerbar gekennzeichnet sind, bleiben eine Entscheidung auf Unternehmensebene, die von Teams nicht geändert werden kann.
enabledPlugins und extraKnownMarketplaces wirken additiv. Das Unternehmen managed-settings.json legt einen Basisplan fest, und eine Unternehmensteamdatei kann darüber hinaus weitere Plug-Ins und Marketplaces hinzufügen. Die vollständigen Einrichtungsschritte finden Sie unter Konfigurieren von unternehmensverwalteten Einstellungen.
Beispielkonfiguration
Das folgende Beispiel zeigt diese Schlüssel in einer verwalteten Einstellungsdatei.
{
"model": "auto",
"permissions": {
"disableBypassPermissionsMode": "disable"
},
"enabledPlugins": {
"my-plugin@agent-skills": true
},
"extraKnownMarketplaces": {
"agent-skills": {
"source": {
"source": "github",
"repo": "OWNER/REPO"
}
}
},
"strictKnownMarketplaces": [
{
"source": "github",
"repo": "OWNER/REPO"
}
],
"telemetry": {
"enabled": true,
"endpoint": "https://otel-collector.example.com",
"protocol": "http/protobuf",
"captureContent": false,
"lockCaptureContent": true,
"serviceName": "copilot",
"resourceAttributes": {
"deployment.environment": "production"
},
"headers": {
"Authorization": "Bearer TOKEN"
}
},
"remoteControl": {
"mode": "requireSSO",
"githubDotComOrganizations": ["ORG-NAME"]
},
"allowedMcpServers": [
{ "serverUrl": "https://api.githubcopilot.com/*" },
{ "serverCommand": ["npx", "@playwright/mcp@latest"] },
{ "serverCommand": ["cmd", "/c", "uvx", "markitdown-mcp"] }
],
"deniedMcpServers": [
{
"serverCommand": [
"npx",
"-y",
"@modelcontextprotocol/server-filesystem",
"/"
]
}
],
"sandbox": {
"enabled": true,
"allowBypass": false,
"sandboxMcpServers": true,
"sandboxLspServers": true
}
}
enabledPlugins
Definiert Plug-Ins, die für alle Unternehmensbenutzer automatisch installiert oder blockiert werden. Jeder Eintrag verwendet das Format PLUGIN-NAME@MARKETPLACE-NAME als Schlüssel mit einem booleschen Wert: true um das Plug-In zu aktivieren oder false zu deaktivieren. Siehe Informationen zu unternehmensverwalteten Plug-In-Standards.
extraKnownMarketplaces
Definiert zusätzliche Plug-In-Marketplaces, die benutzern zur Verfügung stehen. Jeder Eintrag ist ein benanntes Marketplace-Objekt, das eine source Eigenschaft enthält. Die folgenden Quelltypen werden unterstützt:
"github"— erfordertrepoim FormatOWNER/REPO; optional sindref(Branch, Tag oder SHA) undpath(Unterverzeichnis)"git"— erforderturl; optionalrefundpath"directory"— erfordertpath
Siehe Informationen zu unternehmensverwalteten Plug-In-Standards.
Streng bekannte Marktplätze
Beschränkt die Plug-In-Installation auf nur die vom Unternehmen explizit definierten Marketplaces. Ein leeres Array bedeutet einen vollständigen Sperrmodus. Jeder Eintrag ist ein Marketplace-Objekt mit einer source Eigenschaft, die den Quelltyp angibt. Die folgenden Quelltypen werden unterstützt:
"github"— erfordertrepoim FormatOWNER/REPO; optionalrefundpath"git"— erforderturl; optionalrefundpath"url"— erforderturl; optionalesheadersObjekt"npm"— erfordertpackage"file"— erfordertpath"directory"— erfordertpath"hostPattern"— erforderthostPattern(Regex zum Abgleichen von Marketplace-Hosts)"pathPattern"— erfordertpathPattern(regex-übereinstimmende Marketplace-Pfade)
model
Legt die Automatische Modellauswahl als Standard für neue Unterhaltungen fest. Siehe Über CopilotAutomatische Modellauswahl.
- Wenn Sie
modelauf"auto"setzen, verwenden neue Sitzungen das Auto-Modell, sofern der Benutzer nicht für jede Unterhaltung ein anderes Modell angibt. - Dieser Schlüssel kann von der Unternehmensteamzuordnung außer Kraft gesetzt werden. Verwenden Sie in Ihrem
Copilot CLIdie Syntax{ "overridable": "auto" }, um die Konfiguration des Schlüssels für jedes Team anzupassen. Anschließend können Sie in einer Datei mit Teameinstellungen"model": "unmanaged"festlegen und so eine Spezialisierung angeben, die für Mitglieder des betreffenden Teams Vorrang vorVS Codehat.
permissions
disableBypassPermissionsMode
Verhindert, dass Benutzer den Umgehungsmodus aktivieren (auch bekannt als "YOLO-Modus"). Mit dem Umgehungsmodus kann ein Agent Befehle ausführen, auf Dateien zugreifen und URLs abrufen, ohne um Genehmigung zu bitten.
Wenn Sie disableBypassPermissionsMode auf "disable" festlegen, können Benutzer den Bypassmodus nicht aktivieren:
- In GitHub Copilot App sind alle Befehlszeilenoptionen zum Gewähren aller Berechtigungen (
--yolo,--allow-allund die einzelnen Optionen--allow-all-tools,--allow-all-pathsund--allow-all-urls) beim Start unterdrückt und können keine erhöhten Berechtigungen gewähren. Die/yolound/allow-allSlash-Befehle sind ebenfalls blockiert. - In managed-settings.json, die globale Einstellung für die automatische Genehmigung (
chat.tools.global.autoApprove) ist deaktiviert und kann nicht erneut aktiviert werden. - Im managed-settings.json ist die Einstellung „Alle zulassen“ für „Tool-Berechtigungen“ in den Sitzungseinstellungen blockiert.
- Dieser Schlüssel kann von der Unternehmensteamzuordnung außer Kraft gesetzt werden. Verwenden Sie in Ihrem
managed-settings.jsondie{ "overridable": "disable" }-Syntax, um die Konfiguration des Schlüssels für jedes Team separat anzupassen. Anschließend können Sie"disableBypassPermissionsMode": "unmanaged"in einer Datei mit Teameinstellungen festlegen und damit eine Spezialisierung angeben, die für Mitglieder des betreffenden Teams Vorrang vormanaged-settings.jsonhat.
Telemetrie
Konfiguriert den OpenTelemetry-Export und leitet Copilot-Nutzungsdaten an einen Collector Ihrer Wahl weiter.
Diese Eigenschaft wird unterstützt für Copilot CLI und VS Code.
Wenn Sie die telemetry Eigenschaft festlegen, wird Copilot Telemetrie an den von Ihnen angegebenen Endpunkt gesendet. Die folgenden Untereigenschaften werden unterstützt:
enabled: Auftruefestlegen, um den Telemetrieexport zu aktivieren, oder auffalse, um ihn zu deaktivieren.endpoint: Die URL Ihres OTLP-Collectors (z. B.https://otel-collector.example.com).protocol: Das Transportprotokoll für den Telemetrieexport. Akzeptierte Werte sind"http/json"und"http/protobuf".captureContent: Auftruefestlegen, um Prompt- und Antwortinhalte in die Telemetrie-Nutzlast einzuschließen, oder auffalse, um sie auszuschließen.lockCaptureContent: Legen Sie den Wert auftruefest, um zu verhindern, dass Benutzer die EinstellungcaptureContentändern.serviceName: Eine Bezeichnung für den Telemetriedienstnamen (z. B"copilot". ).resourceAttributes: Ein Objekt von OpenTelemetry-Ressourcenattributen, die an alle exportierten Telemetrie angefügt werden sollen (z. B{"deployment.environment": "production"}. ).headers: Ein Objekt von HTTP-Headern, das in jede Telemetrieanforderung eingeschlossen werden soll (z. B. eineAuthorizationKopfzeile für den Sammler).
remoteControl
Beschränkt, ob auf einem Gerät gehostete Copilot Sitzungen ferngesteuert werden können. Dies wirkt sich nicht auf die Fähigkeit eines Benutzers aus, seine Sitzungen remote zu steuern, die auf anderen Geräten gehostet werden.
mode: Legen Sie den Wert auf"disabled"fest, um die Remotesteuerung von Sitzungen auf dem Gerät zu verhindern, auf"requireSSO", um die Remotesteuerung nur von einem Client zuzulassen, der für die ingithubDotComOrganizationsaufgeführten Organisationen per SSO autorisiert ist, oder auf"enabled", um sie uneingeschränkt zuzulassen.githubDotComOrganizations: Ein Array mit Organisations-Logins. Erforderlich, wennmodegleich"requireSSO"ist.
allowedMcpServers
Definiert eine Zulassungsliste von MCP-Servern, die ausgeführt werden dürfen. Wenn festgelegt, sind nur Server zulässig, die mit mindestens einem Eintrag übereinstimmen. Jeder Server, der nicht übereinstimmt, wird blockiert.
Lassen Sie diesen Schlüssel vollständig aus, um alle Server zuzulassen, vorbehaltlich aller Einträge in deniedMcpServers. Legen Sie es auf ein leeres Array fest, um alle Server außer integrierten Standardservern zu blockieren.
Wenn mehrere Einstellungsquellen allowedMcpServers definieren, ist die wirksame Zulassungsliste die Schnittmenge aller Quellen. Ein Server muss von jeder Quelle zum Ausführen zugelassen werden.
Jeder Eintrag muss genau eine Matcher-Eigenschaft enthalten.
| Eigentum | Zuordnungsverhalten | Anwendbare Server |
|---|---|---|
serverName | Entspricht exakt der benutzerdefinierten Serverbezeichnung. Wildcards werden nicht unterstützt. Da Benutzer Servernamen auswählen, verwenden serverUrl oder serverCommand wenn Sie die Identität eines Servers erzwingen müssen. | Jeder Server. In-Memory-Server können nur serverName verwenden. |
serverUrl | Entspricht einer Remoteserver-URL. Unterstützt * Platzhalter für Unterdomänen oder Pfadpräfixe – zum Beispiel https:/ oder https:/. | Remoteserver, die eine Verbindung über HTTP- oder servergesendete Ereignisse (SSE) herstellen. Diese Eigenschaft gilt nicht für lokale Server, auch wenn sie über eine URL verfügen. |
serverCommand | Stimmt genau mit dem Befehl und jedem Argument für einen lokalen Server überein – zum Beispiel ["npx", "-y", "my-mcp-server"]. Wildcards und Befehlszeilenerweiterung werden nicht unterstützt. | Lokale Server mit Standardeingabe und -ausgabe (stdio). Diese Eigenschaft gilt nicht für Remoteserver, auch wenn sie über einen Befehl verfügen. |
Dieser Schlüssel ist für Unternehmensteams außer Kraft gesetzt. Fassen Sie die Matcher-Objekte auf Unternehmensebene unter overridable zusammen und verwenden Sie dann die reguläre Syntax, um Zulassungslisten und Sperrlisten in der Datei des jeweiligen Teams zu definieren.
URL-Kanonisierung
Vor dem Vergleichen eines serverUrl Musters mit einer Server-URL normalisiert der Client beide Werte:
- Konvertiert das Schema und den Host in Kleinbuchstaben.
- Konvertiert internationalisierte oder Unicode-Hostnamen in Punycode.
- Entfernt den Standardport
:80für HTTP oder:443HTTPS. - Dekodiert prozentkodierte Host-Oktette.
%65vilwird beispielsweise zuevil. - Entfernt URL-Fragmente und nachfolgende Punkte aus DNS-Namen.
- Verhindert, dass Die Zuordnung von Wildcards in der Autoritätskomponente über die
/Grenze zum Pfad erfolgt.
verweigertMcpServers
Definiert MCP-Server, die bedingungslos blockiert werden. Ein Server, der auf irgendeinen Eintrag zutrifft, wird blockiert, auch wenn er auch auf einen Eintrag in allowedMcpServers zutrifft. Ablehnungsregeln haben immer Vorrang vor Zulassungsregeln.
Erstanbieterserver Copilot , z. B. der integrierte MCP-Server GitHub , sind von Deny-Regeln ausgenommen und können nicht blockiert werden.
Wenn mehrere Einstellungsquellen deniedMcpServers definieren, ist die resultierende Sperrliste die Vereinigung aller Quellen. Ein von jeder Quelle blockierter Server wird für alle blockiert.
Jeder Eintrag verwendet dieselben Eigenschaften serverName, serverUrl oder serverCommand, die in allowedMcpServers beschrieben werden.
sandbox
Erzwingt lokale Mindesteinschränkungen der Sandbox für Copilot CLI. Verwaltete Sandkasteneinstellungen setzen Einschränkungen anstelle von Standardeinstellungen auf:
- Bei Einstellungen vom Typ „Erzwingen“ erzwingt ein verwalteter Wert von
truedie Einstellung.falseoder das Weglassen lässt die Benutzerkonfiguration unverändert. - Für Funktionseinstellungen verbietet ein verwalteter Wert
falsedie Funktion.trueoder Weglassen lässt die Benutzerkonfiguration unverändert. - Verwaltete Lese-/Schreib- und schreibgeschützte Pfadlisten beschränken die vom Benutzer konfigurierten Berechtigungen, während verwaltete Pfade mit Zugriffsverweigerung die vom Benutzer konfigurierten Verweigerungen ergänzen.
Die folgenden Untereigenschaften werden unterstützt:
enabled:trueschreibt Sandboxing vor und verhindert, dass Benutzer es deaktivieren.allowBypass:falseverhindert, dass das Modell anfordert, dass ein einzelner Befehl außerhalb der Sandbox ausgeführt wird.addCurrentWorkingDirectory:falseverhindert, dass Copilot CLI das aktuelle Arbeitsverzeichnis automatisch zu den Lese-/Schreibpfaden der Sandbox hinzugefügt wird.sandboxMcpServers:trueerfordert, dass von Copilot CLI gestartete lokale MCP-Server in der Sandbox ausgeführt werden. Remote-MCP-Server werden nicht im lokalen Sandkasten ausgeführt.sandboxLspServers:trueerfordert, dass von Copilot CLI gestartete Sprachserver in der Sandbox ausgeführt werden.gitAuth:falsehindert Copilot CLI daran, ein GitHub-Token für authentifizierte Git-HTTPS-Vorgänge in der Sandbox einzuschleusen.ghAuth:falseverhindert, dass Copilot CLI ein GitHub-Token für GitHub CLI in die Sandbox einschleust.allowDevToolAccess:falseverhindert den automatischen Zugriff auf die Konfiguration von Entwicklungstools, Caches, Registrierungen und Toolketten. Diese Speicherorte können Paketregistrierungsanmeldeinformationen oder Token enthalten. Das Deaktivieren des Zugriffs kann dazu führen, dass Paketwiederherstellung, authentifizierte Registrierungsvorgänge oder Builds, die freigegebene Caches verwenden, fehlschlagen, es sei denn, Sie gewähren explizit die erforderlichen Pfade.userPolicy: Ein Objekt, das Dateisystem-, Netzwerk- und macOS-spezifische Seatbelt-Einschränkungen konfiguriert. Die unterstützten Eigenschaften werden in den folgenden Abschnitten beschrieben.
sandbox.userPolicy.filesystem
Konfiguriert den Dateisystemzugriff für Sandkastenprozesse. Pfade sollten absolut sein. Listen mit verwalteten Berechtigungen werden anhand exakter Pfadzeichenfolge und nicht durch die Abdeckung des übergeordneten oder untergeordneten Pfads mit benutzerdefinierten Listen abgeglichen.
readwritePaths: Ein Array von Pfaden, auf die in einer Sandbox ausgeführte Prozesse lesend und schreibend zugreifen können. Ein vom Benutzer konfigurierter Pfad bleibt nur verfügbar, wenn seine genaue Zeichenfolge auch in jeder verwalteten Quelle angezeigt wird, die diese Eigenschaft angibt. Ein leeres verwaltetes Array entfernt alle vom Benutzer konfigurierten Lese-/Schreibpfadberechtigungen, entfernt jedoch keinen separat gewährten Zugriff, z. B. auf temporäre Verzeichnisse oder das aktuelle Arbeitsverzeichnis.readonlyPaths: Ein Array von Pfaden, die von in einer Sandbox ausgeführten Prozessen gelesen, aber nicht beschrieben werden können. Ein vom Benutzer konfigurierter Pfad bleibt nur verfügbar, wenn seine genaue Zeichenfolge auch in jeder verwalteten Quelle angezeigt wird, die diese Eigenschaft angibt. Ein leeres verwaltetes Array entfernt alle vom Benutzer konfigurierten schreibgeschützten Pfadberechtigungen, entfernt jedoch keinen separat gewährten Zugriff.deniedPaths: Ein Array von Pfaden, auf die Sandkastenprozesse nicht zugreifen können. Ein verwalteter Wert wird den verweigerten Pfaden eines Benutzers hinzugefügt, anstatt diesen zu ersetzen.
sandbox.userPolicy.network
Konfiguriert den Netzwerkzugriff für Sandkastenprozesse.
allowOutbound:falseblockiert den ausgehenden Netzwerkzugriff.allowLocalNetwork:falseverhindert den Zugriff auf das lokale Netzwerk.
Das Netzwerkverhalten variiert je nach Betriebssystem. Insbesondere ist ein Proxy keine vollständige Grenze für die Kontrolle ausgehender Verbindungen, da einige Anwendungen Proxyeinstellungen ignorieren können.
sandbox.userPolicy.seatbelt
Konfiguriert macOS-spezifische Sitzgurtoptionen.
keychainAccess:falseverhindert, dass Sandkastenprozesse auf den macOS-Schlüsselbund zugreifen.