Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Контейнеры выполнения Microsoft (MXC) — это технология выполнения с открытым исходным кодом, основанная на политиках, для выполнения рабочих нагрузок с определёнными разрешениями ресурсов. Вы можете использовать пакет SDK .NET, TypeScript или Rust в приложении, чтобы выбрать рабочую нагрузку, описать доступ к ней и запустить ее в поддерживаемой среде изоляции.
Приложения, агенты и средства разработчика часто выполняют код, который они не создавали или не полностью контролируют, например команды, созданные ИИ, сторонние инструменты и предоставленные пользователем скрипты. Без изоляции этот код может наследовать широкий доступ к файлам, учетным данным, сетевым службам и другим ресурсам. MXC помогает ограничить этот доступ тем, что требуется для выполнения задачи.
MXC поддерживает Windows, Linux и macOS с помощью платформенно-специфичных бэкендов изоляции. Контейнер не обязательно означает виртуальную машину или образ контейнера: рабочая нагрузка может выполняться в песочнице процесса операционной системы, отдельном сеансе или виртуализированной среде. Доступные функции и ограничения зависят от выпуска MXC, серверной части и узла.
В этих статьях Learn описаны основные понятия и рабочий процесс интеграции. Документация MXC на GitHub содержит подробные рекомендации по пакету SDK, схеме, серверной части и реализации.
Изучите основные понятия
| Концепция | Meaning |
|---|---|
| Хост-приложение | Надёжное приложение или среда выполнения агента, вызывающие пакет SDK, выбирающие разрешения, предоставляющие входные данные и обрабатывающие результаты. |
| Рабочая нагрузка | Команда, скрипт или процесс, выполняющийся в изоляции |
| Политика | Конфигурация, описывающая разрешенный доступ к ресурсам, например доступные для чтения файлы, доступные для записи выходные каталоги, сетевые назначения и доступ к пользовательскому интерфейсу |
| Конфигурация выполнения | Политика вместе с командой, рабочим каталогом, параметрами среды выполнения и выбором изоляции |
| Серверная часть | Механизм платформы, реализующий поддерживаемые ограничения (например, песочница процесса операционной системы, отдельный сеанс пользователя или виртуализированная среда) |
Почему стоит использовать MXC
Для разных задач требуются разные ресурсы. Для команды анализа репозитория может потребоваться доступ только для чтения к исходным данным и одна записываемая выходная папка. Для сборки также могут потребоваться файлы toolchain и скачивание пакетов. Для более длительного рабочего процесса может потребоваться сохранять среду между командами.
MXC предоставляет приложению общую политику и модель выполнения вместо необходимости отдельной интеграции с каждым механизмом изоляции операционной системы. Ее можно использовать в следующих целях:
- Выполняйте созданные команды, скрипты или внешние средства, не предоставляя приложению-хосту полный доступ.
- Отделяйте доступные для чтения входные данные от выходных данных, доступных для записи, и сохраняйте учетные данные вне досягаемости рабочей нагрузки.
- Запретить доступ к сети, разрешить выбранные прямые подключения или использовать предоставляемый приложением прокси-сервер HTTP(S) на поддерживаемых серверных компонентах.
- Ограничьте доступ к окнам, буферу обмена и искусственному вводу с клавиатуры или указателя.
- Создание и уточнение разрешений на доступ к ресурсам с помощью режима обучения для рабочих нагрузок Windows ProcessContainer.
Изоляция ограничивает то, что может делать рабочая нагрузка; она не делает созданные инструкции, результаты или разрешенные действия надежными. Сохраняйте решения политики в доверенном коде узла и проверяйте результаты, прежде чем приложение начнет действовать на их основе.
Начало работы с MXC
Начните с запуска рабочей нагрузки с помощью пакета SDK MXC. Приводятся примеры C#, TypeScript и Rust, которые считывают входные данные, записывают их в выделенную выходную папку и демонстрируют запрещенную операцию.
| SDK | Package | Подробное руководство |
|---|---|---|
| .NET |
Microsoft.Mxc.Sdk на NuGet.org |
Руководство по .NET SDK |
| Node.js / TypeScript |
@microsoft/mxc-sdk в npm |
Руководство по пакету SDK TypeScript |
| Rust |
mxc-sdk на crates.io |
Руководство по Rust SDK |
Может быть трудно предсказать все ресурсы, к которым рабочей нагрузке может потребоваться доступ. Режим обучения поможет вам создать политику наименьших привилегий для Windows, записав ресурсы, к которым рабочая нагрузка пытается получить доступ.
Вы также можете использовать агент для написания кода для адаптации примеров. Агент программирования может помочь объяснить наблюдения, но убедитесь, что вы просматриваете и утверждаете любые изменения политик доступа к ресурсам.
Как работает MXC
Ваш хост обнаруживает поддерживаемые серверные контейнеры, создает политику и запрос на выполнение и запускает рабочую нагрузку с помощью пакета SDK. MXC преобразует этот запрос в операции выбранной серверной части. Затем хост обрабатывает выходные данные, состояние выхода, предупреждения и очистку.
Note
Серверные части могут иметь различные свойства безопасности. Убедитесь, что выбранная среда может обеспечивать требуемые меры контроля, а также протестируйте разрешенные и запрещенные операции. См. архитектуре MXC, поддержке платформы и примечаниях к выпуску.
Связанные материалы
- Краткое руководство. Запуск рабочей нагрузки с помощью пакета SDK MXC
- Модели архитектуры и контейнирования MXC
- Создать и проверить политику MXC
- Создавайте и уточняйте политики MXC с помощью режима обучения
- Варианты изоляции MXC и поддержка платформы
- Примеры политики MXC
- Выпуски MXC
- Репозиторий MXC
- Безопасность и ответственный ИИ для разработки Windows
Windows developer