Een privé-eindpunt configureren voor een Azure Machine Learning werkruimte

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

In dit document leert u hoe u een privé-eindpunt configureert voor uw Azure Machine Learning-werkruimte. Zie het overzicht van isolatie en privacy van virtuele netwerken voor meer informatie over het maken van een virtueel netwerk voor Azure Machine Learning.

Met Azure Private Link kunt u verbinding maken met uw werkruimte met behulp van een privé-eindpunt. Het privé-eindpunt is een set privé-IP-adressen binnen uw virtuele netwerk. Vervolgens kunt u de toegang tot uw werkruimte beperken tot alleen de privé-IP-adressen. Een privé-eindpunt helpt het risico op gegevensexfiltratie te verminderen. Zie het Artikel over Azure Private Link voor meer informatie over privé-eindpunten.

Waarschuwing

Het beveiligen van een werkruimte met privé-eindpunten zorgt niet voor end-to-end beveiliging zelf. U moet alle afzonderlijke onderdelen van uw oplossing beveiligen. Als u bijvoorbeeld een privé-eindpunt voor de werkruimte gebruikt, maar uw Azure Storage-account zich niet achter het VNet bevindt, gebruikt verkeer tussen de werkruimte en opslag het VNet niet voor beveiliging.

Zie de volgende artikelen voor meer informatie over het beveiligen van resources die worden gebruikt door Azure Machine Learning:

Vereisten

  • U moet een bestaand virtueel netwerk hebben om het privé-eindpunt in te maken.

    Waarschuwing

    Gebruik het IP-adresbereik 172.17.0.0/16 niet voor uw VNet. Dit is het standaardsubnetbereik dat wordt gebruikt door het Docker Bridge-netwerk en resulteert in fouten als deze worden gebruikt voor uw VNet. Andere bereiken kunnen ook conflict veroorzaken, afhankelijk van wat je wilt verbinden met het virtuele netwerk. Als je bijvoorbeeld van plan bent om je on-premises netwerk te verbinden met het VNet en je on-premises netwerk ook het bereik 172.16.0.0/16 gebruikt. Uiteindelijk is het aan u om uw netwerkinfrastructuur te plannen.

  • Schakel netwerkbeleid voor privé-eindpunten uit voordat u het privé-eindpunt toevoegt.

Beperkingen

  • Als u openbare toegang inschakelt voor een werkruimte die is beveiligd met een privé-eindpunt en Azure Machine Learning-studio via het openbare internet gebruikt, hebben sommige functies zoals de ontwerper mogelijk geen toegang tot uw gegevens. Dit probleem treedt op wanneer de gegevens worden opgeslagen in een service die zich achter het VNet bevindt. Bijvoorbeeld een Azure-opslagaccount.

  • U kunt problemen ondervinden bij het openen van het privé-eindpunt voor uw werkruimte als u Mozilla Firefox gebruikt. Dit probleem kan betrekking hebben op DNS via HTTPS in Mozilla Firefox. We raden u aan Microsoft Edge of Google Chrome te gebruiken.

  • Het gebruik van een privé-eindpunt heeft geen invloed op het Azure-besturingsvlak (beheerbewerkingen), zoals het verwijderen van de werkruimte of het beheren van rekenresources. Bijvoorbeeld het maken, bijwerken of verwijderen van een rekendoel. Deze bewerkingen worden normaal uitgevoerd via het openbare internet. Gegevensvlakbewerkingen, zoals het gebruik van Azure Machine Learning-studio, API's (inclusief gepubliceerde pijplijnen) of de SDK maken gebruik van het privé-eindpunt.

  • Wanneer je een rekenproces of rekencluster maakt in een werkruimte met een privé-eindpunt, moeten het rekenproces en het rekencluster zich in dezelfde Azure-regio als de werkruimte bevinden.

  • Wanneer u een Azure Kubernetes Service-cluster koppelt aan een werkruimte met een privé-eindpunt, moet het cluster zich in dezelfde regio bevinden als de werkruimte.

  • Wanneer u een werkruimte met meerdere privé-eindpunten gebruikt, moet een van de privé-eindpunten zich in hetzelfde VNet bevinden als de volgende afhankelijkheidsservices:

    • Azure Storage-account dat de standaardopslag voor de werkruimte biedt
    • Azure Key Vault voor de werkruimte
    • Azure Container Registry voor de werkruimte.

    Eén VNet ('services' VNet) bevat bijvoorbeeld een privé-eindpunt voor de afhankelijkheidsservices en de werkruimte. Met deze configuratie kan de werkruimte communiceren met de services. Een ander VNet ('clients') kan alleen een privé-eindpunt voor de werkruimte bevatten en alleen worden gebruikt voor communicatie tussen clientontwikkelingscomputers en de werkruimte.

