Skip to main content

Unternehmensverwaltete Einstellungen

Grundlegendes zum vom Unternehmen verwalteten Einstellungsschema, das von Copilot Clients verwendet wird.

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:

  1. MDM-verwaltete Einstellungen
  2. Serververwaltete Einstellungen
  3. Dateibasierte Einstellungen
  4. 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üsselPurposeCopilot CLIVS CodeGitHub Copilot AppCopilot-Cloud-AgentJetBrains IDEs
permissions.disableBypassPermissionsModeDeaktiviert Umgehungs- oder YOLO-artiges Alles-zulassen-Verhalten
permissions.modelLegt die Automatische Modellauswahl als Standard für neue Unterhaltungen fest.
enabledPluginsAktiviert oder deaktiviert bestimmte Plug-Ins nach Schlüssel
extraKnownMarketplacesFügt Plug-In-Marketplaces hinzu, auf die Benutzer zugreifen können
strictKnownMarketplacesBeschränkt die Plug-In-Installation auf explizit aufgeführte Marketplaces
telemetryKonfiguriert den OpenTelemetry-Export und leitet Copilot Nutzungsdaten an einen Collector Ihrer Wahl weiter.
remoteControlBeschrä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
allowedMcpServersDefiniert 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.
deniedMcpServersDefiniert MCP-Server, die bedingungslos blockiert werden, auch wenn sie auch einem Eintrag in allowedMcpServers
sandboxErzwingt 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" — erfordert repo im Format OWNER/REPO; optional sind ref (Branch, Tag oder SHA) und path (Unterverzeichnis)
  • "git" — erfordert url; optional ref und path
  • "directory" — erfordert path

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" — erfordert repo im Format OWNER/REPO; optional ref und path
  • "git" — erfordert url; optional ref und path
  • "url" — erfordert url; optionales headers Objekt
  • "npm" — erfordert package
  • "file" — erfordert path
  • "directory" — erfordert path
  • "hostPattern" — erfordert hostPattern (Regex zum Abgleichen von Marketplace-Hosts)
  • "pathPattern" — erfordert pathPattern (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-urls optionen) werden beim Start unterdrückt und können keine erhöhten Berechtigungen erteilen. Die /yolo Befehle und /allow-all Schrä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 Code Ihrer { "overridable": "disable" }Syntax die Konfiguration des Schlüssels auf Teambasis. Anschließend können Sie in einer Teameinstellungsdatei eine Spezialisierung festlegen "disableBypassPermissionsMode": "unmanaged" , die Vorrang GitHub Copilot App vor Mitgliedern des Betreffteams hat.

model

Legt die Automatische Modellauswahl als Standard für neue Unterhaltungen fest. Siehe Über CopilotAutomatische Modellauswahl.

  • Wenn Sie permissions.model auf "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.json Ihrer { "overridable": "auto" }Syntax die Konfiguration des Schlüssels auf Teambasis. Anschließend können Sie in einer Teameinstellungsdatei eine Spezialisierung festlegen "model": "unmanaged" , die Vorrang managed-settings.json vor 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: Auf true festlegen, um den Telemetrieexport zu aktivieren, oder auf false, 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: Auf true festlegen, um Prompt- und Antwortinhalte in die Telemetrie-Nutzlast einzuschließen, oder auf false, um sie auszuschließen.
  • lockCaptureContent: Legen Sie den Wert auf true fest, um zu verhindern, dass Benutzer die Einstellung captureContent ä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. eine Authorization Kopfzeile 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ührten githubDotComOrganizationsOrganisationen ist, oder "enabled" um sie uneingeschränkt zuzulassen.
  • githubDotComOrganizations: Ein Array von Organisationsanmeldungen. Erforderlich, wenn mode gleich "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.

EigentumAbgleichsverhaltenAnwendbare Server
serverNameEntspricht 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.
serverUrlEntspricht einer Remoteserver-URL. Unterstützt * Wildcards für Unterdomänen oder Pfadpräfixe , z https://mcp.example.com/* . B. oder https://*.internal.example.com/*.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.
serverCommandEntspricht 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 :80 für HTTP oder :443 HTTPS.
  • Decodiert prozentcodierte Host-Oktetts. %65vil wird beispielsweise zu evil.
  • 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 true die Einstellung durch einen verwalteten Wert erzwungen. false oder Auslassung lässt die Konfiguration des Benutzers unverändert.
  • Für Funktionseinstellungen verbietet ein verwalteter Wert false die Funktion. true oder 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: true erfordert Sandkasten und verhindert, dass Benutzer sie deaktivieren.
  • allowBypass: false verhindert, dass das Modell anfordert, dass ein einzelner Befehl außerhalb der Sandbox ausgeführt wird.
  • addCurrentWorkingDirectory: false verhindert, dass Copilot CLI das aktuelle Arbeitsverzeichnis automatisch zu den Lese-/Schreibpfaden der Sandbox hinzugefügt wird.
  • sandboxMcpServers: true erfordert 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: true Erfordert Sprachserver, die mit Copilot CLI der Ausführung im Sandkasten gestartet wurden.
  • gitAuth: false verhindert das Copilot CLI Einfügen eines GitHub Tokens für authentifizierte Git-HTTPS-Vorgänge im Sandkasten.
  • ghAuth: false verhindert das Copilot CLI Einfügen eines GitHub Tokens für GitHub CLI den Sandkasten.
  • allowDevToolAccess: false verhindert 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: false blockiert den ausgehenden Netzwerkzugriff.
  • allowLocalNetwork: false verhindert 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: false verhindert, dass Sandkastenprozesse auf den macOS-Schlüsselbund zugreifen.