Přehled kontejnerizace MSIX

MSIX používá model kontejnerizace k izolaci aplikací od zbytku systému. Na rozdíl od technologií kontejnerů pro obecné účely (například Docker) nejsou kontejnery MSIX virtuální počítače a nevyžadují samostatnou image operačního systému. Místo toho Windows přesměrovává činnost systému souborů a registru aplikace za běhu, díky čemuž aplikace zůstávají samostatné a mohou běžně spolupracovat se zbytkem systému Windows.

Tento článek vysvětluje model izolace, dvě úrovně důvěryhodnosti dostupné pro zabalené aplikace a výhody, které tento přístup nabízí.

Co je a co není kontejnerizace MSIX

Při instalaci balíčku MSIX Windows umístí soubory aplikace do chráněného umístění (C:\Program Files\WindowsApps\), které aplikace sama nemůže změnit. Za běhu poskytuje Windows aplikaci virtualizované zobrazení systému souborů a registru: čtení směřují do umístění instalace balíčku a zápisy se přesměrují na umístění pro jednotlivé uživatele, která Windows spravuje.

To znamená:

  • Instalační soubory aplikace se nikdy neupravují za běhu.
  • Stav aplikace se ukládá odděleně od binárních souborů aplikací – aktualizace, opravy a odinstalace jsou čisté a spolehlivé.

Poznámka:

Kontejnery MSIX jsou funkce modulu runtime Windows, nikoli samostatné prostředí operačního systému. Aplikace běží jako nativní proces Windows – jenom má virtualizované zobrazení určitých systémových prostředků.

Dvě úrovně důvěryhodnosti

Zabalené aplikace běží na jedné ze dvou úrovní důvěryhodnosti, které určují stupeň izolace:

Plná důvěryhodnost (střední integrita)

Plně důvěryhodné aplikace běží se stejnými oprávněními jako standardní desktopová aplikace. Windows poskytuje identitu package a virtualizaci souborů/registru, ale aplikace má stále přístup k většině systémových prostředků přímo.

Toto je výchozí nastavení pro aplikace převedené z instalačních programů Win32 pomocí nástroje MSIX Packaging Tool a pro většinu desktopových aplikací WinUI 3.

AppContainer (omezená důvěryhodnost)

Aplikace AppContainer běží v přísně izolovaném prostředí. Tento proces a jeho podřízené položky mají přístup pouze k prostředkům, které jsou explicitně uděleny. Windows vynucuje izolaci pomocí virtualizace systému souborů a registru a hranic zabezpečení AppContainer.

Aplikace pro UPW se vždy spouštějí v appContaineru. Desktopové aplikace se také můžou přihlásit k AppContaineru tím, že je deklarují v manifestu aplikace.

Návod

Aplikace AppContainer získávají nejsilnější záruky zabezpečení, ale vyžadují více práce, aby správně nakonfigurovali, zejména pro aplikace, které spoléhají na široký přístup k systému. Postup konfigurace najdete v aplikacích MSIX AppContainer .

Výhody modelu kontejnerizace MSIX

Prospěch Description
Čistá odinstalace Protože Windows sleduje všechny stavy aplikace samostatně, odinstalace balíčku MSIX odebere všechny soubory aplikací, položky registru a změny systému – bez zbytků. Soubory vytvořené uživatelem se zachovají.
Spolehlivé aktualizace Binární soubory aplikací jsou za běhu jen pro čtení. Aktualizace nahrazují balíček atomicky a v případě potřeby je možné aplikaci vrátit zpět.
Žádné znečištění registru Zápisy registru z aplikace přejdou do virtuálního podregistru pro jednotlivé uživatele, nikoli do HKEY_LOCAL_MACHINE. Tím zabráníte rozrůstnutí registru u tradičních instalačních programů Win32.
Izolace zabezpečení Aplikace AppContainer jsou omezené na explicitně udělené prostředky, což snižuje dopad ohroženého procesu.
Vynucení integrity Windows dokáže detekovat manipulaci se soubory balíčků za běhu. Pokud je balíček manipulován, Windows blokuje spuštění a aktivuje opravu. Viz Signování balíčku MSIX - přehled.

Rozsah virtualizace

Ne všechny umístění systému souborů a registru jsou virtualizovány. Windows použije jiné chování v závislosti na umístění, ke které se přistupuje:

  • Zápisy do instalačních souborů balíčku jsou blokované – umístění instalace je jen pro čtení.
  • Pro aplikace AppContainer se zablokují zápisy do umístění systému (například C:\Windows\).
  • Zápisy do umístění profilů uživatelů (například AppData) se přesměrují do umístění jednotlivých balíčků u aplikací AppContainer nebo se předávají u aplikací s plnou důvěryhodností.
  • Čtení z zabalených umístění VFS je zajišťováno přímo z balíčku, což vede k tomu, že se aplikace chová, jako by byla nainstalována ve tradičních umístěních (například C:\Program Files\).

Úplné technické podrobnosti o tom, jak funguje virtualizace systému souborů a registru, najdete v tématu Podrobné fungování zabalených desktopových aplikací na Windows.

Sdílené kontejnery

Ve výchozím nastavení se každý balíček MSIX spouští ve vlastním izolovaném kontejneru. V případě podnikových scénářů, kdy více balíčků potřebuje sdílet běhové prostředí – například hlavní aplikaci a balíček přizpůsobení – Windows podporuje kontejnery balíčků sdílené balíčky. Sdílený kontejner poskytuje definované sadě balíčků vzájemné sloučené zobrazení svých virtuálních systémů souborů a registrů.

Jedná se o podnikovou funkci, která vyžaduje oprávnění správce. Viz Kontejner sdíleného balíčku.

Flexibilní virtualizace

Počínaje Windows 11 mohou aplikace selektivně vyjmout konkrétní složky systému souborů nebo klíče registru z virtualizace, tak, že tato umístění budou viditelná pro ostatní aplikace a zachována i po odinstalaci. To je užitečné pro aplikace, které potřebují sdílet konfiguraci nebo data s jinými aplikacemi a zároveň využívat výhod balení MSIX.

Viz flexibilní virtualizace.