Delen via


Een privé-eindpunt configureren voor een Azure Machine Learning-werkruimte met SDK en CLI v1

VAN TOEPASSING OP: Azure CLI ml-extensie v1Python SDK azureml v1

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

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 Om Microsoft Edge of Google Chrome als tijdelijke oplossing 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 maakt of 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.

De Azure Machine Learning Python SDK biedt de PrivateEndpointConfig-klasse , die kan worden gebruikt met Workspace.create() om een werkruimte met een privé-eindpunt te maken. Voor deze klasse is een bestaand virtueel netwerk vereist.

VAN TOEPASSING OP: Python SDK azureml v1

from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig

pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.create(name='myworkspace',
    subscription_id='<my-subscription-id>',
    resource_group='myresourcegroup',
    location='eastus2',
    private_endpoint_config=pe,
    private_endpoint_auto_approval=True,
    show_output=True)

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 als waarin het privé-eindpunt wordt gemaakt, werken ze niet.

VAN TOEPASSING OP: Python SDK azureml v1

from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig

pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.from_config()
ws.add_private_endpoint(private_endpoint_config=pe, private_endpoint_auto_approval=True, show_output=True)

Zie PrivateEndpointConfig en Workspace.add_private_endpoint voor meer informatie over de klassen en methoden die in dit voorbeeld worden gebruikt.

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:

Als u een privé-eindpunt wilt verwijderen, gebruikt u Workspace.delete_private_endpoint_connection. In het volgende voorbeeld ziet u hoe u een privé-eindpunt verwijdert:

VAN TOEPASSING OP: Python SDK azureml v1

from azureml.core import Workspace

ws = Workspace.from_config()
# get the connection name
_, _, connection_name = ws.get_details()['privateEndpointConnections'][0]['id'].rpartition('/')
ws.delete_private_endpoint_connection(private_endpoint_connection_name=connection_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.
  • 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 en CLI v2
  • public_network_access - wordt gebruikt door de Python SDK en CLI 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.

Als u openbare toegang wilt inschakelen, gebruikt u Workspace.update en stelt u deze in allow_public_access_when_behind_vnet=True.

VAN TOEPASSING OP: Python SDK azureml v1

from azureml.core import Workspace

ws = Workspace.from_config()
ws.update(allow_public_access_when_behind_vnet=True)

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 : verbindt on-premises netwerken met het VNet via een privéverbinding. Er wordt verbinding 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 : verbindt on-premises netwerken met de cloud via een privéverbinding. Verbinding 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 van geïsoleerde 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 van geïsoleerd AKS-VNet.

Volgende stappen