Sobre listas de permissões
Você pode definir uma lista de permissões e uma lista de bloqueio para controlar quais servidores MCP os usuários da sua empresa podem executar nos clientes Copilot. Essas listas são definidas em managed-settings.json da sua empresa, que você pode armazenar em GitHub.
Para obter mais informações, consulte Uso do servidor MCP em sua empresa.
Pré-requisitos
- Para que todos os servidores MCP sejam executados, os servidores MCP na Copilot política devem ser habilitados para sua empresa ou para organizações em que os servidores MCP devem ser permitidos.
- Se você restringe atualmente os servidores MCP a um registry personalizado, recomendamos desativar essa restrição para evitar conflitos com sua nova lista de permissões e manter uma única fonte de referência. Defina a política Restringir o acesso do MCP aos servidores de registro como Permitir tudo e, opcionalmente, limpe o valor de URL do Registro MCP.
Você pode encontrar essas configurações na seção MCP de suas Copilot políticas. Consulte Gerenciando políticas e recursos para GitHub Copilot em sua empresa.
Definindo uma lista de permissões ou lista de negações
-
Crie um
managed-settings.jsonarquivo para sua empresa. A maioria das empresas armazena esse arquivo em um.github-privaterepositório. Você também pode instalá-lo diretamente nos computadores dos usuários usando o gerenciamento de dispositivo móvel. Consulte Configurando configurações gerenciadas pela empresa. -
Edite o arquivo para definir uma lista de permissões e uma lista de negação para servidores MCP. Você pode corresponder por nome, URL do servidor ou comandos específicos. Para obter detalhes de sintaxe, consulte allowedMcpServers e deniedMcpServers em "Configurações gerenciadas da empresa".
O exemplo a seguir permite os servidores que correspondem a qualquer uma das três entradas da lista de permissões. O servidor do sistema de arquivos configurado para acessar o sistema de arquivos raiz sempre é bloqueado, mesmo que ele também corresponda a uma entrada de lista de permissões.
JSON { "allowedMcpServers": [ { "serverUrl": "https://api.githubcopilot.com/*" }, { "serverCommand": ["npx", "@playwright/mcp@latest"] }, { "serverCommand": ["cmd", "/c", "uvx", "markitdown-mcp"] } ], "deniedMcpServers": [ { "serverCommand": [ "npx", "-y", "@modelcontextprotocol/server-filesystem", "/" ] } ] }{ "allowedMcpServers": [ { "serverUrl": "https://api.githubcopilot.com/*" }, { "serverCommand": ["npx", "@playwright/mcp@latest"] }, { "serverCommand": ["cmd", "/c", "uvx", "markitdown-mcp"] } ], "deniedMcpServers": [ { "serverCommand": [ "npx", "-y", "@modelcontextprotocol/server-filesystem", "/" ] } ] }
Regras de avaliação
Copilot os clientes avaliam os servidores MCP nesta ordem:
- Sempre permita servidores padrão internos, como o servidor MCP interno GitHub .
- Bloqueie o servidor se ele coincidir com qualquer entrada em
deniedMcpServers. - Se
allowedMcpServersestiver presente, bloqueie o servidor se ele não corresponder a uma das entradas. - Bloqueie o servidor se sua URL ou comando contiver uma variável não resolvida, como
${VARIABLE}ou$VARIABLE, porque o cliente não pode verificar o servidor.
Se um cliente receber configurações de vários managed-settings.json métodos de implantação, todas as configurações serão aplicadas. Uma regra de negação de qualquer origem bloqueia o servidor e um servidor deve corresponder a uma entrada de lista de permissões em cada camada que define uma.
Se uma lista de permissões ou lista de negação estiver malformada (por exemplo, tiver JSON inválido), o cliente tratará a política como uma lista vazia allowedMcpServers . Isso bloqueia todos os servidores, exceto servidores padrão internos.
Se o cliente não puder determinar uma camada de política devido a um erro de recuperação ou descoberta de dispositivo, ele manterá a política imposta anteriormente. A política efetiva pode se tornar mais restritiva, mas não menos restritiva.