Skip to main content

Настройка списка разрешений сервера MCP для предприятия

Определите, какие серверы MCP пользователи могут использовать и не могут использовать без необходимости в частном реестре.

Кто может использовать эту функцию?

Enterprise owners

Copilot Enterprise or Copilot Business

Сведения о списках разрешений

Список разрешений и список запретов можно определить, какие серверы MCP пользователи в вашей организации могут выполняться в Copilot клиентах. Эти списки определяются в вашей организации managed-settings.json, в которой можно хранить GitHub.

Дополнительные сведения см. в разделе Использование MCP-сервера в вашей компании.

Необходимые условия

  • Чтобы все серверы MCP выполнялись, серверы MCP в Copilot политике должны быть включены для вашего предприятия или для организаций, где должны быть разрешены серверы MCP.
  • Если вы в настоящее время ограничиваете серверы MCP пользовательским реестром, рекомендуется отключить это ограничение, чтобы избежать конфликтов с новым списком разрешений и поддерживать один источник истины. Задайте политику "Ограничить доступ MCP к серверам реестра ", чтобы разрешить все, и при необходимости очистить значение ДЛЯ URL-адреса реестра MCP.

Эти параметры можно найти в разделе ****Copilot политик. См . раздел AUTOTITLE.

Определение списка разрешений или списка запретов

  1. managed-settings.json Создайте файл для вашего предприятия. Большинство предприятий хранят этот файл в репозитории .github-private . Его также можно установить непосредственно на компьютерах пользователей с помощью управления мобильными устройствами. См . раздел AUTOTITLE.

  2. Измените файл, чтобы определить список разрешений и список запретов для серверов MCP. Можно сопоставить по имени, URL-адресу сервера или определенным командам. Дополнительные сведения о синтаксисе см. в разделе allowedMcpServers и deniedMcpServers в разделе "Управляемые параметры Enterprise".

    В следующем примере серверы, соответствующие любым из трех записей списка разрешений. Сервер файловой системы, настроенный для доступа к корневой файловой системе, всегда блокируется, даже если он соответствует записи списка разрешений.

    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",
            "/"
          ]
        }
      ]
    }
    

Правила оценки

Copilot Клиенты оценивают серверы MCP в этом порядке:

  1. Всегда разрешать встроенные серверы по умолчанию, например встроенный GitHub сервер MCP.
  2. Блокировать сервер, если он соответствует любой записи deniedMcpServers.
  3. Если allowedMcpServers он присутствует, заблокируйте сервер, если он не соответствует записи.
  4. Блокировать сервер, если его URL-адрес или команда содержат неразрешенную переменную, например или${VARIABLE}, так как $VARIABLE клиент не может проверить сервер.

Если клиент получает параметры из нескольких managed-settings.json методов развертывания, применяются все параметры. Правило запрета из любого источника блокирует сервер, и сервер должен соответствовать записи списка разрешений на каждом уровне, который определяет один.

Если список разрешений или список запретов неправильно сформирован (например, имеет недопустимый JSON), клиент обрабатывает политику как пустой allowedMcpServers список. Это блокирует все серверы, кроме встроенных серверов по умолчанию.

Если клиент не может определить уровень политики из-за ошибки извлечения или обнаружения устройств, он сохраняет ранее примененную политику. Эффективная политика может стать более строгим, но не менее строгим.