Skip to main content

Configurando configurações gerenciadas pela empresa

Defina as configurações gerenciadas pela empresa para controlar Copilot centralmente o comportamento do cliente em sua empresa usando implantação gerenciada por servidor, gerenciada por MDM ou baseada em arquivo.

Quem pode usar esse recurso?

Enterprise owners

Com as configurações gerenciadas pela empresa, os proprietários corporativos podem definir e distribuir centralmente as configurações para os clientes compatíveis com o plano Copilot da empresa, garantindo que todos os membros trabalhem dentro dos limites definidos, ao mesmo tempo que permitem que as equipes personalizem as configurações permitidas.

Há suporte para os seguintes clientes, embora nem todos os clientes ofereçam suporte a todas as propriedades:

  • Copilot CLI
  • VS Code
  • JetBrains IDEs
  • O GitHub Copilot app
  • Copilot cloud agent
  • JetBrains IDEs

Essas configurações se aplicam a toda a empresa e as empresas podem personalizar chaves específicas para equipes empresariais. Para a maioria das chaves com suporte, o managed-settings.json valor tem precedência sobre qualquer configuração baseada em arquivo que um usuário define em seu cliente. Em Copilot CLI, as configurações gerenciadas sandbox, em vez disso, definem restrições mínimas que os usuários podem restringir ainda mais, mas não podem afrouxar.

As configurações gerenciadas por MDM e baseadas em arquivos são carregadas do dispositivo, portanto podem ser aplicadas antes do início de sessão ou de uma comunicação de ida e volta com o servidor e permanecem ativas quando os usuários alternam entre contas. As configurações gerenciadas pelo servidor estão associadas à conta de entrada do usuário.

Definindo configurações

Para obter informações detalhadas sobre as propriedades e a sintaxe disponíveis, consulte Configurações gerenciadas pela empresa.

Use copilot/team-mappings.json e o diretório copilot/teams/ quando precisar que uma ou mais equipes corporativas usem configurações diferentes das configurações padrão em copilot/managed-settings.json. Para obter mais informações, consulte Configurando configurações gerenciadas pela empresa.

Escolhendo um método de implantação

Há várias maneiras de implantar configurações gerenciadas pela empresa. Use as diretrizes a seguir para escolher o método certo para você. Para qualquer método, faça um piloto com um pequeno grupo de dispositivos antes da implantação em grande escala.

  • Gerenciado pelo servidor: padrão para a maioria das empresas e o melhor para examinar fluxos de trabalho e histórico de auditoria. Aplica-se a todos os clientes, incluindo Copilot cloud agent.
  • Gerenciado por MDM: melhor quando as equipes de TI precisam de direcionamento de grupo de dispositivos por meio de ferramentas MDM existentes no macOS e Windows. Somente clientes locais.
  • Baseado em arquivos: disponível em todas as plataformas e útil quando a implantação gerenciada pelo servidor e por MDM não estiver disponível, inclusive em ambientes de desenvolvimento, como contêineres e Codespaces. Somente clientes locais.

No Copilot CLI, se uma solicitação de configurações gerenciadas pelo servidor falhar e nenhuma resposta em cache estiver disponível, a política gerenciada pelo servidor ficará indisponível para essa sessão. Para restrições que devem permanecer disponíveis sem uma resposta de servidor, use configurações gerenciadas por MDM ou baseadas em arquivo.

Há considerações adicionais se você usar uma empresa dedicada para Copilot Business. Consulte Diretrizes para empresas dedicadasCopilot Business.

Implantando configurações gerenciadas pelo servidor

  1. Crie e configure seu .github-private repositório. Consulte Criando um .github-private repositório.
  2. No repositório, crie ou atualize copilot/managed-settings.json.
  3. Adicione suas chaves e valores de política empresarial no formato JSON.
  4. Confirme e efetue push das suas alterações para a ramificação padrão.
  5. Confirme se os usuários corporativos estão executando um cliente com suporte. As configurações atualizadas são aplicadas automaticamente dentro de cerca de uma hora. Reiniciar o cliente ou entrar novamente dispara uma atualização imediata.

Substituindo configurações para equipes específicas