Een werkruimte maken die gebruikmaakt van een privé-eindpunt

Gebruik een van de volgende methoden om een werkruimte met een privé-eindpunt te maken. Voor elk van deze methoden is een bestaand virtueel netwerk vereist:

Tip

Als u tegelijkertijd een werkruimte, privé-eindpunt en virtueel netwerk wilt maken, raadpleegt u Een Azure Resource Manager-sjabloon gebruiken om een werkruimte te maken voor Azure Machine Learning.

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

Wanneer u de Azure CLI-extensie 2.0 CLI voor machine learning gebruikt, wordt een YAML-document gebruikt om de werkruimte te configureren. In het volgende voorbeeld ziet u hoe u een nieuwe werkruimte maakt met behulp van een YAML-configuratie:

Tip

Wanneer u private link gebruikt, kan uw werkruimte geen rekenkracht van Azure Container Registry-taken gebruiken voor het bouwen van installatiekopieën. De image_build_compute eigenschap in deze configuratie geeft de naam van een CPU-rekencluster op die moet worden gebruikt voor het bouwen van de Docker-installatiekopieënomgeving. U kunt ook opgeven of de private link-werkruimte toegankelijk moet zijn via internet met behulp van de public_network_access eigenschap.

In dit voorbeeld moet de berekening waarnaar wordt verwezen image_build_compute , worden gemaakt voordat u installatiekopieën bouwt.

$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

Nadat u de werkruimte hebt gemaakt, gebruikt u de CLI-opdrachten voor Azure-netwerken om een privékoppelingseindpunt voor de werkruimte te maken.

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>

Gebruik de volgende opdrachten om de privé-DNS-zonevermeldingen voor de werkruimte te maken:

# 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

Een privé-eindpunt toevoegen aan een werkruimte

Gebruik een van de volgende methoden om een privé-eindpunt toe te voegen aan een bestaande werkruimte:

Waarschuwing

Als er bestaande rekendoelen zijn gekoppeld aan deze werkruimte en ze zich niet achter hetzelfde virtuele netwerk bevinden waarin het privé-eindpunt is gemaakt, werken ze niet.

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

Wanneer u de Azure CLI-extensie 2.0 CLI voor machine learning gebruikt, gebruikt u de Azure-netwerk-CLI-opdrachten om een private link-eindpunt voor de werkruimte te maken.

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>

Gebruik de volgende opdrachten om de privé-DNS-zonevermeldingen voor de werkruimte te maken:

# 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'

Een privé-eindpunt verwijderen

U kunt een of alle privé-eindpunten voor een werkruimte verwijderen. Als u een privé-eindpunt verwijdert, wordt de werkruimte verwijderd uit het VNet waaraan het eindpunt is gekoppeld. Als u het privé-eindpunt verwijdert, heeft de werkruimte mogelijk geen toegang tot resources in dat VNet of kunnen resources in het VNet toegang krijgen tot de werkruimte. Als het VNet bijvoorbeeld geen toegang tot of vanaf het openbare internet toestaat.

Waarschuwing

Als u de privé-eindpunten voor een werkruimte verwijdert, is deze niet openbaar toegankelijk. Als u de werkruimte openbaar toegankelijk wilt maken, gebruikt u de stappen in de sectie Openbare toegang inschakelen.

Als u een privé-eindpunt wilt verwijderen, gebruikt u de volgende informatie:

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

