Use essa referência para entender as chaves atualmente compatíveis em managed-settings.json.
Para obter métodos de implantação e clientes com suporte, consulte Configurando configurações gerenciadas pela empresa.
Regras de precedência
Quando várias fontes de configurações estão presentes, as configurações anteriores nesta lista têm precedência sobre as configurações posteriormente na lista:
- Configurações gerenciadas por MDM
- Configurações gerenciadas pelo servidor
- Configurações baseadas em arquivo
- Configurações no nível do usuário
Em CLI do Copilot, a sandbox chave é uma exceção a essas regras de precedência. Restrições de área restrita gerenciadas de configurações gerenciadas por MDM, gerenciadas por servidor e baseadas em arquivo combinam-se entre si e com as configurações de área restrita do usuário na direção mais restritiva.
Chaves com suporte
| Key | Purpose | CLI do Copilot | VS Code | aplicativo GitHub Copilot | agente de nuvem Copilot | JetBrains IDEs |
|---|---|---|---|---|---|---|
permissions.disable | Desabilita o bypass ou o comportamento de permitir tudo no estilo YOLO | |||||
permissions.model | Define a seleção de modelo automático como o padrão para novas conversas | |||||
enabledPlugins | Habilita ou desabilita plug-ins específicos por chave | |||||
extra | Adiciona marketplaces de plug-in que os usuários podem acessar | |||||
strict | Restringe a instalação do plug-in a marketplaces explicitamente listados | |||||
telemetry | Configura a exportação do OpenTelemetry, roteando dados de uso Copilot para um coletor de sua escolha | |||||
remoteControl | Restringe se as sessões hospedadas neste dispositivo podem ser controladas remotamente, com base no status de autorização de SSO do cliente de controle para as organizações listadas. Não afeta a capacidade do usuário de controlar remotamente as sessões hospedadas em outros dispositivos | |||||
allowedMcpServers | Define uma lista de permissões de servidores MCP permitidos para execução. Qualquer servidor não correspondido é bloqueado. Omita para permitir todos os servidores, sujeitos a quaisquer regras de negação | |||||
deniedMcpServers | Define servidores MCP bloqueados incondicionalmente, mesmo que eles também correspondam a uma entrada em allowedMcpServers | |||||
sandbox | Impõe restrições mínimas de área restrita local para execução de comando, sistema de arquivos e acesso à rede, credenciais e servidores MCP e LSP locais |
Aplicando configurações diferentes às equipes corporativas
Para implantações gerenciadas por servidor, a empresa pode aplicar governança diferente a grupos de usuários com base em sua associação de equipe corporativa. A empresa define todas as configurações— a associação de equipe determina apenas quais usuários recebem um determinado conjunto de valores.
Para tornar uma chave qualificada para valores específicos da equipe, marque-a como substituível no managed-settings.json uso da { "overridable": <VALUE> } sintaxe. Uma chave substituível usa o valor da equipe quando definida ou volta para o padrão da empresa quando a equipe a deixa sem configuração. A { "overridable": <VALUE> } sintaxe se aplica às permissions.modelteclas , permissions.disableBypassPermissionsModee allowedMcpServers``deniedMcpServers . Chaves não marcadas como substituíveis permanecem uma decisão de nível empresarial que as equipes não podem modificar.
enabledPlugins e extraKnownMarketplaces trabalhe de forma aditiva. A empresa managed-settings.json define uma linha de base e um arquivo de equipe empresarial pode adicionar mais plug-ins e marketplaces sobre ele. Para obter as etapas completas de instalação, consulte Configurando configurações gerenciadas pela empresa.
Configuração de exemplo
O exemplo a seguir mostra essas chaves em um arquivo de configurações gerenciadas.
{
"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
Define plug-ins instalados ou bloqueados automaticamente para todos os usuários corporativos. Cada entrada usa o formato PLUGIN-NAME@MARKETPLACE-NAME como a chave, com um valor booliano: true para exigir que o plug-in seja habilitado ou false para exigir que ele seja desabilitado. Consulte Sobre os padrões de plug-in gerenciados pela empresa.
extraKnownMarketplaces
Define outros marketplaces de plug-in disponíveis para os usuários. Cada entrada é um objeto de marketplace nomeado que contém a propriedade source. Há suporte para os seguintes tipos de origem:
"github"— requerrepoemOWNER/REPOformato; opcionalref(branch, tag ou SHA) epath(subdiretório)"git"— requerurl; opcionalrefepath"directory"— requerpath
Consulte Sobre os padrões de plug-in gerenciados pela empresa.
strictKnownMarketplaces
Restringe a instalação do plug-in somente aos marketplaces definidos explicitamente pela empresa. Uma matriz vazia significa bloqueio completo. Cada entrada é um objeto do marketplace com uma source propriedade que indica o tipo de origem. Há suporte para os seguintes tipos de origem:
"github"— requerrepono formatoOWNER/REPO; opcionalrefepath"git"— requerurl; opcionalrefepath"url"— requerurl; objeto opcionalheaders"npm"— requerpackage"file"— requerpath"directory"— requerpath"hostPattern"— requerhostPattern(hosts do marketplace de correspondência regex)"pathPattern"— requerpathPattern(caminhos do marketplace na correspondência regex)
permissões
disableBypassPermissionsMode
Impede que os usuários habilitem o modo de bypass (também conhecido como "modo YOLO"). O modo de bypass permite que um agente execute comandos, acesse arquivos e busque URLs sem solicitar aprovação.
Quando você define disableBypassPermissionsMode como "disable", os usuários não podem ativar o modo de bypass:
- Em managed-settings.json, todas as opções de linha de comando para permitir todas as permissões (
--yolo,--allow-alle o indivíduo--allow-all-tools,--allow-all-pathse--allow-all-urlsopções) são suprimidas na inicialização e não podem conceder permissões elevadas. Os/yolocomandos e/allow-allbarra também são bloqueados. - Em managed-settings.json, a configuração de aprovação automática global (
chat.tools.global.autoApprove) está desativada e não pode ser habilitada novamente. - Em CLI do Copilot, a configuração "Permitir tudo" de "Permissões de ferramentas" está bloqueada nas configurações da sessão.
- Essa chave é substituível pelo mapeamento de equipe empresarial. Em sua
VS Codesintaxe, use a{ "overridable": "disable" }sintaxe para especializar a configuração da chave por equipe. Em seguida, você pode definir"disableBypassPermissionsMode": "unmanaged"em um arquivo de configurações de equipe, fornecendo uma especialização que tem precedênciaaplicativo GitHub Copilotsobre os membros da equipe de assunto.
modelo
Define a seleção de modelo automático como o padrão para novas conversas. Consulte Sobre CopilotSeleção de modelo automática.
- Quando você define
permissions.modelcomo"auto", novas sessões usam o modelo Automático, a menos que o usuário especifique um modelo diferente por conversa. - Essa chave é substituível pelo mapeamento de equipe empresarial. Em sua
managed-settings.jsonsintaxe, use a{ "overridable": "auto" }sintaxe para especializar a configuração da chave por equipe. Em seguida, você pode definir"model": "unmanaged"em um arquivo de configurações de equipe, fornecendo uma especialização que tem precedênciamanaged-settings.jsonsobre os membros da equipe de assunto.
telemetria
Configura a exportação do OpenTelemetry, encaminhando os dados de uso Copilot para um coletor à sua escolha.
Essa propriedade tem suporte para CLI do Copilot e VS Code.
Quando você define a propriedade telemetry, a telemetria de Copilot é enviada para o endpoint que você especificar. Há suporte para as seguintes sub-propriedades:
enabled: Defina comotruepara ativar a exportação de telemetria ou comofalsepara desativá-la.endpoint: a URL do coletor OTLP (por exemplo,https://otel-collector.example.com).protocol: o protocolo de transporte para exportação de telemetria. Os valores aceitos são"http/json"e"http/protobuf".captureContent: defina comotruepara incluir o conteúdo do prompt e da resposta na carga de telemetria, oufalsepara excluí-lo.lockCaptureContent: definido comotruepara impedir que os usuários alterem a configuraçãocaptureContent.serviceName: um rótulo para o nome do serviço de telemetria (por exemplo,"copilot").resourceAttributes: um objeto de atributos de recurso OpenTelemetry a ser anexado a toda a telemetria exportada (por exemplo,{"deployment.environment": "production"}).headers: um objeto de cabeçalhos HTTP a ser incluído com cada solicitação de telemetria (por exemplo, umAuthorizationcabeçalho para o coletor).
remoteControl
Restringe se as Copilot sessões hospedadas em um dispositivo podem ser controladas remotamente. Isso não afeta a capacidade de um usuário de controlar remotamente suas sessões hospedadas em outros dispositivos.
mode: defina para"disabled"impedir o controle remoto de sessões no dispositivo,"requireSSO"para permitir apenas o controle remoto de um cliente autorizado por SSO para as organizações listadasgithubDotComOrganizationsou"enabled"para permitir que ele seja irrestrito.githubDotComOrganizations: uma matriz de logons da organização. Necessário quandomodeé"requireSSO".
allowedMcpServers
Define uma lista de permissões de servidores MCP permitidos para execução. Quando definido, somente servidores correspondentes a pelo menos uma entrada são permitidos. Qualquer servidor que não seja correspondido é bloqueado.
Omita essa chave inteiramente para permitir que todos os servidores, sujeitos a quaisquer entradas em deniedMcpServers. Defina-a como uma matriz vazia para bloquear todos os servidores, exceto servidores padrão internos.
Quando várias fontes de configurações definem allowedMcpServers, a lista de permissões efetiva é a interseção de todas as fontes. Um servidor deve ser permitido por todas as fontes a serem executadas.
Cada entrada deve conter exatamente uma propriedade correspondente.
| Property | Comportamento de correspondência | Servidores aplicáveis |
|---|---|---|
serverName | Corresponde exatamente ao rótulo do servidor atribuído pelo usuário. Não há suporte para curingas. Como os usuários escolhem nomes de servidor, usem serverUrl ou serverCommand quando você precisar impor a identidade de um servidor. | Qualquer servidor. Os servidores na memória só podem usar serverName. |
serverUrl | Corresponde a uma URL do servidor remoto. | |
* Dá suporte a curingas para subdomínios ou prefixos de caminho, por exemplo, https:/ ou https:/. | Servidores remotos que se conectam via HTTP ou SSE (eventos enviados pelo servidor). Essa propriedade não se aplica aos servidores locais, mesmo que eles tenham uma URL. | |
serverCommand | Corresponde ao comando exato e a cada argumento de um servidor local, por exemplo, ["npx", "-y", "my-mcp-server"]. Não há suporte para curingas e expansão de linha de comando. | Servidores locais que usam entrada e saída padrão (stdio). Essa propriedade não se aplica a servidores remotos, mesmo que eles tenham um comando. |
Essa chave é substituível para equipes empresariais. Embrulhe os objetos correspondentes overridable no nível da empresa e use a sintaxe regular para definir listas de permissões e listas de negação no arquivo de cada equipe.
Canonização de URL
Antes de comparar um serverUrl padrão com uma URL do servidor, o cliente normaliza os dois valores:
- Converte o esquema e o host em letras minúsculas.
- Converte nomes de host unicode ou internacionalizados em Punycode.
- Remove a porta padrão,
:80para HTTP ou:443para HTTPS. - Decodifica octetos de host codificados por porcentagem. Por exemplo,
%65vilse tornaráevil. - Remove fragmentos de URL e pontos à direita de nomes DNS.
- Impede que curingas no componente de autoridade correspondam ao
/limite no caminho.
deniedMcpServers
Define servidores MCP bloqueados incondicionalmente. Um servidor que corresponde a qualquer entrada é bloqueado mesmo que ele também corresponda a uma entrada em allowedMcpServers. As regras de negação sempre têm precedência sobre as regras de permissão.
Servidores de primeira parte Copilot , como o servidor MCP interno GitHub , são isentos de regras de negação e não podem ser bloqueados.
Quando várias fontes de configurações definem deniedMcpServers, a lista de negação efetiva é a união de todas as fontes. Um servidor bloqueado por qualquer origem é bloqueado para todos.
Cada entrada usa a mesma serverName, serverUrlou serverCommand propriedades descritas em allowedMcpServers.
sandbox
Impõe restrições mínimas de área restrita local para CLI do Copilot. As configurações de área restrita gerenciada impõem restrições em vez de padrões:
- Para configurações de força, um valor gerenciado de
trueimpõe a configuração.falseou a omissão deixa a configuração do usuário inalterada. - Para configurações de funcionalidade, um valor gerenciado de
falseproíbe a funcionalidade.trueou a omissão deixa a configuração do usuário inalterada. - Listas de caminhos de leitura/gravação e somente leitura gerenciadas restringem as concessões configuradas pelo usuário, enquanto os caminhos negados gerenciados adicionam negações configuradas pelo usuário.
Há suporte para as seguintes sub-propriedades:
enabled:truerequer área restrita e impede que os usuários a desabilitem.allowBypass:falseimpede que o modelo solicite que um comando individual seja executado fora da área restrita.addCurrentWorkingDirectory:falseimpede a adição automática do diretório de trabalho atual aos caminhos CLI do Copilot de leitura/gravação da área restrita.sandboxMcpServers:truerequer que os servidores MCP locais iniciados para CLI do Copilot serem executados na área restrita. Os servidores MCP remotos não são executados na área restrita local.sandboxLspServers:trueexige que os servidores de idiomas iniciados pela CLI do Copilot execução na área restrita.gitAuth:falseimpede CLI do Copilot a injeção de um GitHub token para operações HTTPS do Git autenticadas na área restrita.ghAuth:falseimpede CLI do Copilot a injeção de um GitHub token GitHub CLI na área restrita.allowDevToolAccess:falseimpede o acesso automático à configuração da ferramenta de desenvolvimento, caches, registros e carrinhos de ferramentas. Esses locais podem conter credenciais ou tokens do registro de pacote. Desabilitar o acesso pode causar a restauração de pacotes, operações de registro autenticadas ou builds que usam caches compartilhados para falhar, a menos que você conceda explicitamente os caminhos necessários.userPolicy: um objeto que configura restrições de seatbelt específicas do sistema de arquivos, da rede e do macOS. As propriedades com suporte são descritas nas seções a seguir.
sandbox.userPolicy.filesystem
Configura o acesso ao sistema de arquivos para processos em área restrita. Os caminhos devem ser absolutos. As listas de concessões gerenciadas são correspondidas às listas configuradas pelo usuário pela cadeia de caracteres de caminho exata, não pela cobertura do caminho pai ou filho.
readwritePaths: uma matriz de caminhos que os processos em área restrita podem ler e gravar. Um caminho configurado pelo usuário permanecerá disponível somente se sua cadeia de caracteres exata também aparecer em todas as fontes gerenciadas que especificam essa propriedade. Uma matriz gerenciada vazia remove todas as concessões de caminho de leitura/gravação configuradas pelo usuário, mas não remove o acesso montado separadamente, como diretórios temporários ou o diretório de trabalho atual.readonlyPaths: uma matriz de caminhos que os processos em área restrita podem ler, mas não gravar. Um caminho configurado pelo usuário permanecerá disponível somente se sua cadeia de caracteres exata também aparecer em todas as fontes gerenciadas que especificam essa propriedade. Uma matriz gerenciada vazia remove todas as concessões de caminho somente leitura configuradas pelo usuário, mas não remove o acesso montado separadamente.deniedPaths: uma matriz de caminhos que os processos em área restrita não podem acessar. Um valor gerenciado aumenta, em vez de substituir, os caminhos negados de um usuário.
sandbox.userPolicy.network
Configura o acesso à rede para processos em área restrita.
allowOutbound:falsebloqueia o acesso à rede de saída.allowLocalNetwork:falseimpede o acesso à rede local.
O comportamento da rede varia de acordo com o sistema operacional. Em particular, um proxy não é um limite de controle de saída completo porque alguns aplicativos podem ignorar as configurações de proxy.
sandbox.userPolicy.seatbelt
Configura opções de Cinto de Segurança específicas do macOS.
keychainAccess:falseimpede que processos em área restrita acessem o conjunto de chaves do macOS.