Para implantações gerenciadas por servidor, use copilot/team-mappings.json e o diretório copilot/teams/ quando uma ou mais equipes da empresa precisarem usar configurações diferentes dos valores padrão de copilot/managed-settings.json. 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.

  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 fornecido em managed-settings.json é o padrão quando os arquivos de equipe não declaram um valor diferente para uma chave específica. Por exemplo, para adiar ambos model e disableBypassPermissionsMode:

    {
      "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 é uma matriz de slugs de equipe, permitindo que você aplique um arquivo a 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.

Implantando configurações gerenciadas por MDM

A entrega de MDM nativo usa as mesmas chaves lógicas e valores que as configurações gerenciadas pelo servidor, mas não implanta um managed-settings.json arquivo. Em vez disso, sua plataforma MDM implanta configurações individuais como valores de cadeia de caracteres gerenciados pelo sistema operacional.

A entrega nativa de MDM está disponível no Windows e no macOS:

Sistema operacionalLocalização da política nativa
WindowsValores de cadeia de caracteres (REG_SZ) em HKEY_LOCAL_MACHINE\SOFTWARE\Policies\GitHubCopilot
macOSValores de string em preferências gerenciadas forçadas para o domínio de preferências com.github.copilot
LinuxNão há suporte para entrega de MDM nativo. Em vez disso, use configurações baseadas em arquivo.

Todos os valores MDM nativos devem ser cadeias de caracteres. Para configurações aninhadas, use uma chave separada por pontos, como permissions.disableBypassPermissionsMode ou sandbox.enabled. Armazene valores de string comuns diretamente. Armazene boolianos, matrizes e objetos como texto JSON dentro de um valor de cadeia de caracteres.

Por exemplo:

KeyValor da cadeia de caracteres nativa
permissions.disableBypassPermissionsModedisable
sandbox.enabledtrue
enabledPlugins{"PLUGIN-NAME@MARKETPLACE-NAME":true}
  1. Escolha as configurações que você deseja impor. Consulte Configurações gerenciadas pela empresa.

  2. Converta cada configuração para a representação nativa de chave e valor de string.

  3. Implante as configurações no local da política nativa usando a plataforma MDM corporativa e o processo de distribuição padrão.

  4. Atribua a política aos grupos de dispositivos de destino.

    Os clientes não precisam reiniciar e verificar se há políticas atualizadas por hora. Em VS Code, um administrador pode forçar uma verificação de teste executando o Developer: Sync Account Policy comando.

  5. Confirme se as configurações tiveram efeito. Consulte Verificar se a configuração foi aplicada.

Implantando configurações baseadas em arquivo

Coloque managed-settings.json no seguinte local:

Sistema operacionalLocal do arquivo
macOS/Library/Application Support/GitHubCopilot/managed-settings.json
Windows%ProgramFiles%\GitHubCopilot\managed-settings.json
Linux/etc/github-copilot/managed-settings.json
  1. Crie ou atualize um managed-settings.json arquivo com as chaves de política e os valores que você deseja impor.
  2. Distribua o arquivo para o local específico da plataforma usando o processo de gerenciamento de dispositivo padrão. Os computadores que não recebem o arquivo não são restritos por essa política.
  3. Para Copilot CLI no macOS e Linux, torne o arquivo um arquivo regular pertencente a root e certifique-se de que ele não seja gravável pelo grupo nem por todos. Não use um link simbólico. A CLI rejeita arquivos que não atendem a esses requisitos.
  4. Peça aos usuários que reiniciem clientes com suporte para que a política atualizada seja carregada na inicialização.
  5. Confirme se as configurações tiveram efeito. Consulte Verificar se a configuração foi aplicada.

Verificar se a configuração foi aplicada

Para implantações gerenciadas pelo servidor, os usuários em um cliente com suporte veem as configurações especificadas em cerca de uma hora. Isso inclui copilot/managed-settings.json, copilot/team-mappings.jsone arquivos em copilot/teams/. Reiniciar o cliente ou entrar novamente dispara uma atualização imediata.

Para implantações gerenciadas por MDM, os clientes verificam se há políticas atualizadas por hora. Para implantações baseadas em arquivo, reinicie o cliente para carregar um arquivo atualizado.

Se um usuário não vir essas configurações, verifique se ele recebe acesso a Copilot por meio da sua empresa ou de uma de suas organizações. Se um usuário receber uma licença de múltiplas entidades de cobrança, verifique se ele selecionou sua empresa na lista suspensa "Uso cobrado para" nas configurações pessoais Copilot.

Orientações para empresas Copilot Business dedicadas

Se você tiver uma empresa dedicada para Copilot Business (às vezes chamada Copilot de Autônoma), ainda poderá usar as configurações gerenciadas pela empresa. O método de implantação escolhido determina o que você precisa configurar primeiro.

Usando configurações gerenciadas pelo servidor

As configurações gerenciadas pelo servidor exigem uma organização e um .github-private repositório. Para criá-los, um usuário em sua empresa precisa de uma GitHub Enterprise licença. Com essa licença, o usuário pode:

  1. Crie uma organização e um .github-private repositório. Consulte Criando um .github-private repositório.
  2. Adicione configurações ao repositório em um copilot/managed-settings.json arquivo.
  3. Defina essa organização como a fonte de governança para os padrões de IA da sua empresa. Consulte Criando um .github-private repositório.

A partir desse momento, qualquer usuário no plano Copilot da sua empresa que use Copilot CLI ou clientes compatíveis fica sujeito a essas configurações, tenha ou não acesso ao repositório .github-private.

A principal limitação desse método é o GitHub Enterprise requisito de licença para criar a organização e o repositório.

Usando configurações gerenciadas por MDM ou baseadas em arquivo

Se você não quiser adicionar uma GitHub Enterprise licença ou criar uma organização, poderá implantar as mesmas configurações lógicas por meio do MDM (como o Intune ou o Jamf) ou de uma implantação baseada em arquivo. A entrega baseada em arquivo usa o esquema JSON diretamente. A entrega nativa de MDM usa chaves simples e valores codificados em string. Nenhum dos métodos requer uma organização ou .github-private repositório. Consulte a implantação de configurações gerenciadas por MDM e a implantação de configurações baseadas em arquivo. Para orientações específicas para VS Code, consulte Implantar configurações gerenciadas do Copilot na documentação do VS Code.

Considerações sobre acesso ao plug-in

Os usuários não precisam de acesso ao repositório .github-private para que os clientes obtenham as configurações gerenciadas. No entanto, se as configurações gerenciadas definirem um plug-in usando enabledPlugins, o cliente tentará instalá-lo automaticamente para cada usuário. O usuário precisa de acesso ao local em que os arquivos de plug-in estão hospedados. Se o plug-in estiver hospedado em um repositório privado em GitHub, o usuário precisa ter autorização de acesso a esse repositório, o que pode exigir uma licença.