{"meta":{"title":"Общие сведения о политиках файловой системы для локальной песочницы GitHub Copilot CLI","intro":"Если включена локальная песочница, запускает каждый изолированный процесс или операцию в политике файловой системы, Copilot CLI которая управляет файлами и каталогами, которые она может читать и записывать. Узнайте, как эта политика создана и как проверить доступ, который он предоставляет.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ru/enterprise-cloud@latest/copilot","title":"GitHub Copilot"},{"href":"/ru/enterprise-cloud@latest/copilot/concepts","title":"Основные понятия"},{"href":"/ru/enterprise-cloud@latest/copilot/concepts/agents","title":"Агенты"},{"href":"/ru/enterprise-cloud@latest/copilot/concepts/agents/copilot-cli","title":"Copilot CLI"},{"href":"/ru/enterprise-cloud@latest/copilot/concepts/agents/copilot-cli/understanding-local-sandboxing","title":"Общие сведения о локальной песочнице"}],"documentType":"article"},"body":"# Общие сведения о политиках файловой системы для локальной песочницы GitHub Copilot CLI\n\nЕсли включена локальная песочница, запускает каждый изолированный процесс или операцию в политике файловой системы, Copilot CLI которая управляет файлами и каталогами, которые она может читать и записывать. Узнайте, как эта политика создана и как проверить доступ, который он предоставляет.\n\n> \\[!NOTE]\n> Локальные песочницы для GitHub Copilot них находятся и подвергаются Публичный предварительный просмотр изменению.\n\n> \\[!IMPORTANT]\n> Для локальной песочницы в Windows требуется сборка Windows insiders.\n\n## Introduction\n\nПри включении локальной песочницы выполняет команды, Copilot CLI вызываемые от вашего имени в песочнице операционной системы. Песочница применяет **политику файловой системы**: набор правил, которые определяют пути изолированного процесса или операции, которые могут читаться, которые могут записываться и которые не могут касаться вообще.\n\nБольшая часть этой политики выполняется автоматически, чтобы повседневные команды не работали без настройки. В этой статье объясняется, как поступает в политику и как Copilot проверить доступ, предоставленный в определенном каталоге.\n\nОбщие сведения о локальной песочнице, включая включение и отключение, см. в разделе [Сведения об облачных и локальных песочницах для GitHub Copilot](/ru/enterprise-cloud@latest/copilot/concepts/about-cloud-and-local-sandboxes) и [Использование локальной песочницы](/ru/enterprise-cloud@latest/copilot/how-tos/cloud-and-local-sandboxes/using-local-sandboxing).\n\n## Что применяется к политике\n\nПолитика файловой системы охватывает работу Copilot от вашего имени, но она применяется различными способами в зависимости от типа работы:\n\n* **Команды оболочки и встроенные поиски** выполняются как изолированные дочерние процессы, поэтому операционная система напрямую применяет политику.\n  `grep`\n  `glob` Например, запустите ripgrep как изолированный дочерний процесс.\n* **Локальные процессы MCP и языкового сервера (LSP)** также могут выполняться внутри песочницы, поэтому операционная система также применяет политику к ним.\n* **Встроенные средства чтения и редактирования файлов** выполняются как часть Copilot CLI самого себя, а не как изолированный дочерний процесс. Они проверяют ту же политику файловой системы перед чтением или записью файла, но так как песочница операционной системы никогда не видит эти операции, проверка является защитой только программной системы, а не одной операционной системой.\n* **Удаленные серверы MCP** выполняются за пределами компьютера, поэтому локальный дочерний процесс для песочницы и политика файловой системы не ограничивает их.\n* **Субагенты** не действуют напрямую; они оркестрируют другие инструменты. Применяется ли политика и как зависит от средства, вызываемого подагентом.\n\nПоэтому изолированный **процесс** ограничен операционной системой, а операция **внутри процесса применяет** ту же политику в программном обеспечении, поэтому эта статья относится к изолированному процессу или операции, а не только к командам.\n\n## Уровни разрешений\n\nПесочница по **умолчанию запрещена**: если путь явно не предоставлен, команда не может использовать ее. Каждый путь в политике имеет один из трех уровней разрешений:\n\n* **Чтение и запись** — команда может считывать и изменять файлы по этому пути.\n* **Только для чтения** — команда может считывать файлы по этому пути, но не изменять их.\n* **Отклонено** — команда не может читать или записывать данные по этому пути, даже если более широкое правило в противном случае позволит ему.\n\nТак как доступ запрещен, если он не предоставлен, Copilot необходимо предоставить команду всем, что он законно нуждается в файлах проекта, средствах, которые он выполняет, и вспомогательных расположениях, таких как временные каталоги, при сохранении всех остальных ограничений.\n\n> \\[!NOTE]\n> Эти уровни разрешений применяются к каждому изолированному процессу или операции, но они применяются по-разному: для изолированных дочерних процессов операционная система применяет их напрямую, в то время как встроенные средства чтения файлов и редактирования файлов cli проверяют одинаковые уровни программного обеспечения без резервной системы операционной системы.\n\n## Как создается политика\n\nПеред началом каждого изолированного процесса Copilot CLI разрешает эффективную политику для этого процесса с помощью текущего рабочего каталога, среды, параметров и автоматических грантов. Это ограничивает процесс только доступом, который он нуждается, и означает, что вам не нужно управлять этими общими расположениями самостоятельно.\n\n### Рабочий каталог\n\nЕсли включен **рабочий каталог** в параметрах файловой системы для локальной песочницы( как по умолчанию), текущий рабочий каталог предоставляется доступ на чтение и запись. В репозитории Copilot Git также добавляет связанные гранты Git. Отключение этого параметра отключает все эти автоматические гранты, поэтому необходимо добавить правила разрешения для необходимых путей проекта и Git вручную. См. [Настройка локальных настроек песочницы](/ru/enterprise-cloud@latest/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings).\n\n> \\[!NOTE]\n> Если вы получаете Copilot от корпоративной организации, администратор может отключить параметр **\"Включить рабочий каталог** \" и заблокировать его, чтобы вы не могли включить его обратно. См. [Управляемые корпоративными настройками](/ru/enterprise-cloud@latest/copilot/reference/enterprise-administrators/enterprise-managed-settings#sandbox).\n\n### Средства в пути\n\nЧтобы запустить программу, например `python` или `git`, песочница должна позволить команде увидеть каталог, в который находится программа. Переменная `PATH` среды перечисляет эти каталоги и Copilot предоставляет им доступ **только для чтения** , а также каталоги, именованные связанными переменными инструментов, такими как `GOPATH`, `CARGO_HOME`и `PYTHONPATH`. Только для чтения — это правильный уровень для внешних инструментов: команда должна выполняться `git`, а не изменять ее. Полный `PATH` список переменных среды с цепочкой инструментов проверяет песочницу и интерпретируется каждым из них, см. в разделе [Справочник команды GitHub Copilot CLI](/ru/enterprise-cloud@latest/copilot/reference/copilot-cli-reference/cli-command-reference#sandbox-tool-directory-grants).\n\n### Расположения систем и профилей\n\nСтандартные системные расположения и каталог профилей пользователей (главная) предоставляются только для чтения, чтобы команды могли считывать файлы конфигурации и общие библиотеки без возможности их изменения.\n\n### Кэши диспетчера пакетов\n\nЧтобы позволить установкам и сборкам работать в песочнице, Copilot также предоставляет доступ к кэшам и реестрам, используемым общими диспетчерами пакетов и цепочками инструментов— только для чтения реестров и цепочки инструментов, а также для чтения и записи для кэшей сборок. В отчете это отображается как **доступ к средству**`/sandbox policy` разработки.\n\n### Репозитории Git\n\nПри работе в подкаталоге репозитория Git предоставляет доступ на **чтение** ко всему репозиторию, Copilot чтобы команды могли видеть полный проект, ограничивая **запись** в текущий рабочий каталог и метаданные репозитория Git (его `.git` каталог). Это позволяет команде читать в репозитории, но сохраняет изменения, ориентированные на то, где вы работаете.\n\nТак как доступ на чтение охватывает весь репозиторий, команда песочницы может считывать файлы за пределами текущей подкаталога, включая все конфиденциальные данные, хранящиеся в другом месте проекта. Чтобы сохранить определенные пути вне досягаемости, можно добавить правила запрета. См. [Настройка локальных настроек песочницы](/ru/enterprise-cloud@latest/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings).\n\n## При перекрытии правил доступа\n\nТак как Copilot предоставляет несколько расположений, и вы можете добавить собственные, правила могут перекрываться. Когда они делают, **более конкретный путь выигрывает**. Например, если `/project` запись доступна, но вы помечаете `/project/secrets` только для чтения, все в `/project` остающихся записываемых, кроме `/project/secrets`. Это удобный способ защиты конфиденциальной вложенной папки.\n\nПерекрытия также разрешаются в вашей пользу, когда удобное предоставление в противном случае окажется в пути. Рассмотрим проект Python с локальной виртуальной средой (`.venv`), которая отображается на вашем компьютере`PATH`. Обработка этого каталога как обычного расположения инструмента только для чтения сделает его доступным только для чтения , даже если он находится внутри записываемого проекта, и команда, например `pip install` , может завершиться ошибкой при попытке обновить среду.\nCopilot Разрешает это для вас: предоставление, которое оно добавлено автоматически (например, каталог инструментов) `PATH`дает более широкий доступ для чтения и записи, который уже охватывает его. Таким образом, локальный `.venv``node_modules/.bin`или аналогичный каталог остается доступным для записи в рамках рабочей области.\n\nПравила, которые **вы** настраиваете, всегда хранятся. Если пометить путь только для чтения или запретить его, это решение стоит даже в том случае, если тот же путь будет обнаружен и предоставлен автоматически. Это дает надежный способ защитить конфиденциальное расположение, например запретить `.env` файл, чтобы не было изолированной команды, чтобы считывать секреты.\n\n## Проверка того, что позволяет текущая политика\n\nТак как политика собирается для каждого каталога и команды, самый простой способ просмотреть доступ, который требуется вам, заключается в запросе Copilot CLI. В сеансе введите:\n\n```shell copy\n/sandbox policy\n```\n\nCopilot печатает **эффективную** политику для текущего каталога: доступные только для чтения и записи пути, а также отказано в том, что команда, запущенная здесь, фактически получит доступ к сети и доступ к средству разработки. Это разрешенный результат после автоматического предоставления грантов и ваших собственных параметров и любых перекрывающихся значений, а не только копии сохраненных параметров.\n\nПри чтении отчета следует учитывать несколько моментов:\n\n* Он отражает **текущий каталог**. Так как гранты обнаруживаются в каждом каталоге, одни и те же параметры могут разрешаться в зависимости от того, где выполняется выполнение.\n* Если настроенный путь не существует на диске, он остается вне политики и отмечен в разделе **\"Заметки** \". Это объясняет, почему добавленное правило может не влиять.\n* Если песочница отключена, говорит вам, что вместо печати политики, `/sandbox policy` так как ограничения не применяются.\n\nЧтобы проверить, включена ли песочница в данный момент, используйте `/sandbox status`. Дополнительные сведения об этих командах см. в разделе [Использование локальной песочницы](/ru/enterprise-cloud@latest/copilot/how-tos/cloud-and-local-sandboxes/using-local-sandboxing).\n\n## Настройка политики\n\nВы можете предоставить дополнительные пути только для чтения или записи, запретить пути и изменить другое поведение файловой системы в `/sandbox config` диалоговом окне или в файле параметров. После внесения изменений выполните команду `/sandbox policy` , чтобы подтвердить результат. Для пошаговых инструкций см. [АВТОТИТР](/ru/enterprise-cloud@latest/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings).\n\n## Политики, управляемые предприятием\n\nЕсли вы получаете Copilot доступ к корпоративной организации, администратор может применить политику файловой системы с помощью управляемых параметров. Управляемые параметры действуют как базовые показатели, которые нельзя освободить: они могут требовать песочницу, добавлять запрещенные пути и ограничивать разрешенные пути. Где применяется управляемый параметр, `/sandbox config` диалоговое окно отображает его как заблокированное **(управляемое)** значение и `/sandbox policy` отражает его в разрешенной политике.\n\nВ отличие от большинства параметров, где один источник выигрывает, политика песочницы состоит из каждого источника одновременно. Управляемые параметры могут одновременно поступать через несколько каналов — управляемые сервером, MDM и файловые параметры, и они объединяются друг с другом, а также с собственными параметрами, а не \\*\\*\\*\\* одним источником, переопределяющим другой: обязательный переключатель остается на месте, отказано в пути из всех источников, и пути, которые можно предоставить, можно только сузить. Дополнительные сведения см. в разделе [Управляемые корпоративными настройками](/ru/enterprise-cloud@latest/copilot/reference/enterprise-administrators/enterprise-managed-settings#sandbox).\n\n## Дополнительные материалы\n\n* [Сведения об облачных и локальных песочницах для GitHub Copilot](/ru/enterprise-cloud@latest/copilot/concepts/about-cloud-and-local-sandboxes)\n* [Использование локальной песочницы](/ru/enterprise-cloud@latest/copilot/how-tos/cloud-and-local-sandboxes/using-local-sandboxing)\n* [Настройка локальных настроек песочницы](/ru/enterprise-cloud@latest/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings)"}