Примечание.
Локальные песочницы для GitHub Copilot них находятся и подвергаются Публичный предварительный просмотр изменению.
Сведения о локальной песочнице
Локальная песочница запускает средства, которые агент вызывает от вашего имени в песочнице операционной системы. Это снижает потенциальное влияние непреднамеренных команд, ограничивая доступ к файлам, сетевым ресурсам и учетным данным на компьютере.
Вы настраиваете локальную песочницу отдельно для каждого проекта в .GitHub Copilot app Конфигурация применяется к локальному репозиторию и рабочим сеансам дерева. Он не применяется к сеансам или сеансам облачной песочницы, которые выполняются на удаленном узле.
Рабочее дерево сохраняет ветви и файлы для параллельных сеансов отдельно, но не ограничивает доступ к команде в другом месте компьютера. Локальная песочница обеспечивает дополнительную защиту.
Общие сведения об облачной и локальной песочнице Copilotсм. в разделе Сведения об облачных и локальных песочницах для GitHub Copilot.
Включение локальной песочницы в проекте
Локальная песочница отключена по умолчанию. Чтобы включить его для новых локальных сеансов в проекте:
- Откройте параметры приложения.
- Выберите проект, который требуется настроить.
- В разделе "Песочница" включите новые сеансы песочницы.
Этот параметр применяется к новым сеансам в проекте. Он не изменяет сеанс, который уже запущен.
Для большинства проектов начните с политики по умолчанию. Он позволяет выполнять распространенные задачи разработки, такие как установка зависимостей, подключение к локальному серверу разработки, отправка ветви и создание запроса на вытягивание. Добавьте ограничения, если проект находится рядом с конфиденциальными папками, не требует доступа к сети или не должен использовать учетные данные.
Настройка политики песочницы для проекта
Политика песочницы — это набор правил, которые управляют доступом к файлам, сетям и средствам запуска агента учетных данных. Параметры проекта описывают политику, которую приложение запрашивает при запуске изолированного сеанса. Эффективная политика может быть более строгой, например, если применяются корпоративные управляемые параметры.
В параметрах проекта можно настроить следующее:
- Доступ к файловой системе: предоставление дополнительного доступа только для чтения или чтения или записи к определенным путям или запрету путей.
- Сетевой доступ: разрешить или заблокировать исходящий интернет и локальный сетевой доступ.
- Учетные данные. Выберите, доступны ли Git и GitHub CLI учетные данные в песочнице.
Настройка доступа к файловой системе
По умолчанию изолированный сеанс имеет доступ на чтение и запись к рабочей области и текущему рабочему каталогу. Вы можете предоставить доступ к дополнительным папкам или запретить доступ к определенным папкам.
В разделе песочницы параметров проекта настройте любой из следующих списков:
- Дополнительные операции чтения и записи: папки, которые средства запуска агента могут читать и изменять.
- Дополнительные доступные только для чтения: папки, которые средства запуска агента могут читать, но не изменять.
- Запрещено: папки, к которым не могут получить доступ средства запуска агента.
Чтобы добавить папку, нажмите кнопку "Добавить папку " для соответствующего списка, а затем выберите ее. Чтобы удалить папку, щелкните значок удаления рядом с его путем.
Более конкретная папка отрицается, если более широкая родительская папка имеет доступ на чтение или запись.
В Windows можно сохранить запрещенный путь в параметрах проекта. Если активные Windows возможности песочницы не могут гарантировать отказ, сбой изолированной команды с сообщением о неподдерживаемой политике. Команда не выполняется с запрещенным путем, доступным или без песочницы.
Настройка сетевого доступа
По умолчанию изолированные сеансы могут подключаться к Интернету и локальной сети. В разделе песочницы параметров проекта можно изменить следующие параметры:
- Исходящий интернет: разрешить подключения к интернет-службам, таким как GitHub и реестры пакетов.
- Локальная сеть: разрешение подключений к циклу и локальных сетевых подключений, включая подключения к локальным серверам разработки.
Ограничения сети могут повлиять на установку пакетов, вызовы API, предварительные версии серверов и другие средства, требующие сетевого подключения.
В Linux песочница не может управлять доступом к локальной сети независимо для разреженных процессов, таких как команды оболочки и локальные серверы MCP или LSP. Этот параметр по-прежнему применяется к операциям внутри процесса, таким как веб-запросы и удаленные подключения MCP.
Настройка учетных данных
По умолчанию в песочнице доступны прошедшие проверку подлинности Git и GitHub CLI операции. Вы можете отключить любой из следующих параметров:
- Учетные данные Git: разрешены операции httpS Git, прошедшие проверку подлинности.
- GitHub CLI учетные данные: разрешить GitHub CLI проверку подлинности.
Отключение доступа к учетным данным может предотвратить такие операции, как отправка ветви или создание запроса на вытягивание из песочницы.
Применение изменений политики
Изменения параметров файловой системы, сети и учетных данных применяются к новым сеансам или при перезапуске существующего сеанса. Они не изменяют политику текущего сеанса.
Чтобы перезапустить сеанс при сохранении журнала, введите следующее:
/restart-session
Приложение принимает параметры песочницы перед проверкой того, может ли ваша операционная система применить их. Поддержка проверяется при запуске первой изолированной оболочки. Если узел не может применить запрошенную политику, оболочка завершается ошибкой с сообщением о неподдерживаемой платформе или неподдерживаемой политике и не выполняет отмену блокировки. Сведения о том, как найти поддерживаемые в настоящее время версии Windows, см. в Windows поддержке ОС для Copilot песочницы.
Если приложение отображает песочницу недоступно, обратитесь к сообщаемой проблеме, а затем нажмите кнопку "Повторить песочницу".
Изменение песочницы для сеанса
Чтобы включить локальную песочницу для активного сеанса, введите:
/sandbox on
Чтобы отключить его для сеанса, введите следующее:
/sandbox off
Во время активного локального сеанса команда создает постоянный переопределение для этого сеанса и немедленно применяет его. Переопределение не изменяет проект по умолчанию для других сеансов.
При вводе любой команды перед началом сеанса команда изменяет проект по умолчанию наследуется новыми сеансами.
Если локальная песочница отключена, команды запуска агента могут получить доступ к тем же файлам, сетям и учетным данным, что и ваша учетная запись пользователя.
Вы не можете использовать локальную песочницу для сеанса облачной песочницы или сеанса, который выполняется на удаленном узле.
Запуск средства за пределами песочницы
Если инструменту требуется доступ к тому, что политика песочницы не разрешает, приложение может отобразить запрос run за пределами песочницы? В зависимости от действующей политики можно:
- Отмена операции.
- Выполните операцию один раз за пределами песочницы.
- Отключите песочницу для оставшейся части текущего сеанса и выполните операцию.
Если отключить песочницу из этого запроса, приложение отображает песочницу для этого сеанса. Нажмите кнопку "Повторно включить песочницу ", чтобы включить ее обратно.
Временное отключение песочницы не изменяет проект по умолчанию или переопределение сеанса. Он заканчивается при перезапуске сеанса или повторном кэшировании.
Владелец предприятия может запретить пользователям работать с инструментами за пределами песочницы. Дополнительные сведения см. в разделе Управляемые корпоративными настройками.