Sdílet prostřednictvím


Osvědčené postupy služby Azure Machine Učení pro podnikové zabezpečení

Tento článek vysvětluje osvědčené postupy zabezpečení pro plánování nebo správu zabezpečeného nasazení služby Azure Machine Učení. Osvědčené postupy pocházejí z Microsoftu a zkušeností zákazníků se službou Azure Machine Učení. Každý návod vysvětluje postup a jeho odůvodnění. Článek obsahuje také odkazy na návody a referenční dokumentaci.

Doporučená architektura zabezpečení sítě strojového učení je spravovaná virtuální síť. Počítač Azure Učení spravovaná virtuální síť zabezpečuje pracovní prostor, přidružené prostředky Azure a všechny spravované výpočetní prostředky. Zjednodušuje konfiguraci a správu zabezpečení sítě tím, že předem nakonfiguruje požadované výstupy a automaticky vytváří spravované prostředky v síti. Privátní koncové body můžete použít k tomu, aby služby Azure mohly přistupovat k síti, a volitelně můžete definovat pravidla odchozích přenosů, která síti umožní přístup k internetu.

Spravovaná virtuální síť má dva režimy, pro které je možné nakonfigurovat:

  • Povolit odchozí provoz internetu – tento režim umožňuje odchozí komunikaci s prostředky umístěnými na internetu, jako jsou veřejná úložiště balíčků PyPi nebo Anaconda.

    A diagram of the recommended architecture with the internet outbound mode.

  • Povolit pouze schválenou odchozí komunikaci – tento režim umožňuje fungování pouze minimální odchozí komunikace vyžadovaná pro fungování pracovního prostoru. Tento režim se doporučuje pro pracovní prostory, které musí být izolované od internetu. Nebo pokud je odchozí přístup povolený jenom ke konkrétním prostředkům prostřednictvím koncových bodů služby, značek služeb nebo plně kvalifikovaných názvů domén.

    A diagram of the recommended architecture with the only allowed outbound mode.

Další informace najdete v tématu Izolace spravované virtuální sítě.

Pokud nemůžete použít spravovanou virtuální síť z důvodu vašich obchodních požadavků, můžete použít virtuální síť Azure s následujícími podsítěmi:

  • Trénování obsahuje výpočetní prostředky používané k trénování, jako jsou výpočetní instance strojového učení nebo výpočetní clustery.
  • Bodování obsahuje výpočetní prostředky používané k bodování, jako je Azure Kubernetes Service (AKS).
  • Brána firewall obsahuje bránu firewall, která umožňuje provoz do a z veřejného internetu, jako je azure Firewall.

A diagram of the recommended architecture when using Azure virtual network.

Virtuální síť obsahuje také privátní koncový bod pro váš pracovní prostor strojového učení a následující závislé služby:

  • Účet služby Azure Storage
  • Azure Key Vault
  • Azure Container Registry

Odchozí komunikace z virtuální sítě musí být schopná kontaktovat následující služby Microsoft:

  • Strojové učení
  • Microsoft Entra ID
  • Azure Container Registry a konkrétní registry, které microsoft udržuje
  • Azure Front Door
  • Azure Resource Manager
  • Azure Storage

Vzdálení klienti se připojují k virtuální síti pomocí Azure ExpressRoute nebo připojení k virtuální privátní síti (VPN).

Návrh virtuální sítě a privátního koncového bodu

