Skip to main content

Außerkraftsetzen unternehmensverwalteter Teameinstellungen

Vermeiden Sie eine übermäßig restriktive Konfiguration, indem Sie die Standardeinstellungen für bestimmte Teams außer Kraft setzen.

Wer kann dieses Feature verwenden?

Enterprise owners

Mit einer serververwalteten Bereitstellung können Sie die Datei Ihres Unternehmens managed-settings.json so konfigurieren, dass verschiedene Governanceeinstellungen auf Gruppen von Benutzern basierend auf ihrer Unternehmensteammitgliedschaft angewendet werden. Das Unternehmen definiert alle Einstellungen an einem zentralen Ort, und die Teammitgliedschaft bestimmt, welche Benutzer einen bestimmten Wertesatz erhalten. Wenn Sie die managed-settings.json Datei noch nicht erstellt haben, lesen Sie Erste Schritte mit unternehmensverwalteten Einstellungen.

Um einen Schlüssel für Team-Overrides verfügbar zu machen, markieren Sie ihn als overridable in managed-settings.json. 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.

Unterstützte Schlüssel

Die { "overridable": <VALUE> }-Syntax gilt für die Schlüssel model, permissions.disableBypassPermissionsMode, permissions.deny, permissions.allow, permissions.ask, allowedMcpServers und deniedMcpServers.

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.

Eine vollständige Beschreibung dieser Schlüssel und deren Syntax finden Sie unter Unternehmensverwaltete Einstellungen.

Einstellungen für bestimmte Teams überschreiben

Diese Anweisungen gelten für serverseitig verwaltete Bereitstellungen (ein managed-settings.json, das auf GitHub gehostet wird). Andere Bereitstellungsmethoden unterstützen keine Überschreibungen durch das Unternehmensteam und würden erfordern, dass Sie über Ihre MDM-Plattform unterschiedliche Einstellungen an verschiedene Benutzergruppen bereitstellen.

Sie verwenden copilot/team-mappings.json und das copilot/teams/ Verzeichnis, um zu konfigurieren, welche Unternehmensteams Einstellungen verwenden sollten, die sich von Ihren Standardwerten copilot/managed-settings.json unterscheiden.

Nachdem Sie diesen Abschnitt abgeschlossen haben, hat Ihr .github-private Repository die folgende Struktur:

  • .github-private/
    • copilot/

managed-settings.json **: { "model": { "overridable": "auto" } } * ** team-mappings.json **: { "no-auto.json": ["special-team"] } * teams/ * ** no-auto.json **: { "model": "unmanaged" }

Schritte

  1. Markieren Sie in der Datei Ihres Unternehmens copilot/managed-settings.json jeden Schlüssel, den Sie mit der { "overridable": <VALUE> } Syntax außer Kraft setzen möchten. Die json Dateien, die Sie Teams zuweisen, können nur unterschiedliche Werte für Schlüssel senden, die Sie als überschreibbar markieren.

    Ein von Ihnen bereitgestellter overridable``managed-settings.json Wert ist der Standardwert, wenn Teamdateien keinen anderen Wert für einen bestimmten Schlüssel deklarieren.

    Um beispielsweise model, disableBypassPermissionsMode und allowedMcpServers an Teams zu delegieren:

    {
      "model": { "overridable": "auto" },
      "permissions": {
        "disableBypassPermissionsMode": { "overridable": "disable" }
      },
      "allowedMcpServers": {
        "overridable": [
          { "serverUrl": "https://mcp.company.com/*" }
        ]
      }
    }
    
  2. Erstellen Sie copilot/team-mappings.json im Repository Ihres Unternehmens .github-private. Ordnen Sie jede Datei mit den Teameinstellungen einem oder mehreren Enterprise-Team-Slugs zu. Der Schlüssel ist der Name der Einstellungsdatei, und der Wert ist ein Array von Team-Slugs, sodass Sie eine Datei für mehrere Teams verwenden können.

    {
      "devs.json": ["developers-all", "finops-dev"],
      "ai-users.json": ["ai-baseline-trained"],
      "frontier.json": ["ai-pioneers"]
    }
    
  3. Erstellen Sie die Teameinstellungsdatei unter copilot/teams/. Sie können alle Schlüssel einbeziehen, die Sie als überschreibbar gekennzeichnet haben, sowie die additiven Schlüssel enabledPlugins und extraKnownMarketplaces. Alle anderen Schlüssel werden weiterhin durch die Standardvorgabe Ihres Unternehmens gesteuert.

    {
      "model": "unmanaged",
      "permissions": {
        "disableBypassPermissionsMode": "unmanaged"
      },
      "allowedMcpServers": [
        { "serverUrl": "https://team-specific-mcp.company.com/*" }
      ]
    }
    
  4. Committen Sie Ihre Änderungen und pushen Sie sie in den Standard-Branch.

GitHub wertet die Enterprise-Teammitgliedschaft aus und wendet übereinstimmende Einstellungen für jede Person an. Wenn ein Benutzer zu mehreren Teams gehört, werden seine Teamdateien mit dem geringsten restriktiven Wert für jeden Schlüssel kombiniert, und dann unterhalb der Unternehmenseinstellungen angewendet, bei denen Plattformentscheidungen immer gewinnen.