Koncepty: Průběžné opravy ve službě Azure Container Registry

Funkce průběžné opravy ve službě Azure Container Registry automatizuje detekci a nápravu ohrožení zabezpečení na úrovni operačního systému v imagích kontejnerů. Plánováním pravidelných kontrol pomocí trivy a použitím oprav zabezpečení pomocí Copa můžete udržovat zabezpečené image up-to-date v registru – bez nutnosti přístupu ke zdrojovému kódu nebo kanálům buildu. Volně si přizpůsobte plány a cílové image, aby vaše prostředí Služby Azure Container Registry (ACR) bylo bezpečné a vyhovující

Případy použití

Tady je několik scénářů použití průběžných oprav:

  • Vynucení zabezpečení a hygieny kontejnerů: Nepřetržitá aktualizace umožňuje uživatelům rychle opravit CVE (běžné slabiny a zranitelnosti) kontejnerů operačního systému, aniž by bylo nutné je plně znovu sestavit z původního zdroje.
  • Rychlost použití: Průběžné aktualizace automaticky odstraňují závislost na upstreamových aktualizacích pro konkrétní obrazové balíčky, a to aktualizací jejich balíčků. Ohrožení zabezpečení se můžou objevit každý den, zatímco oblíbení vydavatelé imagí můžou nabízet novou verzi jenom jednou měsíčně. Díky průběžným opravám můžete zajistit, aby se image kontejnerů v registru opravovaly, jakmile se zjistí nejnovější sada ohrožení zabezpečení operačního systému.

Cenotvorba

Průběžné opravy jsou provozovány v rámci modelu spotřeby. Každá oprava využívá výpočetní prostředky, za které se účtuje podle výchozí ceny úkolu ACR, která je 0,0001 USD za sekundu běhu úlohy. Další informace najdete na stránce s cenami služby ACR.

Omezení verze Preview

Průběžné opravy jsou aktuálně ve verzi Public Preview. Platí následující omezení:

  • Kontejnerové image založené na Windows nejsou podporovány.
  • Opraví se pouze ohrožení zabezpečení na úrovni operačního systému, která pocházejí ze systémových balíčků. To zahrnuje systémové balíčky v imagi kontejneru spravované správcem balíčků operačního systému, například apt a yum. Chyby zabezpečení pocházející z balíčků aplikací, jako jsou balíčky používané programovacími jazyky, jako jsou Go, Python a NodeJS, se nedají opravit.
  • Průběžné opravy nepodporují obrázky s koncem životnosti služby (EOSL). Image EOSL odkazují na image, ve kterých už základní operační systém nenabízí aktualizace, opravy zabezpečení a technickou podporu. Příklady zahrnují image založené na starších verzích operačního systému, jako je Debian 8 a Fedora 28. EOSL obrazy jsou přeskočeny z opravy, i když obsahují zranitelnosti – doporučeným přístupem je upgradovat základní operační systém vašeho obrazu na podporovanou verzi.
  • Obrázky s více archy nebudou podporovány.
  • Pro průběžné opravy se vynucuje limit 100 obrázků .
  • Průběžné opravy nejsou kompatibilní s registry s povoleným řízením přístupu na základě atributů a s úložišti s povolenými pravidly PTC (pull through cache).
  • Předplatná Azure v bezplatné zkušební verzi využívající bezplatné kredity se nepodporují , protože bezplatné zkušební účty nemají přístup k Úloze ACR.

Klíčové koncepty

Vzhledem k tomu, že průběžné opravy v ACR vytvoří novou image pro každou opravu, ACR využívá konvenci značek k verzování a identifikaci opravované image. Dva hlavní přístupy jsou přírůstkové a plovoucí.

Postupné označování

Jak to funguje:

Každá nová oprava zvýší číselnou příponu (například -1, -2atd.) na původní značce. Pokud je například základní image python:3.11, první oprava vytvoří python:3.11-1a druhá oprava na stejné základní značce vytvoří python:3.11-2.

Speciální pravidla přípony:

  • -1 to -999: Tyto značky jsou považovány za značky oprav.
  • -x where x > 999: Tyto značky nejsou interpretovány jako značky oprav; místo toho se celá přípona považuje za součást původní značky. (Příklad: ubuntu:jammy-20240530 je považován za původní značku, nikoli za opravenou značku.) To znamená, že pokud omylem přidáte novou značku končící v -1 do -999, Průběžné opravy s ní budou zacházet jako s opraveným obrázkem. Doporučujeme, abyste se vyhnuli tlačení značek, které chcete opravit pomocí přípony -1 na -999. Pokud -999 dojde k dosažení verzí opraveného obrázku, funkce Průběžné opravy vrátí chybu.

Plovoucí označování

Jak to funguje:

Jedna proměnlivá značka -patched bude vždy odkazovat na nejnovější opravenou verzi vašeho image. Pokud je python:3.11například značka základní image , první oprava vytvoří python:3.11-patched. Při každé následné opravě se značka automaticky aktualizuje tak, -patched aby odkazovala na nejnovější opravenou verzi.

Diagram znázorňující koncepty fungování průběžných oprav pomocí značek

Které mám použít?

Přírůstkové (výchozí): Skvělé pro prostředí, kde je důležitá auditovatelnost a možnost rollbacku, protože každá nová oprava je jasně identifikována jedinečným štítkem.

Plovoucí: Ideální, pokud dáváte přednost jednomu ukazateli na nejnovější opravu kanálů CI/CD. Snižuje složitost odstraněním nutnosti aktualizovat odkazy v podřízených aplikacích při aktualizacích, ale obětuje přísné řízení verzí, což ztěžuje návrat ke starší verzi.

Další kroky