Wanneer u de Azure CLI-extensie 2.0 CLI voor machine learning gebruikt, gebruikt u de volgende opdracht om het privé-eindpunt te verwijderen:

az network private-endpoint delete \
    --name <private-endpoint-name> \
    --resource-group <resource-group-name> \

Openbare toegang inschakelen

In sommige situaties wilt u mogelijk toestaan dat iemand via een openbaar eindpunt verbinding kan maken met uw beveiligde werkruimte in plaats van via het VNet. U kunt ook de werkruimte uit het VNet verwijderen en openbare toegang opnieuw inschakelen.

Belangrijk

Als u openbare toegang inschakelt, worden geen privé-eindpunten verwijderd die bestaan. Alle communicatie tussen onderdelen achter het VNet waarmee de privé-eindpunten verbinding maken, worden nog steeds beveiligd. Hiermee is alleen openbare toegang tot de werkruimte mogelijk, naast de privétoegang via privé-eindpunten.

Waarschuwing

Wanneer u verbinding maakt via het openbare eindpunt terwijl de werkruimte een privé-eindpunt gebruikt om te communiceren met andere resources:

  • Sommige functies van Studio hebben geen toegang tot uw gegevens. Dit probleem treedt op wanneer de gegevens worden opgeslagen op een service die wordt beveiligd achter het VNet. Bijvoorbeeld een Azure-opslagaccount. U kunt dit probleem oplossen door het IP-adres van uw clientapparaat toe te voegen aan de firewall van het Azure Storage-account.
  • Het gebruik van Jupyter, JupyterLab, RStudio of Posit Workbench (voorheen RStudio Workbench) op een rekenproces, inclusief het uitvoeren van notebooks, wordt niet ondersteund.

Gebruik de volgende stappen om openbare toegang in te schakelen:

Tip

Er zijn twee mogelijke eigenschappen die u kunt configureren:

  • allow_public_access_when_behind_vnet - gebruikt door de Python SDK v1
  • public_network_access - wordt gebruikt door de CLI en Python SDK v2 Elke eigenschap overschrijft de andere. Als u public_network_access bijvoorbeeld een eerdere instelling overschrijft naar allow_public_access_when_behind_vnet.

Microsoft raadt aan public_network_access om openbare toegang tot een werkruimte in of uit te schakelen.

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

Wanneer u de Azure CLI-extensie 2.0 voor machine learning gebruikt, gebruikt u de az ml update opdracht om de werkruimte in te schakelen public_network_access :

az ml workspace update \
    --set public_network_access=Enabled \
    -n <workspace-name> \
    -g <resource-group-name>

U kunt ook openbare netwerktoegang inschakelen met behulp van een YAML-bestand. Zie de YAML-verwijzing voor de werkruimte voor meer informatie.

Openbare toegang alleen inschakelen vanuit INTERNET-IP-bereiken (preview)

U kunt IP-netwerkregels gebruiken om toegang tot uw werkruimte en eindpunt toe te staan vanuit specifieke IP-adresbereiken voor openbaar internet door IP-netwerkregels te maken. Elke Azure Machine Learning-werkruimte ondersteunt maximaal 200 regels. Deze regels verlenen toegang tot specifieke internetservices en on-premises netwerken en blokkeren algemeen internetverkeer.

Waarschuwing

  • Schakel de vlag voor openbare netwerktoegang van uw eindpunt in als u toegang tot uw eindpunt wilt toestaan vanuit specifieke IP-adresbereiken voor openbaar internet.
  • Wanneer u deze functie inschakelt, heeft dit gevolgen voor alle bestaande openbare eindpunten die zijn gekoppeld aan uw werkruimte. Hierdoor kan de toegang tot nieuwe of bestaande eindpunten worden beperkt. Als u eindpunten opent vanaf een niet-toegestaan IP-adres, krijgt u een 403-fout.
  • Als u deze functie wilt gebruiken met een beheerd virtueel azure Machine Learning-netwerk, raadpleegt u het beheerde virtuele netwerk van Azure Machine Learning.

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

