Správa ohrožení zabezpečení pro Azure Machine Learning
Správa ohrožení zabezpečení zahrnuje detekci, posouzení, zmírnění a generování sestav o všech ohroženích zabezpečení, která existují v systémech a softwaru organizace. Správa ohrožení zabezpečení je sdílená odpovědnost mezi vámi a Microsoftem.
Tento článek popisuje tyto odpovědnosti a popisuje správa ohrožení zabezpečení ovládací prvky, které poskytuje Azure Machine Learning. Naučíte se udržovat instanci služby a aplikace v aktualizovaném stavu s nejnovějšími aktualizacemi zabezpečení a jak minimalizovat okno příležitosti pro útočníky.
Image virtuálních počítačů spravovaných Microsoftem
Azure Machine Learning spravuje image hostitelského virtuálního počítače s operačním systémem pro výpočetní instance Azure Machine Learning, výpočetní clustery Azure Machine Learning a Datová Věda Virtual Machines. Frekvence aktualizací je měsíční a obsahuje následující podrobnosti:
Pro každou novou verzi image virtuálního počítače jsou nejnovější aktualizace zdrojové od původního vydavatele operačního systému. Použití nejnovějších aktualizací pomáhá zajistit, abyste získali všechny příslušné opravy související s operačním systémem. Pro Azure Machine Learning je vydavatel kanonický pro všechny image Ubuntu. Tyto image se používají pro výpočetní instance Azure Machine Learning, výpočetní clustery a Datová Věda Virtual Machines.
Image virtuálních počítačů se aktualizují každý měsíc.
Kromě oprav, které původní vydavatel používá, aktualizuje systémové balíčky služby Azure Machine Learning, když jsou k dispozici aktualizace.
Azure Machine Learning kontroluje a ověřuje všechny balíčky strojového učení, které by mohly vyžadovat upgrade. Ve většině případů obsahují nové image virtuálních počítačů nejnovější verze balíčků.
Všechny image virtuálních počítačů jsou založené na zabezpečených předplatných, která pravidelně spouštějí kontrolu ohrožení zabezpečení. Azure Machine Learning označí všechna nesnadná ohrožení zabezpečení a opraví je v příští verzi.
Frekvence je měsíční interval pro většinu obrázků. U výpočetních instancí je verze image v souladu s tempem vydávání verzí sady Azure Machine Learning SDK, která je předinstalovaná v prostředí.
Kromě pravidelného tempa vydávání verzí azure Machine Learning používá opravy hotfix, pokud se zobrazí ohrožení zabezpečení. Microsoft zavede opravy hotfix do 72 hodin pro výpočetní clustery Azure Machine Learning a do týdne pro výpočetní instance.
Poznámka:
Hostitelský operační systém není verzí operačního systému, kterou byste mohli zadat pro prostředí při trénování nebo nasazení modelu. Prostředí běží uvnitř Dockeru. Docker běží na hostitelském operačním systému.
Image kontejnerů spravovaných Microsoftem
Základní image Dockeru, které Azure Machine Learning udržuje, získávají opravy zabezpečení, které často řeší nově zjištěná ohrožení zabezpečení.
Azure Machine Learning vydává aktualizace podporovaných imagí každých dva týdny, aby se vyřešila ohrožení zabezpečení. Naším cílem je mít v nejnovější verzi podporovaných imagí chyby zabezpečení starší než 30 dnů.
Opravené image se vydávají pod novou neměnnou značkou a aktualizovanou :latest
značkou. Použití značky :latest
nebo připnutí ke konkrétní verzi image může být kompromisem mezi reprodukovatelností zabezpečení a prostředí pro vaši úlohu strojového učení.
Správa prostředí a imagí kontejnerů
Reprodukovatelnost je klíčovým aspektem experimentování při vývoji softwaru a strojového učení. Primárním cílem komponenty prostředí Azure Machine Learning je zaručit reprodukovatelnost prostředí, ve kterém se spouští kód uživatele. Aby se zajistila reprodukovatelnost pro jakoukoli úlohu strojového učení, načítají se do výpočetních uzlů dříve sestavené image bez nutnosti rematerializace.
I když azure Machine Learning opravuje základní image s každou verzí, může být mezi reprodukovatelností a správa ohrožení zabezpečení kompromisem použití nejnovější image. Je vaší zodpovědností zvolit verzi prostředí, kterou používáte pro vaše úlohy nebo nasazení modelu.
Ve výchozím nastavení jsou závislosti vrstvené nad základními imagemi, které azure Machine Learning poskytuje při vytváření prostředí. Při používání prostředí ve službě Azure Machine Learning můžete také použít vlastní základní image. Po instalaci dalších závislostí nad imagemi poskytovanými Společností Microsoft nebo používáním vlastních základních imagí se správa ohrožení zabezpečení stane vaší zodpovědností.
Přidružený k vašemu pracovnímu prostoru Azure Machine Learning je instance služby Azure Container Registry, která funguje jako mezipaměť pro image kontejnerů. Všechny image, které materializuje, se nasdílí do registru kontejneru. Pracovní prostor ho použije, pokud se pro odpovídající prostředí aktivuje experimentování nebo nasazení.
Azure Machine Learning neodstraní žádnou image z registru kontejneru. Zodpovídáte za vyhodnocení potřeby obrázku v průběhu času. Pokud chcete monitorovat a udržovat hygienu prostředí, můžete pomocí programu Microsoft Defender for Container Registry vyhledat ohrožení zabezpečení vašich imagí. Pokud chcete automatizovat procesy na základě triggerů z Programu Microsoft Defender, přečtěte si téma Automatizace odpovědí na nápravu.
Použití úložiště privátních balíčků
Azure Machine Learning k instalaci balíčků Pythonu používá Conda a Pip. Azure Machine Learning ve výchozím nastavení stahuje balíčky z veřejných úložišť. Pokud vaše organizace vyžaduje, abyste zdrojové balíčky jenom z privátních úložišť, jako jsou informační kanály Azure DevOps, můžete konfiguraci Conda a Pip přepsat jako součást základních imagí a konfigurací prostředí pro výpočetní instance.
Následující příklad konfigurace ukazuje, jak odebrat výchozí kanály a přidat vlastní privátní kanály Conda a Pip. Zvažte použití instalačních skriptů výpočetní instance pro automatizaci.
RUN conda config --set offline false \
&& conda config --remove channels defaults || true \
&& conda config --add channels https://my.private.conda.feed/conda/feed \
&& conda config --add repodata_fns <repodata_file_on_your_server>.json
# Configure Pip private indexes and ensure that the client trusts your host
RUN pip config set global.index https://my.private.pypi.feed/repository/myfeed/pypi/ \
&& pip config set global.index-url https://my.private.pypi.feed/repository/myfeed/simple/
# In case your feed host isn't secured through SSL
RUN pip config set global.trusted-host http://my.private.pypi.feed/
Informace o určení vlastních základních imagí ve službě Azure Machine Learning najdete v tématu Vytvoření prostředí z kontextu sestavení Dockeru. Další informace o konfiguraci prostředí Conda najdete v tématu Ruční vytvoření souboru prostředí na webu Conda.
Správa ohrožení zabezpečení na hostitelích výpočetních prostředků
Spravované výpočetní uzly ve službě Azure Machine Learning používají image virtuálních počítačů spravovaných Microsoftem. Když zřídíte uzel, natáhne se nejnovější aktualizovaná image virtuálního počítače. Toto chování se týká výpočetní instance, výpočetního clusteru, bezserverového výpočetního prostředí (Preview) a možností spravovaného odvozování výpočetních prostředků.
I když se image virtuálních počítačů s operačním systémem pravidelně opravují, Azure Machine Learning během jejich používání aktivně nekontroluje výpočetní uzly. Pro další vrstvu ochrany zvažte izolaci sítě vašich výpočetních prostředků.
Ujistěte se, že je vaše prostředí aktuální a že výpočetní uzly používají nejnovější verzi operačního systému, je sdílená odpovědnost mezi vámi a Microsoftem. Uzly, které nejsou nečinné, nejde aktualizovat na nejnovější image virtuálního počítače. Aspekty jednotlivých typů výpočetních prostředků se mírně liší, jak je uvedeno v následujících částech.
Výpočetní instance
Výpočetní instance při zřízení obdrží nejnovější image virtuálních počítačů. Microsoft každý měsíc vydává nové image virtuálních počítačů. Po nasazení výpočetní instance se aktivně neaktualizuje. Můžete zadat dotaz na verzi operačního systému instance. Pokud chcete udržovat aktuální informace o nejnovějších aktualizacích softwaru a opravách zabezpečení, můžete použít jednu z těchto metod:
Znovu vytvořte výpočetní instanci, abyste získali nejnovější image operačního systému (doporučeno).
Pokud použijete tuto metodu, ztratíte data a vlastní nastavení (například nainstalované balíčky), které jsou uložené na operačním systému a dočasných discích instance.
Při opětovném vytvoření instance:
- Uložte poznámkové bloky do adresáře Uživatelských souborů , abyste je zachovali.
- Připojte data k zachování souborů.
Další informace o verzích imagí najdete v poznámkách k verzi image výpočetní instance služby Azure Machine Learning.
Pravidelně aktualizujte balíčky operačního systému a Pythonu.
Pomocí nástrojů pro správu balíčků pro Linux aktualizujte seznam balíčků nejnovějšími verzemi:
sudo apt-get update
Pomocí nástrojů pro správu balíčků pro Linux upgradujte balíčky na nejnovější verze. Při použití tohoto přístupu může dojít ke konfliktům balíčků.
sudo apt-get upgrade
Pomocí nástrojů pro správu balíčků Pythonu upgradujte balíčky a zkontrolujte aktualizace:
pip list --outdated
Na výpočetní instanci můžete nainstalovat a spustit další skenovací software, abyste mohli vyhledat problémy se zabezpečením:
- Pomocí trivy můžete zjistit ohrožení zabezpečení na úrovni balíčku operačního systému a Pythonu.
- Ke zjištění malwaru použijte ClamAV . Je předinstalovaný na výpočetních instancích.
Instalace agenta Microsoft Defenderu pro servery se v současné době nepodporuje.
Zvažte použití skriptů pro přizpůsobení pro automatizaci. Příklad instalačního skriptu, který kombinuje Trivy a ClamAV, naleznete v části Ukázkové instalační skripty výpočetní instance.
Výpočetní clustery
Výpočetní clustery automaticky upgradují uzly na nejnovější image virtuálního počítače. Pokud cluster min nodes = 0
nakonfigurujete tak, že po dokončení všech úloh automaticky upgraduje uzly na nejnovější verzi image virtuálního počítače a cluster se sníží na nula uzlů.
V následujících podmínkách se uzly clusteru nedají vertikálně snížit kapacitu, takže nemůžou získat nejnovější image virtuálního počítače:
- Minimální počet uzlů clusteru je nastaven na hodnotu větší než nula.
- Úlohy se plánují nepřetržitě ve vašem clusteru.
Zodpovídáte za vertikální snížení kapacity nečinných uzlů clusteru, abyste získali nejnovější aktualizace imagí virtuálních počítačů s operačním systémem. Azure Machine Learning nezastaví žádné spuštěné úlohy na výpočetních uzlech, které by vydály aktualizace virtuálních počítačů. Dočasně změňte minimální uzly na nulu a povolte clusteru snížit na nula uzlů.
Spravované online koncové body
Spravované online koncové body automaticky přijímají aktualizace imagí hostitele operačního systému, které zahrnují opravy ohrožení zabezpečení. Frekvence aktualizací obrázků je alespoň jednou za měsíc.
Výpočetní uzly se při vydání této verze automaticky upgradují na nejnovější verzi image virtuálního počítače. Nemusíte nic dělat.
Clustery Kubernetes spravované zákazníkem
Výpočetní prostředí Kubernetes umožňuje nakonfigurovat clustery Kubernetes pro trénování, odvozování a správu modelů ve službě Azure Machine Learning.
Vzhledem k tomu, že prostředí spravujete pomocí Kubernetes, je vaší zodpovědností správa ohrožení zabezpečení virtuálních počítačů operačního systému i ohrožení zabezpečení i imagí kontejnerů.
Azure Machine Learning často publikuje nové verze imagí kontejnerů rozšíření Azure Machine Learning v Registr artefaktů Microsoft. Společnost Microsoft zodpovídá za zajištění toho, aby nové verze imagí byly bez ohrožení zabezpečení. Každá verze opravuje chyby zabezpečení.
Když clustery spouštějí úlohy bez přerušení, můžou spuštěné úlohy spouštět zastaralé verze imagí kontejneru. Po upgradu amlarc
rozšíření na spuštěný cluster se nově odeslané úlohy začnou používat nejnovější verzi image. Když upgradujete amlarc
rozšíření na nejnovější verzi, podle potřeby vyčistíte staré verze imagí kontejneru z clusterů.
Pokud chcete zjistit, jestli váš cluster Azure Arc používá nejnovější verzi amlarc
, použijte Azure Portal. V rámci prostředku Azure Arc typu Kubernetes – Azure Arc přejděte na Rozšíření a vyhledejte verzi amlarc
rozšíření.
Prostředí AutoML a Designeru
V případě prostředí pro trénování založené na kódu řídíte, které prostředí Azure Machine Learning se má použít. S AutoML a návrhářem je prostředí zapouzdřené jako součást služby. Tyto typy úloh se můžou spouštět na výpočetních prostředcích, které konfigurujete, aby bylo možné provádět další ovládací prvky, jako je izolace sítě.
Úlohy AutoML běží v prostředích, která vrství nad základními imagemi Dockeru služby Azure Machine Learning.
Úlohy návrháře jsou rozdělené do komponent. Každá komponenta má vlastní prostředí, které vrství nad základní image Dockeru služby Azure Machine Learning. Další informace o součástech najdete v referenčních informacích ke komponentám.