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 tornar uma chave qualificada para substituições de equipe, você a marcará 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> } aplica-se às teclas model, permissions.disableBypassPermissionsMode, permissions.deny, permissions.ask, permissions.allow, allowedMcpServers e deniedMcpServers.

enabledPlugins e extraKnownMarketplaces funcionam de forma aditiva. A configuração corporativa managed-settings.json define uma base, e um arquivo de equipe corporativa pode adicionar mais plug-ins e marketplaces a ela.

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 marcadas como substituíveis, além das chaves adicionais enabledPlugins e extraKnownMarketplaces. 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.