Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Microsoft Execution Containers (MXC) é uma tecnologia de execução open-source e orientada por políticas para executar cargas de trabalho com permissões de recurso definidas. Pode usar o .NET, TypeScript ou Rust SDK na sua aplicação para selecionar uma carga de trabalho, descrever o que ela pode aceder e executá-la num ambiente de contenção suportado.
Aplicações, agentes e ferramentas de desenvolvimento frequentemente executam código que não criaram ou controlam totalmente, como comandos gerados por IA, ferramentas de terceiros e scripts fornecidos pelos utilizadores. Sem contenção, esse código pode herdar um acesso amplo a ficheiros, credenciais, serviços de rede e outros recursos. O MXC ajuda-te a limitar esse acesso ao que a tarefa exige.
O MXC suporta Windows, Linux e macOS através de backends de contenção específicos da plataforma. Um contentor não significa necessariamente uma máquina virtual ou uma imagem de contentor: uma carga de trabalho pode correr num sandbox de processos do sistema operativo, numa sessão separada ou num ambiente virtualizado. As funcionalidades e restrições disponíveis dependem da versão MXC, backend e host.
Estes artigos do Learn explicam os conceitos e o fluxo de trabalho de integração. A documentação MXC no GitHub fornece SDK detalhado, esquemas, backend e orientações de implementação.
Compreender os conceitos centrais
| Concept | Meaning |
|---|---|
| Aplicação anfitrião | A sua aplicação ou runtime de agente de confiança, que invoca o SDK, seleciona permissões, fornece entradas e gere os resultados |
| Carga de trabalho | O comando, script ou processo que é executado em contenção |
| Policy | Uma configuração que descreve o acesso a recursos que permite, como ficheiros legíveis, diretórios de saída graváveis, destinos de rede e acesso à interface de utilizador |
| Configuração de execução | A política, juntamente com o comando, diretório de trabalho, definições de tempo de execução e seleção de contenção |
| Back-end | O mecanismo da plataforma que implementa as restrições suportadas (por exemplo, um sandbox de processos do sistema operativo, sessão de utilizador separada ou ambiente virtualizado) |
Porquê usar MXC
Tarefas diferentes precisam de recursos diferentes. Um comando de análise de repositório pode precisar de acesso à fonte apenas de leitura e de uma pasta de saída gravável. Uma build também pode precisar de ficheiros de toolchain e downloads de pacotes. Um fluxo de trabalho de longa duração pode precisar de manter um ambiente entre comandos.
O MXC oferece à sua aplicação uma política comum e um modelo de execução, em vez de exigir uma integração separada com cada mecanismo de contenção do sistema operativo. Você pode usá-lo para:
- Execute comandos, scripts ou ferramentas externas gerados sem conceder à aplicação anfitriã acesso total.
- Separe as entradas legíveis das saídas graváveis e mantenha as credenciais fora do alcance do workload.
- Negar o acesso à rede, permitir ligações diretas selecionadas ou usar um proxy HTTP(S) fornecido pela aplicação em backends suportados.
- Restringir janelas, acesso à área de transferência e entrada sintética de teclado ou ponteiro.
- Criar e refinar permissões de recursos com o Modo de Aprendizagem para cargas de trabalho Windows ProcessContainer.
A contenção limita o que uma carga de trabalho pode fazer; não torna as instruções geradas, saídas ou ações permitidas fiáveis. Guarde as decisões de política em código de host confiável e valide os resultados antes de a sua aplicação agir sobre eles.
Comece com o MXC
Comece por executar uma carga de trabalho com o SDK MXC. Fornece exemplos em C#, TypeScript e Rust que leem um ficheiro de entrada, escrevem numa pasta de saída dedicada e demonstram uma operação negada.
| SDK | Package | Documentação de orientação detalhada |
|---|---|---|
| .NET |
Microsoft.Mxc.Sdk em NuGet.org |
Guia do SDK .NET |
| Node.js / TypeScript |
@microsoft/mxc-sdk no npm |
Guia do SDK TypeScript |
| Ferrugem |
mxc-sdk em crates.io |
Guia do SDK Rust |
Pode ser difícil prever todos os recursos a que a sua carga de trabalho poderá aceder. O Modo de Aprendizagem pode ajudá-lo a criar uma política de privilégio mínimo no Windows, registando os recursos a que uma aplicação tenta aceder.
Também pode usar um agente de programação para ajudar a adaptar os exemplos. O agente de codificação pode ajudar a explicar as observações, mas certifique-se de rever e aprovar quaisquer alterações às políticas de acesso a recursos.
Como funciona o MXC
O seu host descobre containers backend suportados, cria uma política e um pedido de execução, e inicia a carga de trabalho através do SDK. O MXC traduz essa solicitação para as operações do backend selecionado. O teu host trata então da saída, do código de saída, dos avisos e da limpeza.
Note
Os backends podem ter diferentes propriedades de segurança. Confirme que o ambiente selecionado pode fazer cumprir os controlos exigidos e teste tanto as operações permitidas como as negadas. Consulte arquitetura MXC, suporte à plataforma e notas de lançamento.
Conteúdo relacionado
- Início rápido: Executar uma carga de trabalho com o SDK MXC
- Arquitetura MXC e modelos de contenção
- Criar e validar uma política MXC
- Criar e refinar políticas MXC com o Modo de Aprendizagem
- Opções de contenção MXC e suporte à plataforma
- Exemplos de políticas MXC
- Lançamentos MXC
- Repositório MXC
- Segurança e IA responsável para o desenvolvimento do Windows
Windows developer