Při navrhování virtuální sítě, podsítí a privátních koncových bodů Azure zvažte následující požadavky:

  • Obecně vytvořte samostatné podsítě pro trénování a bodování a pro všechny privátní koncové body použijte trénovací podsíť.

  • Pro přidělování IP adres potřebují výpočetní instance jednu privátní IP adresu. Výpočetní clustery potřebují jednu privátní IP adresu na uzel. Clustery AKS potřebují mnoho privátních IP adres, jak je popsáno v tématu Plánování přidělování IP adres clusteru AKS. Samostatná podsíť alespoň pro AKS pomáhá zabránit vyčerpání IP adres.

  • Výpočetní prostředky v podsítích trénování a bodování musí přistupovat k účtu úložiště, trezoru klíčů a registru kontejneru. Vytvořte privátní koncové body pro účet úložiště, trezor klíčů a registr kontejneru.

  • Výchozí úložiště pracovního prostoru Machine Learning potřebuje dva privátní koncové body, jeden pro Azure Blob Storage a druhý pro Azure File Storage.

  • Pokud používáte studio Azure Machine Learning, měly by být privátní koncové body pracovního prostoru a úložiště ve stejné virtuální síti.

  • Pokud máte více pracovních prostorů, vytvořte explicitní hranici sítě mezi pracovními prostory pomocí virtuální sítě pro každý pracovní prostor.

Použití privátních IP adres

Privátní IP adresy minimalizují vystavení prostředků Azure internetu. Machine Learning používá mnoho prostředků Azure a privátní koncový bod pracovního prostoru strojového učení nestačí pro koncovou privátní IP adresu. Následující tabulka ukazuje hlavní prostředky, které strojové učení používá a jak povolit privátní IP adresu pro prostředky. Výpočetní instance a výpočetní clustery jsou jediné prostředky, které nemají funkci privátní IP adresy.

Zdroje informací Řešení privátníCH IP adres Dokumentace
Pracovní prostor Privátní koncový bod Konfigurace privátního koncového bodu pro pracovní prostor služby Azure Machine Learning
Registr Privátní koncový bod Izolace sítě s využitím registrů služby Azure Machine Učení
Přidružené prostředky
Úložiště Privátní koncový bod Zabezpečení účtů Azure Storage pomocí koncových bodů služby
Key Vault Privátní koncový bod Zabezpečení služby Azure Key Vault
Container Registry Privátní koncový bod Povolení služby Azure Container Registry
Školící materiály
Výpočetní instance Privátní IP adresa (bez veřejné IP adresy) Zabezpečená trénovací prostředí
Výpočtový cluster Privátní IP adresa (bez veřejné IP adresy) Zabezpečená trénovací prostředí
Hostování prostředků
Spravovaný online koncový bod Privátní koncový bod Izolace sítě se spravovanými online koncovými body
Online koncový bod (Kubernetes) Privátní koncový bod Zabezpečení online koncových bodů služby Azure Kubernetes Service
Koncové body služby Batch Privátní IP adresa (zděděná z výpočetního clusteru) Izolace sítě v dávkových koncových bodech

Řízení příchozího a odchozího provozu virtuální sítě

K řízení příchozího a odchozího provozu virtuální sítě použijte bránu firewall nebo skupinu zabezpečení sítě Azure (NSG). Další informace o požadavcích na příchozí a odchozí provoz najdete v tématu Konfigurace příchozího a odchozího síťového provozu. Další informace o tocích provozu mezi komponentami najdete v tématu Tok síťového provozu v zabezpečeném pracovním prostoru.

Zajištění přístupu k pracovnímu prostoru

Pokud chcete zajistit, aby váš privátní koncový bod mohl přistupovat k pracovnímu prostoru strojového učení, postupujte následovně:

  1. Ujistěte se, že máte přístup k virtuální síti pomocí připojení VPN, ExpressRoute nebo přeskakování virtuálního počítače s přístupem ke službě Azure Bastion. Veřejný uživatel nemá přístup k pracovnímu prostoru strojového učení pomocí privátního koncového bodu, protože k němu bude možné přistupovat pouze z vaší virtuální sítě. Další informace najdete v tématu Zabezpečení pracovního prostoru s virtuálními sítěmi.

  2. Ujistěte se, že můžete přeložit plně kvalifikované názvy domén pracovního prostoru s vaší privátní IP adresou. Pokud používáte vlastní server DNS (Domain Name System) nebo centralizovanou infrastrukturu DNS, musíte nakonfigurovat službu předávání DNS. Další informace najdete v tématu Používání pracovního prostoru s vlastním serverem DNS.

