Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Microsoft Execution Containers (MXC) es una tecnología de ejecución basada en directivas y de código abierto para ejecutar cargas de trabajo con permisos de recursos definidos. Puede usar el SDK de .NET, TypeScript o Rust en su aplicación para seleccionar una carga de trabajo, describir a qué puede acceder y ejecutarla en un entorno de contención admitido.
Las aplicaciones, los agentes y las herramientas de desarrollo suelen ejecutar código que no crearon o controlaron completamente, como comandos generados por ia, herramientas de terceros y scripts proporcionados por el usuario. Sin contención, ese código puede heredar un amplio acceso a archivos, credenciales, servicios de red y otros recursos. MXC le ayuda a limitar ese acceso a lo que requiere la tarea.
MXC es compatible con Windows, Linux y macOS a través de backends de contención específicos de la plataforma. Un contenedor no significa necesariamente una máquina virtual o una imagen de contenedor: una carga de trabajo se puede ejecutar en un espacio aislado de procesos del sistema operativo, una sesión independiente o un entorno virtualizado. Las características y restricciones disponibles dependen de la versión de MXC, el back-end y el host.
En estos artículos de Learn se explican los conceptos y el flujo de trabajo de integración. La documentación de MXC sobre GitHub proporciona instrucciones detalladas sobre el SDK, el esquema, el back-end y la implementación.
Entender los conceptos básicos
| Concepto | Meaning |
|---|---|
| Aplicación host | El entorno de ejecución de la aplicación o agente de confianza, que invoca el SDK, selecciona permisos, proporciona entradas y controla los resultados. |
| Carga de trabajo | Comando, script o proceso que se ejecuta en contención |
| Policy | Configuración que describe el acceso a los recursos que permite, como archivos legibles, directorios de salida grabables, destinos de red y acceso a la interfaz de usuario. |
| Configuración de ejecución | La directiva junto con el comando, el directorio de trabajo, la configuración en tiempo de ejecución y la selección de contención |
| backend | Mecanismo de plataforma que implementa las restricciones admitidas (por ejemplo, un espacio aislado de procesos del sistema operativo, una sesión de usuario independiente o un entorno virtualizado) |
Por qué usar MXC
Las diferentes tareas necesitan recursos diferentes. Es posible que un comando de análisis de repositorio necesite acceso de origen de solo lectura y una carpeta de salida grabable. Es posible que una compilación también necesite archivos de cadena de herramientas y descargas de paquetes. Es posible que un flujo de trabajo de ejecución más largo necesite conservar un entorno entre comandos.
MXC proporciona a tu app una política común y un modelo de ejecución en lugar de requerir una integración independiente con cada mecanismo de contención del sistema operativo. Puede usarlo para:
- Ejecutar comandos, scripts o herramientas externas generados sin conceder el acceso completo de la aplicación host.
- Separe las entradas legibles de las salidas escribibles y mantenga las credenciales fuera del alcance de la carga de trabajo.
- Denegar el acceso a la red, permitir conexiones directas seleccionadas o usar un proxy HTTP(S) proporcionado por la aplicación en los back-end admitidos.
- Restringir las ventanas, el acceso al portapapeles y la entrada sintética de teclado o puntero.
- Crear y refinar permisos de recursos con Learning Mode para cargas de trabajo ProcessContainer de Windows.
La contención limita lo que puede hacer una carga de trabajo; no hace que las instrucciones generadas, las salidas o las acciones permitidas sean fiables. Mantener las decisiones de directiva en el código del host de confianza y validar los resultados antes de que la aplicación actúe sobre ellos.
Primeros pasos con MXC
Comience con Ejecutar una carga de trabajo con el SDK de MXC. Proporciona ejemplos de C#, TypeScript y Rust que leen una entrada, escriben en una carpeta de salida dedicada y muestran una operación denegada.
| SDK | Package | Instrucciones detalladas |
|---|---|---|
| .NET |
Microsoft.Mxc.Sdk en NuGet.org |
Guía del SDK de .NET |
| Node.js/TypeScript |
@microsoft/mxc-sdk en npm |
Guía del SDK de TypeScript |
| Rust |
mxc-sdk en crates.io |
Guía del SDK de Rust |
Puede ser difícil predecir todos los recursos a los que puede que necesite acceder la carga de trabajo. El modo de aprendizaje puede ayudarle a crear una directiva con privilegios mínimos en Windows mediante la grabación de los recursos a los que una carga de trabajo intenta acceder.
También puede usar un agente de codificación para ayudar a adaptar los ejemplos. El agente de código puede ayudar a explicar las observaciones, pero asegúrese de revisar y aprobar cualquier cambio en las directivas de acceso a recursos.
Funcionamiento de MXC
El host detecta contenedores back-end compatibles, crea una directiva y una solicitud de ejecución e inicia la carga de trabajo a través del SDK. MXC traduce esa solicitud a las operaciones del back-end seleccionado. El host se encarga a continuación de la salida, el estado de salida, las advertencias y la limpieza.
Note
Los backends pueden tener diferentes propiedades de seguridad. Confirme que el entorno seleccionado puede aplicar los controles requeridos y pruebe las operaciones permitidas y denegadas. Consulte la arquitectura de MXC, la compatibilidad con la plataforma y las notas de la versión.
Contenido relacionado
- Inicio rápido: Ejecución de una carga de trabajo con el SDK de MXC
- Modelos de contención y arquitectura MXC
- Crear y validar una directiva MXC
- Crear y perfeccionar directivas de MXC con Learning Mode
- Opciones de contención de MXC y compatibilidad con la plataforma
- Ejemplos de directivas MXC
- Lanzamientos de MXC
- Repositorio MXC
- Seguridad e inteligencia artificial responsable para el desarrollo de Windows