Microsoft Execution Containers

Microsoft Execution Containers (MXC) je opensourcová technologie spouštění řízená zásadami pro spouštění úloh s definovanými oprávněními prostředků. Pomocí sady .NET, TypeScript nebo Rust SDK v aplikaci můžete vybrat úlohu, popsat, k čemu má přístup, a spustit ji v podporovaném izolovaném prostředí.

Aplikace, agenti a vývojářské nástroje často spouštějí kód, který samy nevytvářejí nebo nemají plně pod kontrolou, jako jsou příkazy generované AI, nástroje třetích stran a skripty poskytované uživatelem. Bez omezení může tento kód dědit široký přístup k souborům, přihlašovacím údajům, síťovým službám a dalším prostředkům. MXC vám pomůže omezit tento přístup na to, co úloha vyžaduje.

MXC podporuje Windows, Linux a macOS prostřednictvím backendů pro izolaci specifických pro platformu. Kontejner nemusí nutně znamenat virtuální počítač nebo image kontejneru: úloha může běžet v sandboxu operačního systému, v samostatné relaci nebo ve virtualizovaném prostředí. Dostupné funkce a omezení závisí na verzi MXC, back-endu a hostiteli.

Tyto články o Learn vysvětlují koncepty a pracovní postup integrace. Dokumentace MXC na GitHubu obsahuje podrobné pokyny k sadě SDK, schématu, back-endu a implementaci.

Pochopte základní koncepty

Concept Meaning
Hostitelská aplikace Váš důvěryhodný modul runtime aplikace nebo agenta, který vyvolá sadu SDK, vybere oprávnění, zadá vstupy a zpracuje výsledky.
Pracovní zátěž Příkaz, skript nebo proces, který běží v izolaci
Policy Konfigurace popisující povolený přístup k prostředkům, jako jsou čitelné soubory, zapisovatelné výstupní adresáře, síťové cíle a přístup k uživatelskému rozhraní
Konfigurace spouštění Zásada společně s příkazem, pracovním adresářem, nastavením modulu runtime a výběrem izolace
Backend Mechanismus platformy, který implementuje podporovaná omezení (např. sandbox operačního systému, samostatná uživatelská relace nebo virtualizované prostředí)

Proč používat MXC

Různé úkoly potřebují různé zdroje. Příkaz pro analýzu úložiště může potřebovat přístup ke zdroji jen pro čtení a jednu zapisovatelnou výstupní složku. Sestavení může také potřebovat soubory sady nástrojů a stahování balíčků. Delší pracovní postup může vyžadovat zachování prostředí napříč příkazy.

MXC dává vaší aplikaci běžný model zásad a spouštění místo toho, aby vyžadoval samostatnou integraci s každým mechanismem izolace operačního systému. Můžete ho použít k:

  • Spusťte vygenerované příkazy, skripty nebo externí nástroje bez udělení hostitelské aplikaci úplného přístupu.
  • Oddělte vstupy pouze pro čtení od výstupů určených k zápisu a zachovejte přihlašovací údaje mimo dosah úlohy.
  • Odepřít síťový přístup, povolit vybraná přímá připojení nebo použít proxy server HTTP(S) poskytovaný aplikací na podporovaných back-endech.
  • Omezte přístup k oknům, schránce a syntetický vstup z klávesnice nebo ukazatele.
  • Vytvořte a upřesněte oprávnění prostředků pomocí Learning Mode pro úlohy Windows ProcessContainer.

Izolace omezuje, co může úloha dělat; nečiní však vygenerované instrukce, výstupy ani povolené akce důvěryhodnými. Nechte rozhodnutí o zásadách v důvěryhodném hostitelském kódu a ověřte výsledky, než na jejich základě vaše aplikace provede akci.

Začněte s MXC

Začněte spuštěním úlohy pomocí sady MXC SDK. Poskytuje příklady jazyka C#, TypeScript a Rust, které čtou vstup, zapisují do vyhrazené výstupní složky a demonstrují zakázanou operaci.

sada SDK Package Podrobné pokyny
platforma .NET Microsoft.Mxc.Sdk na NuGet.org Průvodce sadou SDK .NET
Node.js / TypeScript @microsoft/mxc-sdk na npm Průvodce sadou SDK pro TypeScript
Rust mxc-sdk na crates.io Průvodce sadou SDK pro Rust

Předpovědět všechny prostředky, ke které může vaše úloha potřebovat přístup, může být obtížné. Režim učení vám může pomoct vytvořit zásadu minimálních oprávnění ve Windows tím, že zaznamená prostředky, ke kterým se úloha pokusí získat přístup.

K přizpůsobení příkladů můžete také použít kódovacího agenta. Agent pro kódování vám může pomoct vysvětlit pozorování, ale nezapomeňte zkontrolovat a schválit všechny změny zásad přístupu k prostředkům.

Jak MXC funguje

Váš host zjistí podporované back-endové kontejnery, vytvoří zásadu a požadavek na spuštění a spustí úlohu prostřednictvím sady SDK. MXC tento požadavek přeloží do operací vybraného back-endu. Hostitelská aplikace pak zpracuje výstup, stav ukončení, varování a úklid.

Note

Backendy můžou mít různé bezpečnostní vlastnosti. Ověřte, že vybrané prostředí může vynutit požadovaná bezpečnostní opatření, a otestujte povolené i zamítnuté operace. Viz architektura MXC, podpora platformy a poznámky k verzi.