Správa přístupu k pracovnímu prostoru

Při definování řízení identit a přístupu ve službě Machine Learning můžete oddělit ovládací prvky, které definují přístup k prostředkům Azure, od ovládacích prvků, které spravují přístup k datovým prostředkům. V závislosti na vašem případu použití zvažte, jestli použít samoobslužnou správu, správu identit a přístupu zaměřenou na data nebo správu přístupu zaměřenou na projekt.

Model samoobslužných služeb

V modelu samoobslužných služeb můžou datoví vědci vytvářet a spravovat pracovní prostory. Tento model je nejvhodnější pro situace testování konceptu, které vyžadují flexibilitu při vyzkoušení různých konfigurací. Nevýhodou je, že datoví vědci potřebují odborné znalosti ke zřízení prostředků Azure. Tento přístup je méně vhodný v případě, že se vyžaduje striktní kontrola, použití prostředků, trasování auditu a přístup k datům.

  1. Definujte zásady Azure pro nastavení zabezpečení pro zřizování a používání prostředků, jako jsou povolené velikosti clusterů a typy virtuálních počítačů.

  2. Vytvořte skupinu prostředků pro uchovávání pracovních prostorů a udělte datovým vědcům roli Přispěvatel ve skupině prostředků.

  3. Datoví vědci teď můžou vytvářet pracovní prostory a přidružit prostředky ve skupině prostředků samoobslužným způsobem.

  4. Pokud chcete získat přístup k úložišti dat, vytvořte spravované identity přiřazené uživatelem a udělte identitám role přístupu pro čtení v úložišti.

  5. Když datoví vědci vytvářejí výpočetní prostředky, můžou spravované identity přiřadit výpočetním instancím, aby získali přístup k datům.

Osvědčené postupy najdete v tématu Ověřování pro analýzy v cloudovém měřítku.

Model orientovaný na data

V modelu zaměřeném na data patří pracovní prostor jednomu datovému vědci, který může pracovat na více projektech. Výhodou tohoto přístupu je, že datový vědec může opakovaně používat kanály kódu nebo trénování napříč projekty. Pokud je pracovní prostor omezen na jednoho uživatele, je možné při auditování protokolů úložiště trasovat přístup k datům zpět ho.

Nevýhodou je, že přístup k datům není rozdělený nebo omezený na jednotlivé projekty a každý uživatel přidaný do pracovního prostoru má přístup ke stejným prostředkům.

  1. Vytvořte pracovní prostor.

  2. Vytváření výpočetních prostředků s povolenými spravovanými identitami přiřazenými systémem

  3. Když datový vědec potřebuje přístup k datům pro daný projekt, udělte výpočetní spravované identitě přístup ke čtení dat.

  4. Udělte výpočetní spravované identitě přístup k dalším požadovaným prostředkům, jako je registr kontejneru s vlastními imagemi Dockeru pro trénování.

  5. Také udělte spravované identitě pracovního prostoru roli pro čtení a přístup k datům, aby bylo možné povolit náhled dat.

  6. Udělte datovému vědci přístup k pracovnímu prostoru.

  7. Datový vědec teď může vytvářet úložiště dat pro přístup k datům potřebným pro projekty a odesílat trénovací běhy, které data používají.

Volitelně můžete vytvořit skupinu zabezpečení Microsoft Entra a udělit jí přístup pro čtení k datům a pak do skupiny zabezpečení přidat spravované identity. Tento přístup snižuje počet přímých přiřazení rolí u prostředků, aby nedošlo k dosažení limitu předplatného u přiřazení rolí.

Model orientovaný na projekt

