Skip to main content
Skip to content

Substituindo as configurações gerenciadas pela empresa para equipes

Evite a configuração excessivamente restritiva substituindo as configurações padrão para equipes específicas.

Quem pode usar esse recurso?

Enterprise owners

Com uma implantação gerenciada pelo servidor, você pode configurar o arquivo managed-settings.json da sua empresa para aplicar diferentes configurações de governança a grupos de usuários com base na afiliação à equipe empresarial. A empresa define todas as configurações em um local central e a associação de equipe determina quais usuários recebem um determinado conjunto de valores. Se você ainda não criou o managed-settings.json arquivo, consulte Introdução às configurações gerenciadas pela empresa.

Para permitir que as equipes substituam o padrão da empresa, marque a chave como overridable em managed-settings.json. Uma chave substituível usa o valor da equipe quando configurado ou recua para o padrão corporativo quando a equipe não o configura.

Chaves com suporte

A sintaxe { "overridable": <VALUE> } se aplica às teclas model, autoTier, permissions.disableBypassPermissionsMode, permissions.deny, permissions.allow, permissions.ask, allowedMcpServers, deniedMcpServers, extraKnownMarketplaces, strictKnownMarketplaces e sandbox.

enabledPlugins funciona de forma aditiva. A empresa managed-settings.json define uma configuração base, e um arquivo da equipe da empresa pode adicionar mais plug-ins além dela.

Para obter uma descrição completa dessas chaves e sua sintaxe, consulte Configurações gerenciadas pela empresa.

Substituindo configurações para equipes específicas

Essas instruções se aplicam a implantações gerenciadas pelo servidor (um managed-settings.json hospedado em GitHub). Outros métodos de implantação não oferecem suporte a substituições da equipe corporativa e fariam com que você tivesse de implantar configurações diferentes para diferentes grupos de usuários por meio da sua plataforma de MDM.

Você usará copilot/team-mappings.json e o copilot/teams/ diretório para definir quais equipes empresariais devem usar configurações diferentes dos valores padrão copilot/managed-settings.json .

Depois de concluir esta seção, o .github-private repositório terá a seguinte estrutura:

  • .github-private/
    • copilot/

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

Steps

  1. No arquivo copilot/managed-settings.json da sua empresa, marque cada chave que você deseja tornar elegível para substituição usando a sintaxe { "overridable": <VALUE> }. Os arquivos json mapeados para equipes só podem enviar valores diferentes para as chaves que você marcar como substituíveis.

    O valor overridable que você fornece em managed-settings.json é o padrão quando os arquivos da equipe não declaram um valor diferente para uma chave específica.

    Por exemplo, para encaminhar model, disableBypassPermissionsMode e allowedMcpServers às equipes:

    {
      "model": { "overridable": "auto" },
      "permissions": {
        "disableBypassPermissionsMode": { "overridable": "disable" }
      },
      "allowedMcpServers": {
        "overridable": [
          { "serverUrl": "https://mcp.company.com/*" }
        ]
      }
    }
    
  2. No repositório da sua empresa .github-private, crie copilot/team-mappings.json. Mapeie cada arquivo de configurações de equipe para um ou mais slugs de equipe corporativa. A chave é o nome do arquivo de configurações, e o valor é um array de slugs das equipes, para que você possa usar o mesmo arquivo em várias equipes.

    {
      "devs.json": ["developers-all", "finops-dev"],
      "ai-users.json": ["ai-baseline-trained"],
      "frontier.json": ["ai-pioneers"]
    }
    
  3. Crie o arquivo de configurações da equipe em copilot/teams/. Você pode incluir quaisquer chaves que você marcou como sobrescrevíveis, valores mais restritivos para autoTier, além da chave aditiva enabledPlugins. Todas as outras chaves continuam sendo regidas pela configuração padrão da sua empresa.

    {
      "model": "unmanaged",
      "permissions": {
        "disableBypassPermissionsMode": "unmanaged"
      },
      "allowedMcpServers": [
        { "serverUrl": "https://team-specific-mcp.company.com/*" }
      ]
    }
    
  4. Confirme e efetue push das suas alterações para a ramificação padrão.

GitHub avalia a participação de cada pessoa na equipe da empresa e aplica as configurações correspondentes. Se um usuário pertence a várias equipes, seus arquivos de equipe são combinados usando o valor menos restritivo para cada chave e, em seguida, aplicados abaixo das configurações da empresa, em que as decisões da plataforma sempre ganham.