Konfigurace privátního koncového bodu pro pracovní prostor služby Azure Machine Learning
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
V tomto dokumentu se dozvíte, jak nakonfigurovat privátní koncový bod pro váš pracovní prostor Azure Machine Learning. Informace o vytvoření virtuální sítě pro Azure Machine Learning najdete v přehledu izolace virtuální sítě a ochrany osobních údajů.
Azure Private Link umožňuje omezit připojení k vašemu pracovnímu prostoru k virtuální síti Azure. Pracovní prostor omezíte tak, aby přijímal pouze připojení z virtuální sítě vytvořením privátního koncového bodu. Privátní koncový bod je sada privátních IP adres ve vaší virtuální síti. Pak můžete omezit přístup k vašemu pracovnímu prostoru tak, aby k nim docházelo jenom přes privátní IP adresy. Privátní koncový bod pomáhá snížit riziko exfiltrace dat. Další informace o privátních koncových bodech najdete v článku o službě Azure Private Link .
Upozorňující
Zabezpečení pracovního prostoru pomocí privátních koncových bodů nezajistí kompletní zabezpečení sama o sobě. Musíte zabezpečit všechny jednotlivé komponenty vašeho řešení. Pokud například pro pracovní prostor používáte privátní koncový bod, ale váš účet úložiště Azure není za virtuální sítí, provoz mezi pracovním prostorem a úložištěm k zabezpečení nepoužívá virtuální síť.
Další informace o zabezpečení prostředků používaných službou Azure Machine Learning najdete v následujících článcích:
- Přehled izolace virtuální sítě a ochrany osobních údajů
- Zabezpečení prostředků pracovního prostoru
- Zabezpečená trénovací prostředí
- Zabezpečte prostředí odvození.
- Použijte studio Azure Machine Learning ve virtuální síti.
- Izolace sítě platformy API
Požadavky
K vytvoření privátního koncového bodu musíte mít existující virtuální síť.
Upozorňující
Pro vaši virtuální síť nepoužívejte rozsah IP adres 172.17.0.0/16. Toto je výchozí rozsah podsítě používaný sítí mostu Docker a v případě použití pro vaši virtuální síť dojde k chybám. V závislosti na tom, co chcete k virtuální síti připojit, může docházet ke konfliktu s dalšími rozsahy. Pokud například plánujete k virtuální síti připojit místní síť, která také používá rozsah 172.16.0.0/16. Nakonec je na vás naplánovat síťovou infrastrukturu.
Před přidáním privátního koncového bodu zakažte zásady sítě pro privátní koncové body .
Omezení
Pokud povolíte veřejný přístup k pracovnímu prostoru zabezpečenému pomocí privátního koncového bodu a použijete studio Azure Machine Learning přes veřejný internet, některé funkce, jako je návrhář, nemusí mít přístup k vašim datům. K tomuto problému dochází v případě, že jsou data uložená ve službě, která je zabezpečená za virtuální sítí. Příkladem je účet služby Azure Storage.
Pokud používáte Mozilla Firefox, může docházet k problémům při pokusu o přístup k privátnímu koncovému bodu pro váš pracovní prostor. Tento problém může souviset s DNS přes HTTPS v Mozilla Firefoxu. Doporučujeme používat Microsoft Edge nebo Google Chrome.
Použití privátního koncového bodu nemá vliv na řídicí rovinu Azure (operace správy), jako je odstranění pracovního prostoru nebo správa výpočetních prostředků. Například vytvoření, aktualizace nebo odstranění cílového výpočetního objektu. Tyto operace se provádějí přes veřejný internet jako obvykle. Operace roviny dat, jako je použití studio Azure Machine Learning, rozhraní API (včetně publikovaných kanálů) nebo sada SDK používá privátní koncový bod.
Při vytváření výpočetní instance nebo výpočetního clusteru v pracovním prostoru s privátním koncovým bodem musí být výpočetní instance a výpočetní cluster ve stejné oblasti Azure jako pracovní prostor.
Když připojíte cluster Azure Kubernetes Service k pracovnímu prostoru s privátním koncovým bodem, cluster musí být ve stejné oblasti jako pracovní prostor.
Pokud používáte pracovní prostor s několika privátními koncovými body, jeden z privátních koncových bodů musí být ve stejné virtuální síti jako následující služby závislostí:
- Účet úložiště Azure, který poskytuje výchozí úložiště pro pracovní prostor
- Azure Key Vault pro pracovní prostor
- Azure Container Registry pro pracovní prostor
Například jedna virtuální síť ("služby") by obsahovala privátní koncový bod pro služby závislostí a pracovní prostor. Tato konfigurace umožňuje pracovnímu prostoru komunikovat se službami. Jiná virtuální síť (klienti) může obsahovat pouze privátní koncový bod pro pracovní prostor a používat se jenom pro komunikaci mezi počítači pro vývoj klientů a pracovním prostorem.
Vytvoření pracovního prostoru, který používá privátní koncový bod
Pomocí jedné z následujících metod vytvořte pracovní prostor s privátním koncovým bodem. Každá z těchto metod vyžaduje existující virtuální síť:
Tip
Pokud chcete současně vytvořit pracovní prostor, privátní koncový bod a virtuální síť, přečtěte si téma Použití šablony Azure Resource Manageru k vytvoření pracovního prostoru pro Azure Machine Learning.
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
Při použití rozšíření Azure CLI 2.0 CLI pro strojové učení se ke konfiguraci pracovního prostoru použije dokument YAML. Následující příklad ukazuje vytvoření nového pracovního prostoru pomocí konfigurace YAML:
Tip
Pokud používáte privátní propojení, váš pracovní prostor nemůže pro sestavování imagí používat výpočetní prostředky úloh služby Azure Container Registry. Místo toho se pracovní prostor ve výchozím nastavení používá k vytváření imagí bezserverový výpočetní cluster . To funguje jenom v případě, že prostředky, jako je účet úložiště a registr kontejnerů, nejsou v žádném síťovém omezení (privátní koncový bod). Pokud jsou závislosti pracovního prostoru v rámci omezení sítě, použijte image_build_compute
tuto vlastnost k určení výpočetního clusteru, který se má použít pro vytváření imagí.
Vlastnost image_build_compute
v této konfiguraci určuje název výpočetního clusteru procesoru, který se má použít pro sestavení prostředí image Dockeru. Můžete také určit, jestli má být pracovní prostor privátního propojení přístupný přes internet pomocí public_network_access
vlastnosti.
V tomto příkladu bude potřeba vytvořit výpočetní prostředky, na které image_build_compute
odkazujeme, před vytvořením imagí.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-privatelink-prod
location: eastus
display_name: Private Link endpoint workspace-example
description: When using private link, you must set the image_build_compute property to a cluster name to use for Docker image environment building. You can also specify whether the workspace should be accessible over the internet.
image_build_compute: cpu-compute
public_network_access: Disabled
tags:
purpose: demonstration
az ml workspace create \
-g <resource-group-name> \
--file privatelink.yml
Po vytvoření pracovního prostoru pomocí příkazů Azure networking CLI vytvořte koncový bod privátního propojení pro tento pracovní prostor.
az network private-endpoint create \
--name <private-endpoint-name> \
--vnet-name <vnet-name> \
--subnet <subnet-name> \
--private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
--group-id amlworkspace \
--connection-name workspace -l <location>
Pokud chcete vytvořit položky privátní zóny DNS pro pracovní prostor, použijte následující příkazy:
# Add privatelink.api.azureml.ms
az network private-dns zone create \
-g <resource-group-name> \
--name privatelink.api.azureml.ms
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name privatelink.api.azureml.ms \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group create \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone privatelink.api.azureml.ms \
--zone-name privatelink.api.azureml.ms
# Add privatelink.notebooks.azure.net
az network private-dns zone create \
-g <resource-group-name> \
--name privatelink.notebooks.azure.net
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name privatelink.notebooks.azure.net \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group add \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone privatelink.notebooks.azure.net \
--zone-name privatelink.notebooks.azure.net
Přidání privátního koncového bodu do pracovního prostoru
K přidání privátního koncového bodu do existujícího pracovního prostoru použijte jednu z následujících metod:
Upozorňující
Pokud máte k tomuto pracovnímu prostoru přidružené nějaké existující cílové výpočetní objekty a nejsou za stejnou virtuální sítí, ve které je vytvořený privátní koncový bod, nebudou fungovat.
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
Při použití rozhraní příkazového řádku Azure CLI 2.0 pro strojové učení použijte příkazy Azure Networking CLI k vytvoření koncového bodu privátního propojení pro pracovní prostor.
az network private-endpoint create \
--name <private-endpoint-name> \
--vnet-name <vnet-name> \
--subnet <subnet-name> \
--private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
--group-id amlworkspace \
--connection-name workspace -l <location>
Pokud chcete vytvořit položky privátní zóny DNS pro pracovní prostor, použijte následující příkazy:
# Add privatelink.api.azureml.ms
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.api.azureml.ms'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.api.azureml.ms' \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group create \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone 'privatelink.api.azureml.ms' \
--zone-name 'privatelink.api.azureml.ms'
# Add privatelink.notebooks.azure.net
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.notebooks.azure.net'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.notebooks.azure.net' \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group add \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone 'privatelink.notebooks.azure.net' \
--zone-name 'privatelink.notebooks.azure.net'
Odebrání privátního koncového bodu
Pro pracovní prostor můžete odebrat jeden nebo všechny privátní koncové body. Odebráním privátního koncového bodu odeberete pracovní prostor z virtuální sítě, ke které byl koncový bod přidružený. Odebráním privátního koncového bodu může pracovnímu prostoru zabránit v přístupu k prostředkům v dané virtuální síti nebo prostředkům ve virtuální síti přístup k pracovnímu prostoru. Pokud například virtuální síť nepovoluje přístup k veřejnému internetu nebo z veřejného internetu.
Upozorňující
Odebrání privátních koncových bodů pro pracovní prostor nezpřístupní veřejně. Pokud chcete, aby byl pracovní prostor veřejně přístupný, použijte postup v části Povolit veřejný přístup .
Pokud chcete odebrat privátní koncový bod, použijte následující informace:
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
Při použití rozhraní příkazového řádku Azure CLI 2.0 pro strojové učení odeberte privátní koncový bod pomocí následujícího příkazu:
az network private-endpoint delete \
--name <private-endpoint-name> \
--resource-group <resource-group-name> \
Povolení veřejného přístupu
V některých situacích můžete chtít někomu umožnit připojení k vašemu zabezpečenému pracovnímu prostoru přes veřejný koncový bod místo přes virtuální síť. Nebo můžete chtít odebrat pracovní prostor z virtuální sítě a znovu povolit veřejný přístup.
Důležité
Povolení veřejného přístupu neodebere žádné privátní koncové body, které existují. Veškerá komunikace mezi komponentami za virtuální sítí, ke které se privátní koncové body připojují, jsou stále zabezpečené. Kromě privátního přístupu prostřednictvím privátních koncových bodů umožňuje veřejný přístup pouze k pracovnímu prostoru.
Upozorňující
V případě připojení přes veřejný koncový bod, zatímco pracovní prostor ke komunikaci s dalšími prostředky používá privátní koncový bod:
- Některé funkce studia nebudou mít přístup k vašim datům. K tomuto problému dochází v případě , že jsou data uložená ve službě, která je zabezpečená za virtuální sítí. Příkladem je účet služby Azure Storage. Pokud chcete tento problém vyřešit, přidejte IP adresu klientského zařízení do brány firewall účtu úložiště Azure.
- Použití Aplikací Jupyter, JupyterLab, RStudio nebo Posit Workbench (dříve RStudio Workbench) ve výpočetní instanci, včetně spuštěných poznámkových bloků, se nepodporuje.
Pokud chcete povolit veřejný přístup, postupujte takto:
Tip
Existují dvě možné vlastnosti, které můžete nakonfigurovat:
allow_public_access_when_behind_vnet
– používá sadu Python SDK v1.public_network_access
– používaná rozhraním příkazového řádku a sadou Python SDK v2 Každá vlastnost přepíše druhou vlastnost. Například nastavenípublic_network_access
přepíše předchozí nastavení naallow_public_access_when_behind_vnet
.
Microsoft doporučuje povolit public_network_access
nebo zakázat veřejný přístup k pracovnímu prostoru.
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
Při použití rozhraní příkazového řádku Azure CLI 2.0 pro strojové učení použijte az ml update
příkaz k povolení public_network_access
pro pracovní prostor:
az ml workspace update \
--set public_network_access=Enabled \
-n <workspace-name> \
-g <resource-group-name>
Přístup k veřejné síti můžete povolit také pomocí souboru YAML. Další informace najdete v referenční dokumentaci YAML pracovního prostoru.
Povolit veřejný přístup pouze z rozsahů internetových IP adres (Preview)
Pravidla sítě IP můžete použít k povolení přístupu k vašemu pracovnímu prostoru a koncovému bodu z konkrétních rozsahů veřejných internetových IP adres vytvořením pravidel sítě IP. Každý pracovní prostor Azure Machine Learning podporuje až 200 pravidel. Tato pravidla udělují přístup ke konkrétním internetovým službám a místním sítím a blokují obecný internetový provoz.
Upozorňující
- Pokud chcete povolit přístup ke svému koncovému bodu z konkrétních rozsahů veřejných INTERNETOVÝCH IP adres, povolte příznak přístupu k veřejné síti.
- Když tuto funkci povolíte, bude to mít vliv na všechny existující veřejné koncové body přidružené k vašemu pracovnímu prostoru. Tím se může omezit přístup k novým nebo existujícím koncovým bodům. Pokud přistupujete ke koncovým bodům z nepovolené IP adresy, zobrazí se chyba 403.
- Můžete používat jenom adresy IPv4.
- Pokud chcete tuto funkci použít se spravovanou virtuální sítí služby Azure Machine Learning, přečtěte si téma Spravovaná virtuální síť služby Azure Machine Learning.
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
Azure CLI nepodporuje povolení veřejného přístupu z rozsahů IP adres.
Omezení pravidel sítě PROTOKOLU IP
Pro rozsahy IP adres platí následující omezení:
Pravidla sítě IP jsou povolená jenom pro veřejné internetové IP adresy.
Rezervované rozsahy IP adres nejsou povolené v pravidlech IP adres, jako jsou privátní adresy začínající 10, 172.16 až 172.31 a 192.168.
Povolené rozsahy internetových adres musíte zadat pomocí zápisu CIDR ve formátu 16.17.18.0/24 nebo jako jednotlivé IP adresy, jako je 16.17.18.19.
Konfigurace pravidel brány firewall úložiště podporuje jenom adresy IPv4.
Pokud je tato funkce povolená, můžete veřejné koncové body otestovat pomocí libovolného klientského nástroje, jako je curl, ale nástroj Test koncového bodu na portálu není podporovaný.
Bezpečné připojení k pracovnímu prostoru
Pokud se chcete připojit k pracovnímu prostoru zabezpečenému za virtuální sítí, použijte jednu z následujících metod:
Azure VPN Gateway – Připojí místní sítě k virtuální síti přes privátní připojení. Připojení se provádí přes veřejný internet. Existují dva typy bran VPN, které můžete použít:
- Point-to-site: Každý klientský počítač používá klienta VPN pro připojení k virtuální síti.
- Site-to-site: Zařízení VPN připojí virtuální síť k místní síti.
ExpressRoute – Připojuje místní sítě k cloudu přes privátní připojení. Připojení se provádí pomocí poskytovatele připojení.
Azure Bastion – V tomto scénáři vytvoříte virtuální počítač Azure (někdy označovaný jako jump box) uvnitř virtuální sítě. Pak se k virtuálnímu počítači připojíte pomocí služby Azure Bastion. Bastion umožňuje připojení k virtuálnímu počítači pomocí relace RDP nebo SSH z místního webového prohlížeče. Pak jako vývojové prostředí použijete jump box. Vzhledem k tomu, že je uvnitř virtuální sítě, má přímý přístup k pracovnímu prostoru. Příklad použití jump boxu najdete v tématu Kurz: Vytvoření zabezpečeného pracovního prostoru.
Důležité
Pokud používáte bránu VPN nebo ExpressRoute, budete muset naplánovat fungování překladu ip adres mezi místními prostředky a prostředky ve virtuální síti. Další informace najdete v tématu Použití vlastního serveru DNS.
Pokud máte problémy s připojením k pracovnímu prostoru, přečtěte si téma Řešení potíží se zabezpečeným připojením k pracovnímu prostoru.
Několik privátních koncových bodů
Azure Machine Learning podporuje více privátních koncových bodů pro pracovní prostor. Několik privátních koncových bodů se často používá, když chcete zachovat různá prostředí oddělená. Tady jsou některé scénáře, které jsou povolené pomocí několika privátních koncových bodů:
Vývojová prostředí klientů v samostatné virtuální síti
Cluster Azure Kubernetes Service (AKS) v samostatné virtuální síti.
Jiné služby Azure v samostatné virtuální síti. Například Azure Synapse a Azure Data Factory můžou používat virtuální síť spravovanou Microsoftem. V obou případech je možné přidat privátní koncový bod pro pracovní prostor do spravované virtuální sítě používané těmito službami. Další informace o používání spravované virtuální sítě s těmito službami najdete v následujících článcích:
- Privátní koncové body spravované službou Synapse
- Spravovaná virtuální síť azure Data Factory
Důležité
Azure Machine Learning nepodporuje ochranu před exfiltrací dat synapse.
Důležité
Každá virtuální síť, která obsahuje privátní koncový bod pro pracovní prostor, musí mít také přístup k účtu služby Azure Storage, službě Azure Key Vault a službě Azure Container Registry používanému pracovním prostorem. Můžete například vytvořit privátní koncový bod pro služby v každé virtuální síti.
Přidání několika privátních koncových bodů používá stejný postup, jak je popsáno v části Přidání privátního koncového bodu do pracovního prostoru .
Scénář: Izolované klienty
Pokud chcete izolovat vývojové klienty, aby neměli přímý přístup k výpočetním prostředkům používaným službou Azure Machine Learning, postupujte následovně:
Poznámka:
V těchto krocích se předpokládá, že máte existující pracovní prostor, účet služby Azure Storage, Azure Key Vault a Azure Container Registry. Každá z těchto služeb má v existující virtuální síti privátní koncové body.
- Vytvořte pro klienty další virtuální síť. Tato virtuální síť může obsahovat virtuální počítače Azure, které fungují jako klienti, nebo může obsahovat bránu VPN Gateway používanou místními klienty pro připojení k virtuální síti.
- Přidejte nový privátní koncový bod pro účet služby Azure Storage, Azure Key Vault a Službu Azure Container Registry používanou vaším pracovním prostorem. Tyto privátní koncové body by měly existovat ve virtuální síti klienta.
- Pokud máte jiné úložiště, které používá váš pracovní prostor, přidejte pro toto úložiště nový privátní koncový bod. Privátní koncový bod by měl existovat ve virtuální síti klienta a musí mít povolenou integraci privátní zóny DNS.
- Přidejte do pracovního prostoru nový privátní koncový bod. Tento privátní koncový bod by měl existovat ve virtuální síti klienta a musí mít povolenou integraci privátní zóny DNS.
- Pokud chcete povolit studio Azure Machine Learning pro přístup k účtům úložiště, navštivte studio v článku o virtuální síti.
Tuto konfiguraci znázorňuje následující diagram. Virtuální síť Úlohy obsahuje výpočetní prostředky vytvořené pracovním prostorem pro trénování a nasazení. Virtuální síť klienta obsahuje klienty nebo připojení ExpressRoute nebo VPN. Obě virtuální sítě obsahují privátní koncové body pro pracovní prostor, účet služby Azure Storage, Azure Key Vault a Azure Container Registry.
Scénář: Izolované služby Azure Kubernetes Service
Pokud chcete vytvořit izolovanou službu Azure Kubernetes Service používanou pracovním prostorem, postupujte následovně:
Poznámka:
V těchto krocích se předpokládá, že máte existující pracovní prostor, účet služby Azure Storage, Azure Key Vault a Azure Container Registry. Každá z těchto služeb má v existující virtuální síti privátní koncové body.
- Vytvořte instanci služby Azure Kubernetes Service. Během vytváření vytvoří AKS virtuální síť, která obsahuje cluster AKS.
- Přidejte nový privátní koncový bod pro účet služby Azure Storage, Azure Key Vault a Službu Azure Container Registry používanou vaším pracovním prostorem. Tyto privátní koncové body by měly existovat ve virtuální síti klienta.
- Pokud máte jiné úložiště, které používá váš pracovní prostor, přidejte pro toto úložiště nový privátní koncový bod. Privátní koncový bod by měl existovat ve virtuální síti klienta a musí mít povolenou integraci privátní zóny DNS.
- Přidejte do pracovního prostoru nový privátní koncový bod. Tento privátní koncový bod by měl existovat ve virtuální síti klienta a musí mít povolenou integraci privátní zóny DNS.
- Připojte cluster AKS k pracovnímu prostoru Azure Machine Learning. Další informace najdete v tématu Vytvoření a připojení clusteru Azure Kubernetes Service.