Vzor zaměřený na projekt vytvoří pracovní prostor strojového učení pro konkrétní projekt a mnoho datových vědců spolupracuje ve stejném pracovním prostoru. Přístup k datům je omezený na konkrétní projekt a je vhodný pro práci s citlivými daty. Je také jednoduché přidat nebo odebrat datové vědce z projektu.

Nevýhodou tohoto přístupu je, že sdílení prostředků napříč projekty může být obtížné. Během auditů je také obtížné trasovat přístup k datům konkrétním uživatelům.

  1. Vytvořte pracovní prostor.

  2. Identifikujte instance úložiště dat vyžadované pro projekt, vytvořte spravovanou identitu přiřazenou uživatelem a udělte identitě přístup ke čtení úložiště.

    Volitelně udělte spravované identitě pracovního prostoru přístup k úložišti dat, aby bylo možné povolit náhled dat. Tento přístup můžete vynechat pro citlivá data, která nejsou vhodná pro verzi Preview.

  3. Vytvořte úložiště dat bez přihlašovacích údajů pro prostředky úložiště.

  4. Vytvořte výpočetní prostředky v rámci pracovního prostoru a přiřaďte spravovanou identitu k výpočetním prostředkům.

  5. Udělte výpočetní spravované identitě přístup k dalším požadovaným prostředkům, jako je registr kontejneru s vlastními imagemi Dockeru pro trénování.

  6. Udělte datovým vědcům, kteří pracují na projektu, roli v pracovním prostoru.

    Pomocí řízení přístupu na základě role v Azure (RBAC) můžete datovým vědcům omezit vytváření nových úložišť dat nebo nových výpočetních prostředků s různými spravovanými identitami. Tento postup brání přístupu k datům, která nejsou specifická pro daný projekt.

    Pokud chcete zjednodušit správu členství v projektu, můžete vytvořit skupinu zabezpečení Microsoft Entra pro členy projektu a udělit skupině přístup k pracovnímu prostoru.

Azure Data Lake Storage s předáváním přihlašovacích údajů

Identitu uživatele Microsoft Entra můžete použít k interaktivnímu přístupu k úložišti z nástroje Machine Learning Studio. Data Lake Storage s povoleným hierarchickým oborem názvů umožňuje vylepšenou organizaci datových prostředků pro ukládání a spolupráci. Díky hierarchickému oboru názvů Data Lake Storage můžete přístup k datům uspořádat tak, že různým uživatelům udělíte přístup na seznam řízení přístupu (ACL) na základě různých složek a souborů. Můžete například udělit jenom podmnožinu uživatelů přístup k důvěrným datům.

RBAC a vlastní role

Azure RBAC pomáhá spravovat, kdo má přístup k prostředkům strojového učení, a nakonfigurovat, kdo může provádět operace. Můžete například chtít udělit jenom konkrétním uživatelům roli správce pracovního prostoru pro správu výpočetních prostředků.

Obor přístupu se může mezi prostředími lišit. V produkčním prostředí můžete chtít omezit možnost uživatelů aktualizovat koncové body odvozování. Místo toho můžete toto oprávnění udělit autorizovanému instančnímu objektu.

Strojové učení má několik výchozích rolí: vlastníka, přispěvatele, čtenáře a datového vědce. Můžete také vytvořit vlastní role, například vytvořit oprávnění, která odpovídají organizační struktuře. Další informace najdete v tématu Správa přístupu k pracovnímu prostoru Azure Machine Učení.

Složení týmu se v průběhu času může změnit. Pokud vytvoříte skupinu Microsoft Entra pro každou roli a pracovní prostor týmu, můžete přiřadit roli Azure RBAC skupině Microsoft Entra a spravovat přístup k prostředkům a skupiny uživatelů samostatně.

Instanční objekty a instanční objekty mohou být součástí stejné skupiny Microsoft Entra. Když například vytvoříte spravovanou identitu přiřazenou uživatelem, kterou azure Data Factory používá k aktivaci kanálu strojového učení, můžete zahrnout spravovanou identitu do skupiny exekutoru kanálů ML Microsoft Entra.