Azure CLI biedt geen ondersteuning voor dit.

Beperkingen voor IP-netwerkregels

De volgende beperkingen zijn van toepassing op IP-adresbereiken:

  • IP-netwerkregels zijn alleen toegestaan voor openbare internet-IP-adressen .

    Gereserveerde IP-adresbereiken zijn niet toegestaan in IP-regels, zoals privéadressen die beginnen met 10, 172.16 tot 172.31 en 192.168.

  • U moet toegestane internetadresbereiken opgeven met cidr-notatie in de vorm 16.17.18.0/24 of als afzonderlijke IP-adressen zoals 16.17.18.19.

  • Alleen IPv4-adressen worden ondersteund voor de configuratie van firewallregels voor opslag.

  • Wanneer deze functie is ingeschakeld, kunt u openbare eindpunten testen met behulp van een clienthulpprogramma, zoals Postman of andere, maar het hulpprogramma Eindpunttest in de portal wordt niet ondersteund.

Veilig verbinding maken met uw werkruimte

Gebruik een van de volgende methoden om verbinding te maken met een werkruimte die wordt beveiligd achter een VNet:

  • Azure VPN-gateway: Verbinding maken on-premises netwerken naar het VNet via een privéverbinding. Verbinding maken wordt gemaakt via het openbare internet. Er zijn twee typen VPN-gateways die u kunt gebruiken:

    • Punt-naar-site: elke clientcomputer gebruikt een VPN-client om verbinding te maken met het VNet.
    • Site-naar-site: een VPN-apparaat verbindt het VNet met uw on-premises netwerk.
  • ExpressRoute: Verbinding maken on-premises netwerken via een privéverbinding in de cloud. Verbinding maken wordt gemaakt met behulp van een connectiviteitsprovider.

  • Azure Bastion : in dit scenario maakt u een virtuele Azure-machine (ook wel een jump box genoemd) in het VNet. Vervolgens maakt u verbinding met de virtuele machine met behulp van Azure Bastion. Met Bastion kunt u verbinding maken met de virtuele machine met behulp van een RDP- of SSH-sessie vanuit uw lokale webbrowser. Vervolgens gebruikt u de jumpbox als uw ontwikkelomgeving. Omdat het zich in het VNet bevindt, heeft het rechtstreeks toegang tot de werkruimte. Zie Zelfstudie: Een beveiligde werkruimte maken voor een voorbeeld van het gebruik van een jumpbox.

Belangrijk

Wanneer u een VPN-gateway of ExpressRoute gebruikt, moet u plannen hoe naamomzetting werkt tussen uw on-premises resources en die in het VNet. Zie Een aangepaste DNS-server gebruiken voor meer informatie.

Als u problemen ondervindt bij het maken van verbinding met de werkruimte, raadpleegt u Problemen met beveiligde werkruimteconnectiviteit oplossen.

Meerdere privé-eindpunten

Azure Machine Learning ondersteunt meerdere privé-eindpunten voor een werkruimte. Meerdere privé-eindpunten worden vaak gebruikt wanneer u verschillende omgevingen gescheiden wilt houden. Hier volgen enkele scenario's die zijn ingeschakeld met behulp van meerdere privé-eindpunten:

  • Clientontwikkelingsomgevingen in een afzonderlijk VNet.

  • Een AKS-cluster (Azure Kubernetes Service) in een afzonderlijk VNet.

  • Andere Azure-services in een afzonderlijk VNet. Azure Synapse en Azure Data Factory kunnen bijvoorbeeld een door Microsoft beheerd virtueel netwerk gebruiken. In beide gevallen kan een privé-eindpunt voor de werkruimte worden toegevoegd aan het beheerde VNet dat door deze services wordt gebruikt. Zie de volgende artikelen voor meer informatie over het gebruik van een beheerd virtueel netwerk met deze services:

    Belangrijk

    De beveiliging van gegevensexfiltratie van Synapse wordt niet ondersteund met Azure Machine Learning.

Belangrijk

