Informace o leteckých aktualizacích
Aktualizace jsou důležitou součástí modelu zabezpečení Azure Sphere, protože ztělesňují vlastnost obnovitelného zabezpečení. Zajištění pravidelných aktualizací pomáhá zajistit, aby vaše zařízení splňovala požadavky 7 vlastností . Zařízení Azure Sphere vyhledá aktualizace při prvním připojení k internetu po zapnutí nebo po stisknutí tlačítka Resetovat. Poté probíhají kontroly v pravidelných intervalech (aktuálně 20 hodin).
Existují tři typy aktualizací: požadované aktualizace, aktualizace operačního systému a aktualizace nasazení. Požadované aktualizace se používají k zajištění aktuality komponent, na kterých závisí samotný proces aktualizace – aktuálně důvěryhodného úložiště klíčů (TKS) a úložiště certifikátů. TKS slouží k ověření imagí ke stažení a instalaci, zatímco úložiště certifikátů ověřuje připojení k internetu. Aktualizace operačního systému cílí na software dodaný Microsoftem v zařízení, včetně normálního operačního systému, ve kterému běží vaše aplikace, ale také firmwaru nižší úrovně, jako je subsystém Pluton a Security Monitor. Aktualizace nasazení cílí na váš vlastní software – aplikace vysoké úrovně a image konfigurace desky (pokud jsou dostupné). Požadované aktualizace a aktualizace operačního systému spravuje Azure Sphere. Aktualizace aplikací jsou koordinovány službou Azure Sphere na základě nasazení vytvořených vaší organizací.
Aby každé zařízení dostávalo požadované aktualizace nebo aktualizace operačního systému:
- Musí být připojený k internetu.
- Požadavky na síť musí být správně nakonfigurované.
Aby mohlo jakékoli zařízení aktualizovat image konfigurace aplikace a desky:
- Nesmí mít schopnost vývoje aplikací.
- Musí být nárokován katalogem.
- Musí patřit do skupiny zařízení.
- Skupina zařízení, do které patří, musí být zacílena nasazením.
- Nasazení musí obsahovat image aplikací (a volitelně i image konfigurace panelu) vytvořené vaší organizací nebo jménem vaší organizace.
- Skupina zařízení musí mít zásadu aktualizace UpdateAll. Aktualizace aplikací pro konkrétní skupinu zařízení můžete zakázat pomocí příkazu az sphere device-group update .
Pro všechna zařízení v dané skupině zařízení se nasazení, která cílí na danou skupinu zařízení, považují za zdroj pravdy pro zobrazování těchto zařízení. Všechny image na zařízení, které v nasazení neexistují, se ze zařízení odeberou. Jedinou výjimkou, od verze Azure Sphere OS 21.04, je, že image konfigurace desky se neodeberou, dokud se nenahradí novou image konfigurace desky.
Kontrola aktualizace zařízení probíhá ve třech fázích odpovídajících třem typům aktualizací:
- V první fázi Azure Sphere získá manifest se seznamem aktuálních verzí TKS a úložiště certifikátů. Pokud jsou TKS a úložiště certifikátů na zařízení aktuální, bude aktualizace pokračovat druhou fází. Pokud ne, aktuální image se stáhnou a nainstalují.
- Ve druhé fázi azure Sphere získá manifest se seznamem aktuálních verzí různých imagí komponent operačního systému. Pokud jsou některé image v zařízení zastaralé, stáhnou se aktuální image spolu s vrácením imagí , které se dají použít k vrácení zařízení do známého funkčního stavu, pokud se proces aktualizace nezdaří. Image operačního systému a vrácení zpět se stáhnou a uloží do pracovní oblasti na zařízení, pak se nainstalují image operačního systému a zařízení se restartuje.
- Ve třetí fázi Azure Sphere zkontroluje aktualizace nasazení, pokud je skupina zařízení přijímá. Stejně jako u aktualizace operačního systému se podle potřeby i u imagí vrácení zpět pro aplikace připraví. Image aplikací a vrácení zpět se stáhnou a uloží do pracovní oblasti a pak se nainstalují image aplikací.
Vrácení změn aktualizací
Každá část procesu aktualizace zahrnuje možnost vrácení zpět. V požadované aktualizaci je zpětná image jednoduše zálohou stavu před aktualizací. Pokud se aktualizace nezdaří, obnoví se stav předběžné aktualizace.
Vrácení zpět na jakékoli úrovni vynutí vrácení zpět na všech vyšších úrovních: pokud se nepodaří spustit image firmwaru, vrátí se zpět oddíly firmwaru i aplikace.
V případě aktualizace operačního systému může vrácení zpět aktivovat selhání ověření podpisu nebo potíže s modulem runtime. V případě selhání ověření podpisu je proveden pokus o opravu obrázku; Pokud se to nezdaří, aktivuje se úplné vrácení zpět. Při úplném vrácení zpět se pro operační systém i aplikace nainstalují fázované bitové kopie vrácení zpět.
Aktualizace a nasazení operačního systému mají nezávislé cykly vydávání verzí, takže mezi aktualizacemi operačního systému může docházet k několika nasazením. Pokud k tomu dojde, je důležité si uvědomit, že cílem vrácení zpět pro nasazení není nejnovější nasazení, ale nasazení v době poslední aktualizace operačního systému. Tím se zajistí, že operační systém a aplikace budou spolupracovat ve stavu vrácení zpět.
Přerušené aktualizace
Pokud dojde k přerušení aktualizace, například výpadkem napájení nebo ztrátou připojení, existují čtyři možné scénáře pro každý typ aktualizace:
- Pokud byla dokončená sada imagí úspěšně stažena a připravena, ale ještě nebyla nainstalována, instalace se dokončí při obnovení napájení.
- Pokud byly některé, ale ne všechny image staženy a připraveny, aktualizace bude pokračovat ve stahování chybějících imagí a pak pokračovat k instalaci.
- Pokud je aktualizace přerušena během instalace po dokončení stahování, instalace se restartuje při spuštění systému.
- Pokud nebyla bitová kopie zcela stažena, proces aktualizace začne při obnovení napájení znovu, protože nebude nic připravené k instalaci.
Aktualizace ve scénářích vypnutí
Azure Sphere podporuje scénáře s nízkou spotřebou energie, které umožňují vypnout zařízení po delší dobu, aby se ušetřila výdrž baterie. V takových scénářích je důležité, aby zařízení mohlo pravidelně vyhledávat aktualizace. Ukázková aplikace Power Down ukazuje, jak správně snížit spotřebu energie a současně zajistit, aby zařízení pravidelně zůstalo vzhůru a kontrolo aktualizace operačního systému a aplikací.
Odložené aktualizace
Aby se zabránilo přerušení důležitých úloh aktualizacemi, můžou aplikace vysoké úrovně začlenit odložené aktualizace. Tato funkce umožňuje aplikaci dokončit kritické úlohy a pak se připravit na vypnutí, aby aktualizace mohla pokračovat. Ukázka DeferredUpdate ukazuje, jak takovou odloženou aktualizaci implementovat.