Centrální správa imagí Dockeru

Azure Machine Učení poskytuje kurátorované image Dockeru, které můžete použít k trénování a nasazení. Vaše podnikové požadavky na dodržování předpisů ale můžou vyžadovat používání imagí z privátního úložiště, které spravuje vaše společnost. Strojové učení má dva způsoby použití centrálního úložiště:

  • Jako základní image použijte image z centrálního úložiště. Správa prostředí strojového učení nainstaluje balíčky a vytvoří prostředí Pythonu, ve kterém běží trénování nebo odvozování kódu. Díky tomuto přístupu můžete snadno aktualizovat závislosti balíčků beze změny základní image.

  • Používejte image tak, jak je, bez použití správy prostředí strojového učení. Tento přístup poskytuje vyšší stupeň kontroly, ale také vyžaduje, abyste prostředí Pythonu pečlivě vytvořili jako součást image. Ke spuštění kódu je potřeba splnit všechny potřebné závislosti a všechny nové závislosti vyžadují opětovné sestavení image.

Další informace najdete v tématu Správa prostředí.

Šifrování dat

Neaktivní uložená data strojového učení mají dva zdroje dat:

  • Úložiště obsahuje všechna vaše data, včetně trénovacích a trénovaných dat modelu s výjimkou metadat. Zodpovídáte za šifrování úložiště.

  • Azure Cosmos DB obsahuje vaše metadata, včetně informací historie spuštění, jako je název experimentu a datum a čas odeslání experimentu. Ve většině pracovních prostorů je služba Azure Cosmos DB v předplatném Microsoftu a šifrována klíčem spravovaným Microsoftem.

    Pokud chcete metadata šifrovat pomocí vlastního klíče, můžete použít pracovní prostor klíčů spravovaný zákazníkem. Nevýhodou je, že ve svém předplatném potřebujete mít Službu Azure Cosmos DB a platit její náklady. Další informace najdete v tématu Šifrování dat pomocí služby Azure Machine Učení.

Informace o tom, jak Azure Machine Učení šifruje přenášená data, najdete v tématu Šifrování během přenosu.

Sledování

Při nasazování prostředků strojového učení nastavte řízení protokolování a auditování pro pozorovatelnost. Motivace pro pozorování dat se může lišit v závislosti na tom, kdo data sleduje. Mezi scénáře patří:

  • Odborníci na strojové učení nebo provozní týmy chtějí monitorovat stav kanálu strojového učení. Tito pozorovatelé potřebují porozumět problémům s plánovaným spuštěním nebo problémy s kvalitou dat nebo očekávaným výkonem trénování. Můžete vytvářet řídicí panely Azure, které monitorují data služby Azure Machine Učení, nebo vytvářet pracovní postupy řízené událostmi.

  • Správci kapacity, odborníci na strojové učení nebo provozní týmy můžou chtít vytvořit řídicí panel pro sledování využití výpočetních prostředků a kvót. Pokud chcete spravovat nasazení s více pracovními prostory Azure Machine Učení, zvažte vytvoření centrálního řídicího panelu, abyste porozuměli využití kvót. Kvóty se spravují na úrovni předplatného, takže zobrazení na úrovni celého prostředí je důležité k optimalizaci.

  • IT a provozní týmy můžou nastavit protokolování diagnostiky pro audit přístupu k prostředkům a změnu událostí v pracovním prostoru.

  • Zvažte vytvoření řídicích panelů, které monitorují celkový stav infrastruktury pro strojové učení a závislé prostředky, jako je úložiště. Například kombinování metrik Azure Storage s daty spouštění kanálu vám může pomoct optimalizovat infrastrukturu pro lepší výkon nebo zjistit původní příčiny problému.

