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 Isolatie van virtuele netwerken en privacyoverzicht 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. U kunt vervolgens de toegang tot uw werkruimte beperken tot alleen via de privé-IP-adressen. Een privé-eindpunt helpt het risico op gegevensexfiltratie te verminderen. Zie het artikel Azure Private Link voor meer informatie over privé-eindpunten.

Waarschuwing

Het beveiligen van een werkruimte met privé-eindpunten zorgt op zichzelf niet voor end-to-end beveiliging. 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 ontwerpfunctie, 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 te maken hebben met DNS via HTTPS in Mozilla Firefox. We raden u aan Microsoft Edge of Google Chrome te gebruiken als tijdelijke oplossing.

  • 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 zoals gebruikelijk via het openbare internet uitgevoerd. 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') bevat mogelijk alleen een privé-eindpunt voor de werkruimte en wordt alleen gebruikt voor communicatie tussen clientontwikkelingsmachines 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 voor Azure Machine Learning te maken.

De Azure Machine Learning Python SDK biedt de klasse PrivateEndpointConfig , 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 u bestaande rekendoelen hebt die aan deze werkruimte zijn gekoppeld en deze zich niet achter hetzelfde virtuele netwerk bevinden waarin het privé-eindpunt is 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, kan het voorkomen dat de werkruimte toegang heeft tot resources in dat VNet of dat resources in het VNet toegang hebben tot de werkruimte. Bijvoorbeeld als het VNet geen toegang tot of van 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 .

Gebruik de volgende informatie om een privé-eindpunt te verwijderen:

Gebruik Workspace.delete_private_endpoint_connection om een privé-eindpunt te verwijderen. 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 verbinding maakt met uw beveiligde werkruimte via een openbaar eindpunt, 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 er geen privé-eindpunten verwijderd die bestaan. Alle communicatie tussen onderdelen achter het VNet waarmee de privé-eindpunten verbinding maken, is nog steeds beveiligd. Het biedt alleen openbare toegang tot de werkruimte, naast de persoonlijke 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 in een service die is 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.

Voer de volgende stappen uit 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 - gebruikt door de Python SDK en CLI v2 Elke eigenschap overschrijft de andere. Als u bijvoorbeeld instelt public_network_access , wordt elke eerdere instelling overschreven op allow_public_access_when_behind_vnet.

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

Als u openbare toegang wilt inschakelen, gebruikt u Workspace.update en stelt u allow_public_access_when_behind_vnet=Truein.

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

Als u verbinding wilt maken met een werkruimte die is beveiligd achter een VNet, gebruikt u een van de volgende methoden:

  • 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 soorten VPN-gateways die u kunt gebruiken:

  • ExpressRoute : verbindt on-premises netwerken met de cloud via een privéverbinding. Er wordt verbinding gemaakt met behulp van een connectiviteitsprovider.

  • Azure Bastion : in dit scenario maakt u een virtuele Azure-machine (ook wel een jumpbox 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 VM 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 worden ingeschakeld met behulp van meerdere privé-eindpunten:

  • Clientontwikkelingsomgevingen in een afzonderlijk VNet.

  • Een Azure Kubernetes Service -cluster (AKS) 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 gegevensexfiltratiebeveiliging van Synapse wordt niet ondersteund met Azure Machine Learning.

Belangrijk

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

Voor het toevoegen van meerdere privé-eindpunten worden dezelfde stappen gebruikt als beschreven in de sectie 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 worden gebruikt door Azure Machine Learning, voert u de volgende stappen uit:

Notitie

Bij deze stappen wordt ervan uitgegaan dat u een bestaande werkruimte, 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 door on-premises clients worden gebruikt 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 gebruikt door uw werkruimte. 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 de integratie van privé-DNS-zones moet zijn ingeschakeld.
  4. Voeg een nieuw privé-eindpunt toe aan uw werkruimte. Dit privé-eindpunt moet bestaan in het client-VNet en de integratie van privé-DNS-zones moet zijn ingeschakeld.
  5. Volg 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 workload-VNet bevat berekeningen die door de werkruimte zijn gemaakt voor trainingsimplementatie & . 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ïsoleerd client-VNet.

Scenario: Geïsoleerde Azure Kubernetes Service

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

Notitie

Bij deze stappen wordt ervan uitgegaan dat u een bestaande werkruimte, 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 gebruikt door uw werkruimte. 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 de integratie van privé-DNS-zones moet zijn ingeschakeld.
  4. Voeg een nieuw privé-eindpunt toe aan uw werkruimte. Dit privé-eindpunt moet bestaan in het client-VNet en de integratie van privé-DNS-zones moet 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