Elk VNet dat een privé-eindpunt voor de werkruimte bevat, moet ook toegang hebben tot het Azure Storage-account, Azure Key Vault en Azure Container Registry dat door de werkruimte wordt gebruikt. U kunt bijvoorbeeld een privé-eindpunt maken voor de services in elk VNet.

Als u meerdere privé-eindpunten toevoegt, worden dezelfde stappen gebruikt als beschreven in het gedeelte Een privé-eindpunt toevoegen aan een werkruimte .

Scenario: Geïsoleerde clients

Als u de ontwikkelclients wilt isoleren, zodat ze geen directe toegang hebben tot de rekenresources die door Azure Machine Learning worden gebruikt, voert u de volgende stappen uit:

Notitie

Bij deze stappen wordt ervan uitgegaan dat u een bestaande werkruimte, Een Azure Storage-account, Azure Key Vault en Azure Container Registry hebt. Elk van deze services heeft een privé-eindpunt in een bestaand VNet.

  1. Maak een ander VNet voor de clients. Dit VNet kan Azure Virtual Machines bevatten die fungeren als uw clients, of het kan een VPN Gateway bevatten die wordt gebruikt door on-premises clients om verbinding te maken met het VNet.
  2. Voeg een nieuw privé-eindpunt toe voor het Azure Storage-account, Azure Key Vault en Azure Container Registry dat door uw werkruimte wordt gebruikt. Deze privé-eindpunten moeten aanwezig zijn in het client-VNet.
  3. Als u een andere opslag hebt die door uw werkruimte wordt gebruikt, voegt u een nieuw privé-eindpunt voor die opslag toe. Het privé-eindpunt moet aanwezig zijn in het client-VNet en er moet privé-DNS-zoneintegratie zijn ingeschakeld.
  4. Voeg een nieuw privé-eindpunt toe aan uw werkruimte. Dit privé-eindpunt moet aanwezig zijn in het client-VNet en er moet privé-DNS-zoneintegratie zijn ingeschakeld.
  5. Gebruik de stappen in Het artikel Studio gebruiken in een virtueel netwerk om studio toegang te geven tot de opslagaccounts.

In het volgende diagram ziet u deze configuratie. Het VNet Workload bevat berekeningen die zijn gemaakt door de werkruimte voor training en implementatie. Het client-VNet bevat clients of client ExpressRoute/VPN-verbindingen. Beide VNets bevatten privé-eindpunten voor de werkruimte, Azure Storage-account, Azure Key Vault en Azure Container Registry.

Diagram of isolated client VNet

Scenario: Geïsoleerde Azure Kubernetes Service

Als u een geïsoleerde Azure Kubernetes Service wilt maken die wordt gebruikt door de werkruimte, gebruikt u de volgende stappen:

Notitie

Bij deze stappen wordt ervan uitgegaan dat u een bestaande werkruimte, Een Azure Storage-account, Azure Key Vault en Azure Container Registry hebt. Elk van deze services heeft een privé-eindpunt in een bestaand VNet.

  1. Maak een Azure Kubernetes Service-exemplaar. Tijdens het maken maakt AKS een VNet dat het AKS-cluster bevat.
  2. Voeg een nieuw privé-eindpunt toe voor het Azure Storage-account, Azure Key Vault en Azure Container Registry dat door uw werkruimte wordt gebruikt. Deze privé-eindpunten moeten aanwezig zijn in het client-VNet.
  3. Als u andere opslag hebt die door uw werkruimte wordt gebruikt, voegt u een nieuw privé-eindpunt voor die opslag toe. Het privé-eindpunt moet aanwezig zijn in het client-VNet en er moet privé-DNS-zoneintegratie zijn ingeschakeld.
  4. Voeg een nieuw privé-eindpunt toe aan uw werkruimte. Dit privé-eindpunt moet aanwezig zijn in het client-VNet en er moet privé-DNS-zoneintegratie zijn ingeschakeld.
  5. Koppel het AKS-cluster aan de Azure Machine Learning-werkruimte. Zie Een Azure Kubernetes Service-cluster maken en koppelen voor meer informatie.

Diagram of isolated AKS VNet

Volgende stappen