Azure shromažďuje a ukládá metriky platformy a protokoly aktivit automaticky. Data můžete směrovat do jiných umístění pomocí nastavení diagnostiky. Nastavte protokolování diagnostiky do centralizovaného pracovního prostoru služby Log Analytics pro pozorovatelnost napříč několika instancemi pracovního prostoru. Pomocí služby Azure Policy můžete automaticky nastavit protokolování pro nové pracovní prostory strojového učení do tohoto centrálního pracovního prostoru služby Log Analytics.

Azure Policy

Používání funkcí zabezpečení v pracovních prostorech můžete vynutit a auditovat prostřednictvím služby Azure Policy. Mezi další doporučení patří:

  • Vynucujte šifrování klíčů spravovaných vlastními daty.
  • Vynucujte Privátní propojení Azure a privátní koncové body.
  • Vynucujte privátní zóny DNS.
  • Zakažte ověřování mimo Azure AD, jako je Secure Shell (SSH).

Další informace najdete v tématu Předdefinované definice zásad pro službu Azure Machine Učení.

K flexibilnímu řízení zabezpečení pracovního prostoru můžete také použít vlastní definice zásad.

Výpočetní clustery a instance

Následující aspekty a doporučení platí pro výpočetní clustery a instance strojového učení.

Šifrování disku

Disk operačního systému pro výpočetní instanci nebo uzel výpočetního clusteru je uložený ve službě Azure Storage a šifrovaný pomocí klíčů spravovaných Microsoftem. Každý uzel má také místní dočasný disk. Dočasný disk je také šifrovaný pomocí klíčů spravovaných Microsoftem, pokud byl pracovní prostor vytvořen pomocí parametru hbi_workspace = True . Další informace najdete v tématu Šifrování dat pomocí služby Azure Machine Učení.

Spravovaná identita

Výpočetní clustery podporují ověřování prostředků Azure pomocí spravovaných identit. Použití spravované identity pro cluster umožňuje ověřování prostředků bez vystavení přihlašovacích údajů v kódu. Další informace najdete v tématu Vytvoření výpočetního clusteru Azure Machine Učení.

Instalační skript

Pomocí instalačního skriptu můžete automatizovat přizpůsobení a konfiguraci výpočetních instancí při vytváření. Jako správce můžete napsat skript pro přizpůsobení, který se použije při vytváření všech výpočetních instancí v pracovním prostoru. Azure Policy můžete použít k vynucení použití instalačního skriptu k vytvoření každé výpočetní instance. Další informace najdete v tématu Vytvoření a správa výpočetní instance služby Azure Machine Učení.

Vytvořit jménem uživatele

Pokud nechcete, aby datoví vědci zřídili výpočetní prostředky, můžete za ně vytvářet výpočetní instance a přiřazovat je datovým vědcům. Další informace najdete v tématu Vytvoření a správa výpočetní instance služby Azure Machine Učení.

Pracovní prostor s podporou privátního koncového bodu

Použijte výpočetní instance s pracovním prostorem s povoleným privátním koncovým bodem. Výpočetní instance odmítne veškerý veřejný přístup mimo virtuální síť. Tato konfigurace také zabraňuje filtrování paketů.

Podpora služby Azure Policy

Pokud používáte virtuální síť Azure, můžete pomocí služby Azure Policy zajistit, aby se ve virtuální síti vytvořil každý výpočetní cluster nebo instance a zadali výchozí virtuální síť a podsíť. Zásady nejsou potřeba při použití spravované virtuální sítě, protože výpočetní prostředky se automaticky vytvářejí ve spravované virtuální síti.

Zásady můžete použít také k zakázání ověřování mimo Azure AD, jako je SSH.

Další kroky

Další informace o konfiguracích zabezpečení strojového učení:

Začínáme s nasazením založeným na šablonách strojového učení:

Přečtěte si další články o aspektech architektury při nasazování strojového učení: