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 | |||||
permissions.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 Zulassungsliste von MCP-Servern, die ausgeführt werden dürfen. Jeder Server, der nicht übereinstimmt, wird blockiert. Lassen Sie aus, um alle Server zuzulassen, unterliegt jeglichen Ablehnungsregeln. | |||||
deniedMcpServers | Definiert MCP-Server, die bedingungslos blockiert werden, auch wenn sie auch einem Eintrag in allowedMcpServers | |||||
sandbox | Erzwingt Mindesteinschränkungen für die Ausführung von Befehlen, Dateisystem und Netzwerkzugriff, Anmeldeinformationen und 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 zu qualifizieren, markieren Sie ihn als überschreibbar in managed-settings.json der { "overridable": <VALUE> } Syntax. 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 permissions.modelSchlüssel , permissions.disableBypassPermissionsMode, und allowedMcpServers``deniedMcpServers die Schlüssel. Schlüssel, die nicht überschrieben werden können, bleiben eine Entscheidung auf Unternehmensebene, die Teams nicht ändern können.
enabledPlugins und extraKnownMarketplaces additiv arbeiten. 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.
{
"permissions": {
"disableBypassPermissionsMode": "disable",
"model": "auto"
},
"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.
strictKnownMarketplaces
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)
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 managed-settings.json, alle Befehlszeilenoptionen zum Zulassen aller Berechtigungen (
--yolo``--allow-all, und der einzelnen--allow-all-tools,--allow-all-pathsund--allow-all-urlsoptionen) werden beim Start unterdrückt und können keine erhöhten Berechtigungen erteilen. Die/yoloBefehle und/allow-allSchrägstriche werden 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 Copilot CLI 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
VS CodeIhrer{ "overridable": "disable" }Syntax die Konfiguration des Schlüssels auf Teambasis. Anschließend können Sie in einer Teameinstellungsdatei eine Spezialisierung festlegen"disableBypassPermissionsMode": "unmanaged", die VorrangGitHub Copilot Appvor Mitgliedern des Betreffteams hat.
model
Legt die Automatische Modellauswahl als Standard für neue Unterhaltungen fest. Siehe Über CopilotAutomatische Modellauswahl.
- Wenn Sie
permissions.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
managed-settings.jsonIhrer{ "overridable": "auto" }Syntax die Konfiguration des Schlüssels auf Teambasis. Anschließend können Sie in einer Teameinstellungsdatei eine Spezialisierung festlegen"model": "unmanaged", die Vorrangmanaged-settings.jsonvor Mitgliedern des Betreffteams hat.
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
Legt fest, ob Copilot sitzungen, die auf einem Gerät gehostet werden, remote gesteuert 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 fest, um die Remotesteuerung von Sitzungen auf dem Gerät zu"disabled"verhindern, um die Remotesteuerung nur von einem Client zuzulassen,"requireSSO"der SSO-autorisiert für die in der Liste aufgeführtengithubDotComOrganizationsOrganisationen ist, oder"enabled"um sie uneingeschränkt zuzulassen.githubDotComOrganizations: Ein Array von Organisationsanmeldungen. Erforderlich, wennmodegleich"requireSSO"ist.
allowedMcpServers
Definiert eine Zulassungsliste von MCP-Servern, die ausgeführt werden dürfen. Bei Festlegung sind nur Server zulässig, die mindestens einen 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 definiert werden allowedMcpServers, ist die effektive Zulassungsliste die Schnittmenge aller Quellen. Ein Server muss von jeder Quelle ausgeführt werden dürfen.
Jeder Eintrag muss genau eine Übereinstimmungseigenschaft enthalten.
| Eigentum | Abgleichsverhalten | 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 verwendet werden serverName. |
serverUrl | Entspricht einer Remoteserver-URL. Unterstützt * Wildcards für Unterdomänen oder Pfadpräfixe , z https:/ . B. 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 | Entspricht dem genauen Befehl und jedem Argument für einen lokalen Server, ["npx", "-y", "my-mcp-server"]z. B. . 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. Schließen Sie die Übereinstimmungsobjekte auf overridable Unternehmensebene um, und verwenden Sie dann die reguläre Syntax, um Zulassungslisten und Denylisten in der Datei jedes 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. - Decodiert prozentcodierte Host-Oktetts.
%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 einem Eintrag entspricht, wird blockiert, auch wenn er auch mit einem Eintrag übereinstimmt allowedMcpServers. 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 definiert werden deniedMcpServers, ist die effektive Ablehnungsliste die Vereinigung aller Quellen. Ein von jeder Quelle blockierter Server wird für alle blockiert.
Jeder Eintrag verwendet dieselben serverName, , serverUrloder serverCommand Eigenschaften, die in allowedMcpServers.
sandbox
Erzwingt minimale lokale Sandkasteneinschränkungen für Copilot CLI. Verwaltete Sandkasteneinstellungen setzen Einschränkungen anstelle von Standardeinstellungen auf:
- Für Einstellungen zum Erzwingen der Erzwingung wird
truedie Einstellung durch einen verwalteten Wert erzwungen.falseoder Auslassung lässt die Konfiguration des Benutzers unverändert. - Für Funktionseinstellungen verbietet ein verwalteter Wert
falsedie Funktion.trueoder Auslassung lässt die Konfiguration des Benutzers unverändert. - Verwaltete Lese-/Schreib- und schreibgeschützte Pfadlisten beschränken vom Benutzer konfigurierte Zuschüsse, während verwaltete verweigerte Pfade zu vom Benutzer konfigurierten Denials hinzugefügt werden.
Die folgenden Untereigenschaften werden unterstützt:
enabled:trueerfordert Sandkasten und verhindert, dass Benutzer sie 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 lokale MCP-Server, die gestartet werden Copilot CLI , um im Sandkasten ausgeführt zu werden. Remote-MCP-Server werden nicht im lokalen Sandkasten ausgeführt.sandboxLspServers:trueErfordert Sprachserver, die mit Copilot CLI der Ausführung im Sandkasten gestartet wurden.gitAuth:falseverhindert das Copilot CLI Einfügen eines GitHub Tokens für authentifizierte Git-HTTPS-Vorgänge im Sandkasten.ghAuth:falseverhindert das Copilot CLI Einfügen eines GitHub Tokens für GitHub CLI den Sandkasten.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, die Sandkastenprozesse lesen und schreiben 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-/Schreibpfaderteilungen, entfernt jedoch keinen separat zusammengesetzten Zugriff, z. B. temporäre Verzeichnisse oder das aktuelle Arbeitsverzeichnis.readonlyPaths: Ein Array von Pfaden, die Sandkastenprozesse lesen, aber nicht schreiben 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 Pfaderteilungen, entfernt jedoch keinen separat zusammengesetzten 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 handelt es sich bei einem Proxy nicht um eine vollständige Grenze für das Ausgangssteuerelement, da einige Anwendungen Proxyeinstellungen ignorieren können.
sandbox.userPolicy.seatbelt
Konfiguriert macOS-spezifische Sitzgurtoptionen.
keychainAccess:falseverhindert, dass Sandkastenprozesse auf den macOS-Schlüsselbund zugreifen.