Microsoft Execution Containers

Microsoft Execution Containers (MXC) zijn een opensource-, beleidsgestuurde uitvoeringstechnologie voor het uitvoeren van workloads met gedefinieerde resourcemachtigingen. U kunt de .NET, TypeScript of Rust SDK in uw app gebruiken om een workload te selecteren, te beschrijven waartoe deze toegang mag krijgen en uit te voeren in een ondersteunde insluitingsomgeving.

Apps, agents en ontwikkelhulpprogramma's voeren vaak code uit die ze niet hebben gemaakt of volledig onder controle hebben, zoals door AI gegenereerde opdrachten, hulpprogramma's van derden en door de gebruiker geleverde scripts. Zonder insluiting kan die code brede toegang tot bestanden, inloggegevens, netwerkservices en andere resources erven. MET MXC kunt u die toegang beperken tot wat de taak vereist.

MXC biedt ondersteuning voor Windows, Linux en macOS via platformspecifieke containment-backends. Een container betekent niet noodzakelijkerwijs een virtuele machine of een containerimage: een workload kan worden uitgevoerd in een sandbox van een besturingssysteemproces, een afzonderlijke sessie of een gevirtualiseerde omgeving. Beschikbare functies en beperkingen zijn afhankelijk van de MXC-release, back-end en host.

Deze Learn-artikelen leggen de concepten en de integratieworkflow uit. De MXC-documentatie op GitHub biedt gedetailleerde richtlijnen voor SDK, schema, back-end en implementatie.

Begrijp de kernconcepten

Concept Meaning
Host app Uw vertrouwde app of agentruntime, die de SDK aanroept, machtigingen selecteert, invoer levert en resultaten verwerkt
Workload De opdracht, het script of het proces dat wordt uitgevoerd onder isolatie
Policy Een configuratie die de toegang tot resources beschrijft die u toestaat, zoals leesbare bestanden, schrijfbare uitvoermappen, netwerkbestemmingen en ui-toegang
Uitvoeringsconfiguratie De policy samen met de opdracht, werkdirectory, runtime-instellingen en selectie van insluiting
backend Het platformmechanisme waarmee de ondersteunde beperkingen worden geïmplementeerd (bijvoorbeeld een sandbox voor een besturingssysteemproces, afzonderlijke gebruikerssessie of gevirtualiseerde omgeving)

Waarom MXC gebruiken

Verschillende taken hebben verschillende resources nodig. Een opdracht voor analyse van een repository heeft mogelijk alleen-lezenbrontoegang en één beschrijfbare uitvoermap nodig. Een build heeft mogelijk ook toolchainbestanden en pakketdownloads nodig. Een werkstroom die langer wordt uitgevoerd, moet mogelijk een omgeving behouden tussen opdrachten.

MXC biedt uw app een gemeenschappelijk beleid en uitvoeringsmodel in plaats van een afzonderlijke integratie met elk isolatiemechanisme van het besturingssysteem te vereisen. U kunt het volgende doen:

  • Voer gegenereerde opdrachten, scripts of externe hulpprogramma's uit zonder de host-app volledige toegang te geven.
  • Scheid leesbare invoer van schrijfbare uitvoer en behoud inloggegevens buiten het bereik van de werkbelasting.
  • Netwerktoegang weigeren, geselecteerde directe verbindingen toestaan of een door de toepassing geleverde HTTP(S)-proxy gebruiken op ondersteunde back-ends.
  • Beperk vensters, klembordtoegang en synthetische toetsenbord- of aanwijzerinvoer.
  • Resourcemachtigingen maken en verfijnen met Learning Mode voor Windows ProcessContainer-workloads.

Containment beperkt wat een workload kan doen; het maakt gegenereerde instructies, uitvoer of toegestane acties niet betrouwbaar. Bewaar beleidsbeslissingen in vertrouwde hostcode en valideer resultaten voordat uw app op basis daarvan handelt.

Aan de slag met MXC

Begin met Een workload uitvoeren met de MXC SDK. Het biedt voorbeelden van C#, TypeScript en Rust die een invoer lezen, schrijven naar een toegewezen uitvoermap en een geweigerde bewerking demonstreren.

SDK Package Gedetailleerde richtlijnen
.NET Microsoft.Mxc.Sdk op NuGet.org handleiding voor de .NET SDK
Node.js / TypeScript @microsoft/mxc-sdk op npm Handleiding voor TypeScript SDK
Rust mxc-sdk op crates.io Rust SDK-handleiding

Het kan lastig zijn om alle resources waartoe uw workload mogelijk toegang nodig heeft te voorspellen. Leermodus kan u helpen bij het maken van een beleid met minimale bevoegdheden op Windows door de resources vast te leggen waartoe een workload toegang probeert te krijgen.

U kunt ook een codeeragent gebruiken om de voorbeelden aan te passen. De coderingsagent kan helpen bij het uitleggen van bevindingen, maar zorg ervoor dat u eventuele wijzigingen in het toegangsbeleid voor resources controleert en goedkeurt.

Hoe MXC werkt

Uw host detecteert ondersteunde back-endcontainers, maakt een aanvraag voor beleid en uitvoering en start de workload via de SDK. MXC vertaalt dat verzoek naar de bewerkingen van de geselecteerde backend. Uw host verwerkt vervolgens uitvoer, afsluitstatus, waarschuwingen en opschonen.

Note

Back-ends kunnen verschillende beveiligingseigenschappen hebben. Controleer of de geselecteerde omgeving uw vereiste maatregelen kan afdwingen en test zowel toegestane als geweigerde bewerkingen. Zie de MXC-architectuur, platformondersteuning en opmerkingen bij de release.