Delen via


Isolatie van beheerde virtuele netwerken in werkruimte

VAN TOEPASSING OP:Azure CLI ml uitbreiding v2 (huidig)Python SDK azure-ai-ml v2 (huidig)

Azure Machine Learning biedt ondersteuning voor isolatie van beheerde virtuele netwerken (beheerd virtueel netwerk). Beheerde isolatie van virtuele netwerken stroomlijnt en automatiseert uw netwerkisolatieconfiguratie met een ingebouwd, op werkruimteniveau beheerd virtueel netwerk op azure Machine Learning. Het beheerde virtuele netwerk beveiligt uw beheerde Azure Machine Learning-resources, zoals rekenprocessen, rekenclusters, serverloze compute en beheerde online-eindpunten.

Het beveiligen van uw werkruimte met een beheerd netwerk biedt netwerkisolatie voor uitgaande toegang vanuit de werkruimte en beheerde berekeningen. Een virtueel Azure-netwerk dat u maakt en beheert, wordt gebruikt om binnenkomende toegang tot de werkruimte via netwerkisolatie te bieden. Er wordt bijvoorbeeld een privé-eindpunt voor de werkruimte gemaakt in uw virtuele Azure-netwerk. Clients die verbinding maken met het virtuele netwerk, hebben toegang tot de werkruimte via het privé-eindpunt. Wanneer u taken uitvoert op beheerde berekeningen, beperkt het beheerde netwerk waartoe de berekening toegang heeft.

Architectuur van beheerd virtueel netwerk

Wanneer u isolatie van beheerde virtuele netwerken inschakelt, wordt er een beheerd virtueel netwerk gemaakt voor de werkruimte. Beheerde rekenresources die u voor de werkruimte maakt, maken automatisch gebruik van dit beheerde virtuele netwerk. Het beheerde virtuele netwerk kan privé-eindpunten gebruiken voor Azure-resources die worden gebruikt door uw werkruimte, zoals Azure Storage, Azure Key Vault en Azure Container Registry.

Er zijn twee verschillende configuratiemodi voor uitgaand verkeer van het beheerde virtuele netwerk:

Aanbeveling

Ongeacht de uitgaande modus die u gebruikt, kan verkeer naar Azure-resources worden geconfigureerd voor het gebruik van een privé-eindpunt. U kunt bijvoorbeeld al het uitgaande verkeer naar internet toestaan, maar de communicatie met Azure-resources beperken door uitgaande regels voor de resources toe te voegen.

Uitgaande modus Beschrijving Scenariën
Uitgaand internet toestaan Sta al het uitgaande internetverkeer van het beheerde virtuele netwerk toe. U wilt onbeperkte toegang tot machine learning-resources op internet, zoals Python-pakketten of vooraf getrainde modellen.1
Alleen goedgekeurd uitgaand verkeer toestaan Uitgaand verkeer mag worden toegestaan door het opgeven van servicetags. * U wilt het risico op gegevensexfiltratie minimaliseren, maar u moet alle vereiste machine learning-artefacten in uw privéomgeving voorbereiden.
* U wilt uitgaande toegang configureren tot een goedgekeurde lijst met services, servicetags of FQDN's.
Uitgeschakeld Binnenkomend en uitgaand verkeer is niet beperkt of u gebruikt uw eigen virtuele Azure-netwerk om resources te beveiligen. U wilt openbare inkomende en uitgaande verbindingen van de werkruimte, of u verwerkt netwerkisolatie met uw eigen virtuele Azure-netwerk.
  1. U kunt uitgaande regels gebruiken met modus om alleen goedgekeurd uitgaand verkeer toe te staan om hetzelfde resultaat te bereiken als het gebruik van internettoegang toestaan. De verschillen zijn:
  • U moet regels toevoegen voor elke uitgaande verbinding die u moet toestaan.
  • Door uitgaande FQDN-regels toe te voegen, worden uw kosten verhoogd omdat dit regeltype gebruikmaakt van Azure Firewall. Zie Prijzen voor meer informatie
  • De standaardregels voor het toestaan van alleen goedgekeurde uitgaande verbindingen zijn ontworpen om het risico van gegevensexfiltratie te minimaliseren. Uitgaande regels die u toevoegt, kunnen het risico verhogen.

Het beheerde virtuele netwerk is vooraf geconfigureerd met de vereiste standaardregels. Het is ook geconfigureerd voor privé-eindpuntverbindingen met uw werkruimte, de standaardopslag, het containerregister en de sleutelkluis van de werkruimte als deze zijn geconfigureerd als privé of de isolatiemodus van de werkruimte is ingesteld om alleen goedgekeurde uitgaande verbindingen toe te staan. Nadat u de isolatiemodus hebt gekozen, hoeft u alleen rekening te houden met andere uitgaande vereisten die u mogelijk moet toevoegen.

In het volgende diagram ziet u een beheerd virtueel netwerk dat is geconfigureerd om uitgaand internet toe te staan:

Diagram van de isolatie van beheerde virtuele netwerken die is geconfigureerd voor uitgaand internet.

In het volgende diagram ziet u een beheerd virtueel netwerk dat is geconfigureerd om alleen goedgekeurde uitgaande verbindingen toe te staan:

Notitie

In deze configuratie worden de opslag, sleutelkluis en containerregister die door de werkruimte worden gebruikt, gemarkeerd als privé. Omdat ze als privé zijn gemarkeerd, wordt er een privé-eindpunt gebruikt om met hen te communiceren.

Diagram van de isolatie van beheerde virtuele netwerken die is geconfigureerd voor alleen goedgekeurde uitgaande verbindingen.

Notitie

Zodra een beheerde VNet-werkruimte is geconfigureerd om uitgaand internet toe te staan, kan de werkruimte niet opnieuw worden geconfigureerd voor uitgeschakeld. Zodra een beheerde VNet-werkruimte is geconfigureerd om alleen goedgekeurd uitgaand verkeer toe te staan, kan de werkruimte niet opnieuw worden geconfigureerd om uitgaand internet toe te staan.

Azure Machine Learning Studio

Als u het geïntegreerde notebook wilt gebruiken of gegevenssets wilt maken in het standaardopslagaccount vanuit Studio, heeft uw client toegang nodig tot het standaardopslagaccount. Maak een privé-eindpunt of service-eindpunt voor het standaardopslagaccount in het virtuele Azure-netwerk dat de clients gebruiken.

Een deel van Azure Machine Learning-studio wordt lokaal uitgevoerd in de webbrowser van de client en communiceert rechtstreeks met de standaardopslag voor de werkruimte. Het maken van een privé-eindpunt of service-eindpunt (voor het standaardopslagaccount) in het virtuele netwerk van de client zorgt ervoor dat de client kan communiceren met het opslagaccount.

Als de aan de werkruimte gekoppelde Azure-opslagaccount openbare netwerktoegang heeft uitgeschakeld, moet u ervoor zorgen dat het privé-eindpunt dat is gemaakt in het virtuele clientnetwerk, de rol Lezer krijgt voor de beheerde identiteit van uw werkruimte. Dit geldt zowel voor privé-eindpunten voor blog- als bestandsopslag. De rol is niet vereist voor het privé-eindpunt dat is gemaakt door het beheerde virtuele netwerk.

Zie de artikelen Privé verbinden met een opslagaccount en service-eindpunten voor meer informatie over het maken van een privé-eindpunt of service-eindpunt.

Beveiligde gekoppelde bronnen

Als u de volgende services aan het virtuele netwerk toevoegt met behulp van een service-eindpunt of een privé-eindpunt (het uitschakelen van de openbare toegang), staat u vertrouwde Microsoft-services toegang tot deze services toe:

Dienst Eindpuntinformatie Vertrouwde gegevens toestaan
Azure Key Vault Service-eindpunt
Privé-eindpunt
Vertrouwde Microsoft-services toestaan om deze firewall te omzeilen
Azure Storage-account Service en privé-eindpunt
Privé-eindpunt
Toegang verlenen vanuit Azure-resource-exemplaren
of
toegang verlenen tot vertrouwde Azure-services
Azure Container Registry Privé-eindpunt Vertrouwde services toestaan

Vereiste voorwaarden

Voordat u de stappen in dit artikel volgt, moet u ervoor zorgen dat u over de volgende vereisten beschikt:

  • Een Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint. Probeer de gratis of betaalde versie van Azure Machine Learning.

  • De Microsoft.Network-resourceprovider moet zijn geregistreerd voor uw Azure-abonnement. Deze resourceprovider wordt door de werkruimte gebruikt bij het maken van privé-eindpunten voor het beheerde virtuele netwerk.

    Zie Fouten oplossen voor de registratie van de resourceprovider voor informatie over het registreren van resourceproviders.

  • Voor de Azure-identiteit die u gebruikt bij het implementeren van een beheerd netwerk, zijn de volgende azure RBAC-acties (op rollen gebaseerd toegangsbeheer) vereist om privé-eindpunten te maken:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • De Azure CLI en de ml extensie voor de Azure CLI. Zie De CLI (v2) installeren, instellen en gebruiken voor meer informatie.

    Aanbeveling

    Op 23 mei 2023 is een beheerd VNet van Azure Machine Learning geïntroduceerd. Als u een oudere versie van de ml-extensie hebt, moet u deze mogelijk bijwerken voor de voorbeelden in dit artikel. Gebruik de volgende Azure CLI-opdracht om de extensie bij te werken:

    az extension update -n ml
    
  • In de CLI-voorbeelden in dit artikel wordt ervan uitgegaan dat u de Bash-shell (of compatibele) shell gebruikt. Bijvoorbeeld vanuit een Linux-systeem of Windows-subsysteem voor Linux.

  • De Azure CLI-voorbeelden in dit artikel gebruiken ws om de naam van de werkruimte weer te geven en rg om de naam van de resourcegroep weer te geven. Wijzig deze waarden indien nodig wanneer u de opdrachten met uw Azure-abonnement gebruikt.

  • Een Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint. Probeer de gratis of betaalde versie van Azure Machine Learning.

  • De Microsoft.Network-resourceprovider moet zijn geregistreerd voor uw Azure-abonnement. Deze resourceprovider wordt door de werkruimte gebruikt bij het maken van privé-eindpunten voor het beheerde virtuele netwerk.

    Zie Fouten oplossen voor de registratie van de resourceprovider voor informatie over het registreren van resourceproviders.

  • Voor de Azure-identiteit die u gebruikt bij het implementeren van een beheerd netwerk, zijn de volgende azure RBAC-acties (op rollen gebaseerd toegangsbeheer) vereist om privé-eindpunten te maken:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • De Azure Machine Learning Python SDK v2. Zie De Python SDK v2 voor Azure Machine Learning installeren voor meer informatie over de SDK.

    Aanbeveling

    Op 23 mei 2023 is een beheerd VNet van Azure Machine Learning geïntroduceerd. Als u een oudere versie van de SDK hebt geïnstalleerd, moet u deze mogelijk bijwerken voor de voorbeelden in dit artikel. Gebruik de volgende opdracht om de SDK bij te werken:

    pip install --upgrade azure-ai-ml azure-identity
    
  • In de voorbeelden in dit artikel wordt ervan uitgegaan dat uw code begint met de volgende Python. Met deze code worden de klassen geïmporteerd die nodig zijn bij het maken van een werkruimte met een beheerd virtueel netwerk, stelt u variabelen in voor uw Azure-abonnement en -resourcegroep en maakt u het ml_clientvolgende:

    from azure.ai.ml import MLClient
    from azure.ai.ml.entities import (
        Workspace,
        ManagedNetwork,
        IsolationMode,
        ServiceTagDestination,
        PrivateEndpointDestination,
        FqdnDestination
    )
    from azure.identity import DefaultAzureCredential
    
    # Replace with the values for your Azure subscription and resource group.
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    
    # get a handle to the subscription
    ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group)
    
  • Een Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint. Probeer de gratis of betaalde versie van Azure Machine Learning.

  • De Microsoft.Network-resourceprovider moet zijn geregistreerd voor uw Azure-abonnement. Deze resourceprovider wordt door de werkruimte gebruikt bij het maken van privé-eindpunten voor het beheerde virtuele netwerk.

    Zie Fouten oplossen voor de registratie van de resourceprovider voor informatie over het registreren van resourceproviders.

  • Voor de Azure-identiteit die u gebruikt bij het implementeren van een beheerd netwerk, zijn de volgende azure RBAC-acties (op rollen gebaseerd toegangsbeheer) vereist om privé-eindpunten te maken:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write

Als u privé-eindpuntverbindingen wilt maken in beheerde virtuele netwerken met behulp van Azure Machine Learning, moet de beheerde identiteit van de werkruimte, ongeacht of het systeem is toegewezen of door de gebruiker toegewezen, en de gebruikersidentiteit die het maken van het privé-eindpunt start, machtigingen hebben om de privé-eindpuntverbindingen voor de doelbronnen goed te keuren. Na 30 april 2025 worden machtigingen niet automatisch verleend aan de beheerde identiteit en moeten ze handmatig worden toegewezen.

Microsoft raadt aan de rol Goedkeurdiger voor netwerkverbindingen van Azure AI Enterprise toe te wijzen aan de beheerde identiteit. De volgende lijst bevat de doelresourcetypen van het privé-eindpunt die worden gedekt door de rol Fiatteur voor netwerkverbindingen van Azure AI Enterprise :

  • Azure Application Gateway
  • Azure Monitor
  • Azure AI Search
  • Event Hubs
  • Azure SQL Database
  • Azure Storage
  • Azure Machine Learning-werkruimte
  • Azure Machine Learning-register
  • Azure AI Foundry
  • Azure Key Vault
  • Azure Cosmos DB
  • Azure-database voor MySQL
  • Azure-database voor PostgreSQL
  • Azure AI-diensten
  • Azure Cache voor Redis
  • Containerregistratiesysteem
  • API-beheer

Als u in plaats daarvan een aangepaste rol wilt maken, raadpleegt u de rol Goedkeurder van netwerkverbindingen voor Azure AI Enterprise om de specifieke acties voor elk resourcetype toe te voegen.

Om regels voor uitgaand verkeer voor privé-eindpunten te creëren voor doelresourcetypen die niet worden gedekt door de rol Fiatteur voor netwerkverbindingen van Azure AI Enterprise, wordt een aangepaste beperkte rol aanbevolen. De rol moet worden gedefinieerd met de acties die nodig zijn om privé-eindpuntverbindingen voor de doelresourcetypen goed te keuren. Voorbeelden van dergelijke resourcetypen zijn Azure Data Factory, Azure Databricks en Azure Function-apps.

Om uitgaande regels voor privé-eindpunten te maken voor standaard werkruimtebronnen, worden de vereiste machtigingen automatisch gedekt door de roltoewijzingen die tijdens het maken van de werkruimte zijn toegekend, waardoor er geen verdere actie nodig is.

Een beheerd virtueel netwerk configureren om uitgaand internet toe te staan

Aanbeveling

Het maken van het beheerde VNet wordt uitgesteld tot er een rekenresource wordt gemaakt of handmatig wordt ingericht. Wanneer je automatische creatie toestaat, kan het ongeveer 30 minuten duren voordat de eerste rekenresource wordt gemaakt, aangezien het netwerk eveneens wordt ingericht. Zie Het netwerk handmatig inrichten voor meer informatie.

Belangrijk

Als u van plan bent serverloze Spark-taken in te dienen, moet u handmatig beginnen met inrichten. Zie de sectie Serverloze Spark-taken configureren voor meer informatie.

Als u een beheerd virtueel netwerk wilt configureren dat uitgaande internetcommunicatie toestaat, kunt u de --managed-network allow_internet_outbound parameter of een YAML-configuratiebestand gebruiken dat de volgende vermeldingen bevat:

managed_network:
  isolation_mode: allow_internet_outbound

U kunt ook uitgaande regels definiëren voor andere Azure-services waarop de werkruimte afhankelijk is. Deze regels definiëren privé-eindpunten waarmee een Azure-resource veilig kan communiceren met het beheerde virtuele netwerk. De volgende regel laat zien hoe u een privé-eindpunt toevoegt aan een Azure Blob-resource.

managed_network:
  isolation_mode: allow_internet_outbound
  outbound_rules:
  - name: added-perule
    destination:
      service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
      spark_enabled: true
      subresource_target: blob
    type: private_endpoint

U kunt een beheerd virtueel netwerk configureren met behulp van de az ml workspace create of az ml workspace update opdrachten:

In het volgende voorbeeld wordt een nieuwe werkruimte gemaakt. De --managed-network allow_internet_outbound parameter configureert een beheerd virtueel netwerk voor de werkruimte:

az ml workspace create --name ws --resource-group rg --managed-network allow_internet_outbound

Als u in plaats daarvan een werkruimte wilt maken met behulp van een YAML-bestand, gebruikt u de --file parameter en geeft u het YAML-bestand op dat de configuratie-instellingen bevat:

az ml workspace create --file workspace.yaml --resource-group rg --name ws

In het volgende YAML-voorbeeld wordt een werkruimte gedefinieerd met een beheerd virtueel netwerk:

name: myworkspace
location: EastUS
managed_network:
    isolation_mode: allow_internet_outbound

Als u een beheerd virtueel netwerk wilt configureren waarmee uitgaande internetcommunicatie mogelijk is, gebruikt u de ManagedNetwork klasse om een netwerk met IsolationMode.ALLOW_INTERNET_OUTBOUNDte definiëren. Vervolgens kunt u het ManagedNetwork object gebruiken om een nieuwe werkruimte te maken of een bestaande werkruimte bij te werken. Als u uitgaande regels wilt definiëren voor Azure-services waarop de werkruimte afhankelijk is, gebruikt u de PrivateEndpointDestination klasse om een nieuw privé-eindpunt voor de service te definiëren.

In het volgende voorbeeld wordt een nieuwe werkruimte met de naam myworkspace gemaakt, met een uitgaande regel met de naam myrule die een privé-eindpunt toevoegt voor een Azure Blob-opslag.

# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND)

# Workspace configuration
ws = Workspace(
    name="myworkspace",
    location="eastus",
    managed_network=network
)

# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True

# Add the outbound 
ws.managed_network.outbound_rules = [PrivateEndpointDestination(
    name=rule_name, 
    service_resource_id=service_resource_id, 
    subresource_target=subresource_target, 
    spark_enabled=spark_enabled)]

# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
  1. Meld u aan bij Azure Portal en kies Azure Machine Learning in het menu Een resource maken.

  2. Geef de vereiste informatie op op het tabblad Basisinformatie .

  3. Selecteer Privé met uitgaand internet op het tabblad Netwerken.

    Schermopname van het maken van een werkruimte met een internetuitgang beheerd virtueel netwerk.

  4. Als u een uitgaande regel wilt toevoegen, selecteert u Door de gebruiker gedefinieerde uitgaande regels toevoegen op het tabblad Netwerken. Geef in de zijbalk voor uitgaande regels van de werkruimte de volgende informatie op:

    • Regelnaam: een naam voor de regel. De naam moet uniek zijn voor deze werkruimte.
    • Doeltype: Privé-eindpunt is de enige optie wanneer de netwerkisolatie privé is met uitgaand internet. Door Azure Machine Learning beheerd virtueel netwerk biedt geen ondersteuning voor het maken van een privé-eindpunt voor alle Azure-resourcetypen. Zie de sectie Privé-eindpunten voor een lijst met ondersteunde resources.
    • Abonnement: het abonnement met de Azure-resource waarvoor u een privé-eindpunt wilt toevoegen.
    • Resourcegroep: de resourcegroep met de Azure-resource waarvoor u een privé-eindpunt wilt toevoegen.
    • Resourcetype: het type Azure-resource.
    • Resourcenaam: de naam van de Azure-resource.
    • Subresource: de subresource van het Azure-resourcetype.
    • Spark ingeschakeld: selecteer deze optie als u serverloze Spark-taken voor de werkruimte wilt inschakelen. Deze optie is alleen beschikbaar als het resourcetype Azure Storage is.

    Schermopname van het toevoegen van een uitgaande regel voor een privé-eindpunt.

    Als u de regel wilt opslaan, selecteert u Opslaan. U kunt door de gebruiker gedefinieerde uitgaande regels blijven gebruiken om regels toe te voegen.

  5. Ga door met het maken van de werkruimte zoals gebruikelijk.

Een beheerd virtueel netwerk configureren om alleen goedgekeurde uitgaande verbindingen toe te staan

Aanbeveling

Het beheerde VNet wordt automatisch ingericht wanneer u een rekenresource maakt. Wanneer je automatische creatie toestaat, kan het ongeveer 30 minuten duren voordat de eerste rekenresource wordt gemaakt, aangezien het netwerk eveneens wordt ingericht. Als u uitgaande FQDN-regels hebt geconfigureerd, voegt de eerste FQDN-regel ongeveer 10 minuten toe aan de inrichtingstijd. Zie Het netwerk handmatig inrichten voor meer informatie.

Belangrijk

Als u van plan bent serverloze Spark-taken in te dienen, moet u handmatig beginnen met inrichten. Zie de sectie Serverloze Spark-taken configureren voor meer informatie.

Als u een beheerd virtueel netwerk wilt configureren dat alleen goedgekeurde uitgaande communicatie toestaat, kunt u de --managed-network allow_only_approved_outbound parameter of een YAML-configuratiebestand gebruiken dat de volgende vermeldingen bevat:

managed_network:
  isolation_mode: allow_only_approved_outbound

U kunt ook uitgaande regels definiëren om goedgekeurde uitgaande communicatie te definiëren. Er kan een uitgaande regel worden gemaakt voor een type service_tag, fqdnen private_endpoint. De volgende regel laat zien hoe u een privé-eindpunt toevoegt aan een Azure Blob-resource, een servicetag aan Azure Data Factory en een FQDN aan pypi.org:

Belangrijk

  • Het toevoegen van een uitgaande servicetag of FQDN is alleen geldig wanneer het beheerde VNet is geconfigureerd voor allow_only_approved_outbound.
  • Als u uitgaande regels toevoegt, kan Microsoft geen gegevensexfiltratie garanderen.

Waarschuwing

Uitgaande FQDN-regels worden geïmplementeerd met behulp van Azure Firewall. Als u uitgaande FQDN-regels gebruikt, worden de kosten voor Azure Firewall toegevoegd aan uw facturering. Ga voor meer informatie naar Prijzen.

managed_network:
  isolation_mode: allow_only_approved_outbound
  outbound_rules:
  - name: added-servicetagrule
    destination:
      port_ranges: 80, 8080
      protocol: TCP
      service_tag: DataFactory
    type: service_tag
  - name: add-fqdnrule
    destination: 'pypi.org'
    type: fqdn
  - name: added-perule
    destination:
      service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
      spark_enabled: true
      subresource_target: blob
    type: private_endpoint

U kunt een beheerd virtueel netwerk configureren met behulp van de az ml workspace create of az ml workspace update opdrachten:

In het volgende voorbeeld wordt de --managed-network allow_only_approved_outbound parameter gebruikt om het beheerde virtuele netwerk te configureren:

az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound

Het volgende YAML-bestand definieert een werkruimte met een beheerd virtueel netwerk:

name: myworkspace
location: EastUS
managed_network:
    isolation_mode: allow_only_approved_outbound

Als u een werkruimte wilt maken met behulp van het YAML-bestand, gebruikt u de --file parameter:

az ml workspace create --file workspace.yaml --resource-group rg --name ws

Als u een beheerd virtueel netwerk wilt configureren dat alleen goedgekeurde uitgaande communicatie toestaat, gebruikt u de ManagedNetwork klasse om een netwerk te definiëren met IsolationMode.ALLOw_ONLY_APPROVED_OUTBOUND. Vervolgens kunt u het ManagedNetwork object gebruiken om een nieuwe werkruimte te maken of een bestaande werkruimte bij te werken. Gebruik de volgende klassen om uitgaande regels te definiëren:

Bestemming Klasse
Azure-service waarvoor de werkruimte afhankelijk is PrivateEndpointDestination
Azure-servicetag ServiceTagDestination
FQDN (Fully Qualified Domain Name) FqdnDestination

In het volgende voorbeeld wordt een nieuwe werkruimte gemaakt met de naam myworkspace, met verschillende uitgaande regels:

  • myrule - Voegt een privé-eindpunt toe voor een Azure Blob-opslag.
  • datafactory - Voegt een servicetagregel toe om te communiceren met Azure Data Factory.

Belangrijk

  • Het toevoegen van een uitgaande servicetag of FQDN is alleen geldig wanneer het beheerde VNet is geconfigureerd voor IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
  • Als u uitgaande regels toevoegt, kan Microsoft geen gegevensexfiltratie garanderen.

Waarschuwing

Uitgaande FQDN-regels worden geïmplementeerd met behulp van Azure Firewall. Als u uitgaande FQDN-regels gebruikt, worden de kosten voor Azure Firewall toegevoegd aan uw facturering. Ga voor meer informatie naar Prijzen.

# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND)

# Workspace configuration
ws = Workspace(
    name="myworkspace",
    location="eastus",
    managed_network=network
)

# Append some rules
ws.managed_network.outbound_rules = []
# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True
ws.managed_network.outbound_rules.append(
    PrivateEndpointDestination(
        name=rule_name, 
        service_resource_id=service_resource_id, 
        subresource_target=subresource_target, 
        spark_enabled=spark_enabled
    )
)

# Example service tag rule
rule_name = "datafactory"
service_tag = "DataFactory"
protocol = "TCP"
port_ranges = "80, 8080-8089"
ws.managed_network.outbound_rules.append(
    ServiceTagDestination(
        name=rule_name, 
        service_tag=service_tag, 
        protocol=protocol, 
        port_ranges=port_ranges
    )
)

# Example FQDN rule
ws.managed_network.outbound_rules.append(
    FqdnDestination(
        name="fqdnrule", 
        destination="pypi.org"
    )
)

# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
  1. Meld u aan bij Azure Portal en kies Azure Machine Learning in het menu Een resource maken.

  2. Geef de vereiste informatie op op het tabblad Basisinformatie .

  3. Selecteer Privé met goedgekeurd uitgaand verkeer op het tabblad Netwerken.

    Schermopname van het maken van een werkruimte met een goedgekeurd uitgaand beheerd virtueel netwerk.

  4. Als u een uitgaande regel wilt toevoegen, selecteert u Door de gebruiker gedefinieerde uitgaande regels toevoegen op het tabblad Netwerken. Geef in de zijbalk voor uitgaande regels van de werkruimte de volgende informatie op:

    • Regelnaam: een naam voor de regel. De naam moet uniek zijn voor deze werkruimte.
    • Doeltype: Privé-eindpunt, Servicetag of FQDN. Servicetag en FQDN zijn alleen beschikbaar wanneer de netwerkisolatie privé is met goedgekeurd uitgaand verkeer.

    Als het doeltype privé-eindpunt is, geeft u de volgende informatie op:

    • Abonnement: het abonnement met de Azure-resource waarvoor u een privé-eindpunt wilt toevoegen.
    • Resourcegroep: de resourcegroep met de Azure-resource waarvoor u een privé-eindpunt wilt toevoegen.
    • Resourcetype: het type Azure-resource.
    • Resourcenaam: de naam van de Azure-resource.
    • Subresource: de subresource van het Azure-resourcetype.
    • Spark ingeschakeld: selecteer deze optie als u serverloze Spark-taken voor de werkruimte wilt inschakelen. Deze optie is alleen beschikbaar als het resourcetype Azure Storage is.

    Aanbeveling

    Door Azure Machine Learning beheerd VNet biedt geen ondersteuning voor het maken van een privé-eindpunt voor alle Azure-resourcetypen. Zie de sectie Privé-eindpunten voor een lijst met ondersteunde resources.

    Schermopname van het bijwerken van een goedgekeurd uitgaand netwerk door een privé-eindpunt toe te voegen.

    Als het doeltype servicetag is, geeft u de volgende informatie op:

    • Servicetag: de servicetag die moet worden toegevoegd aan de goedgekeurde uitgaande regels.
    • Protocol: het protocol dat de servicetag toestaat.
    • Poortbereiken: de poortbereiken waarmee de servicetag kan worden toegestaan.

    Schermopname van het bijwerken van een goedgekeurd uitgaand netwerk door een servicetag toe te voegen.

    Als het doeltype FQDN is, geeft u de volgende informatie op:

    Waarschuwing

    Uitgaande FQDN-regels worden geïmplementeerd met behulp van Azure Firewall. Als u uitgaande FQDN-regels gebruikt, worden de kosten voor Azure Firewall toegevoegd aan uw facturering. Ga voor meer informatie naar Prijzen.

    • FQDN-bestemming: de volledig gekwalificeerde domeinnaam die moet worden toegevoegd aan de goedgekeurde uitgaande regels.

    Schermopname van het bijwerken van een goedgekeurd uitgaand netwerk door een FQDN-regel toe te voegen voor een goedgekeurd uitgaand beheerd virtueel netwerk.

    Als u de regel wilt opslaan, selecteert u Opslaan. U kunt door de gebruiker gedefinieerde uitgaande regels blijven gebruiken om regels toe te voegen.

  5. Ga door met het maken van de werkruimte zoals gebruikelijk.

Configureren voor serverloze Spark-taken

Aanbeveling

De stappen in deze sectie zijn alleen nodig als u van plan bent serverloze Spark-taken in te dienen. Als u geen serverloze Spark-taken gaat verzenden, kunt u deze sectie overslaan.

Als u de serverloze Spark-taken voor het beheerde virtuele netwerk wilt inschakelen, moet u de volgende acties uitvoeren:

  • Configureer een beheerd virtueel netwerk voor de werkruimte en voeg een uitgaand privé-eindpunt toe voor het Azure Storage-account.
  • Nadat u het beheerde virtuele netwerk hebt geconfigureerd, richt u het in en markeert u het om Spark-taken toe te staan.
  1. Configureer een uitgaand privé-eindpunt.

    Gebruik een YAML-bestand om de configuratie van het beheerde virtuele netwerk te definiëren en een privé-eindpunt toe te voegen voor het Azure Storage-account. Stel ook het volgende in spark_enabled: true:

    Aanbeveling

    Dit voorbeeld is bedoeld voor een beheerd VNet dat is geconfigureerd om isolation_mode: allow_internet_outbound internetverkeer toe te staan. Als u alleen goedgekeurd uitgaand verkeer wilt toestaan, gebruikt u isolation_mode: allow_only_approved_outbound.

    name: myworkspace
    managed_network:
      isolation_mode: allow_internet_outbound
      outbound_rules:
      - name: added-perule
        destination:
          service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
          spark_enabled: true
          subresource_target: blob
        type: private_endpoint
    

    U kunt een YAML-configuratiebestand gebruiken met de az ml workspace update opdracht door de --file parameter en de naam van het YAML-bestand op te geven. Met de volgende opdracht wordt bijvoorbeeld een bestaande werkruimte bijgewerkt met behulp van een YAML-bestand met de naam workspace_pe.yml:

    az ml workspace update --file workspace_pe.yml --resource_group rg --name ws
    

    Notitie

    Als Alleen goedgekeurd uitgaand verkeer toestaan is ingeschakeld (isolation_mode: allow_only_approved_outbound), kunnen conda-pakketafhankelijkheden die zijn gedefinieerd in de Spark-sessieconfiguratie niet worden geïnstalleerd. Als u dit probleem wilt oplossen, uploadt u een zelfstandig Python-pakketwiel zonder externe afhankelijkheden naar een Azure-opslagaccount en maakt u een privé-eindpunt naar dit opslagaccount. Gebruik het pad naar het Python-pakketwiel als py_files parameter in uw Spark-taak. Als u een uitgaande FQDN-regel instelt, wordt dit probleem niet overgeslagen omdat het doorgeven van FQDN-regels niet wordt ondersteund door Spark.

    In het volgende voorbeeld ziet u hoe u een beheerd virtueel netwerk maakt voor een bestaande Azure Machine Learning-werkruimte met de naam myworkspace. Er wordt ook een privé-eindpunt toegevoegd voor het Azure Storage-account en stelt spark_enabled=true in.

    Aanbeveling

    Het volgende voorbeeld is voor een beheerd VNet dat is geconfigureerd met gebruik makend van IsolationMode.ALLOW_INTERNET_OUTBOUND om internetverkeer toe te staan. Als u alleen goedgekeurd uitgaand verkeer wilt toestaan, gebruikt u IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.

    # Get the existing workspace
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, "myworkspace")
    ws = ml_client.workspaces.get()
    
    # Basic managed VNet configuration
    ws.managed_network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND)
    
    # Example private endpoint outbound to a blob
    rule_name = "myrule"
    service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
    subresource_target = "blob"
    spark_enabled = True
    
    # Add the outbound 
    ws.managed_network.outbound_rules = [PrivateEndpointDestination(
        name=rule_name, 
        service_resource_id=service_resource_id, 
        subresource_target=subresource_target, 
        spark_enabled=spark_enabled)]
    
    # Create the workspace
    ml_client.workspaces.begin_update(ws)
    

    Notitie

    • Als Alleen goedgekeurd uitgaand verkeer toestaan is ingeschakeld (isolation_mode: allow_only_approved_outbound), kunnen conda-pakketafhankelijkheden die zijn gedefinieerd in de Spark-sessieconfiguratie niet worden geïnstalleerd. Als u dit probleem wilt oplossen, uploadt u een zelfstandig Python-pakketwiel zonder externe afhankelijkheden naar een Azure-opslagaccount en maakt u een privé-eindpunt naar dit opslagaccount. Gebruik het pad naar het Python-pakketwiel als py_files parameter in de Spark-taak.
    • Als de werkruimte is gemaakt met IsolationMode.ALLOW_INTERNET_OUTBOUND, kan deze later niet meer worden bijgewerkt voor gebruik IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
    1. Meld u aan bij Azure Portal en selecteer de Azure Machine Learning-werkruimte.

    2. Selecteer Netwerken en selecteer vervolgens Door de gebruiker gedefinieerde uitgaande regels toevoegen. Voeg een regel toe voor het Azure Storage-account en zorg ervoor dat Spark is ingeschakeld .

      Schermopname van een eindpuntregel waarvoor Spark is ingeschakeld.

    3. Selecteer Opslaan om de regel op te slaan en selecteer Vervolgens Opslaan bovenaan Netwerken om de wijzigingen in het beheerde virtuele netwerk op te slaan.

  2. Richt het beheerde virtuele netwerk in.

    Notitie

    Als voor uw werkruimte openbare netwerktoegang is ingeschakeld, moet u deze uitschakelen voordat u het beheerde VNet inricht. Als u geen openbare netwerktoegang uitschakelt bij het inrichten van het beheerde VNet, worden de privé-eindpunten voor de werkruimte mogelijk niet automatisch gemaakt in het beheerde VNet. Anders moet u na de voorziening handmatig de uitgaande regelinstelling voor het privé-eindpunt voor de werkruimte configureren.

    In het volgende voorbeeld ziet u hoe u een beheerd virtueel netwerk inricht voor serverloze Spark-taken met behulp van de --include-spark parameter.

    az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-spark
    

    In het volgende voorbeeld ziet u hoe u een beheerd virtueel netwerk inricht voor serverloze Spark-taken:

    # Connect to a workspace named "myworkspace"
    ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")
    
    # whether to provision Spark vnet as well
    include_spark = True
    
    provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()
    

    In Azure Portal kunt u alleen selecteren om het beheerde netwerk in te richten tijdens het maken van de werkruimte. Hiervoor selecteert u Beheerd virtueel netwerk inrichten op het tabblad Uitgaande toegang . Als u het beheerde netwerk wilt inrichten voor serverloze Spark-taken voor een bestaande werkruimte, moet u de Azure CLI of Python SDK gebruiken.

Handmatig een beheerd VNet inrichten

Het beheerde virtuele netwerk wordt automatisch geïmplementeerd wanneer u een rekeneenheid maakt. Wanneer u afhankelijk bent van automatische inrichting, kan het ongeveer 30 minuten duren voordat de eerste compute instance is gemaakt, omdat het netwerk ook wordt ingericht. Als u uitgaande FQDN-regels hebt geconfigureerd (alleen beschikbaar in de modus 'alleen goedgekeurd toestaan'), voegt de eerste FQDN-regel ongeveer 10 minuten toe aan de inrichtingstijd. Als u een grote set uitgaande regels hebt die moeten worden ingericht in het beheerde netwerk, kan het langer duren voordat het inrichten is voltooid. De verhoogde provisioneringstijd kan ervoor zorgen dat uw eerste rekeneenheid een time-out krijgt.

Als u de wachttijd wilt verminderen en mogelijke time-outfouten wilt voorkomen, raden we u aan het beheerde netwerk handmatig in te richten. Wacht vervolgens totdat het inrichten is voltooid voordat u een rekenexemplaar maakt.

U kunt ook de provision_network_now vlag gebruiken om het beheerde netwerk in te richten als onderdeel van het maken van een werkruimte.

Notitie

Als u een onlineimplementatie wilt maken, moet u het beheerde netwerk handmatig inrichten of eerst een rekenproces maken dat het automatisch inricht.

In het volgende voorbeeld ziet u hoe u een beheerd virtueel netwerk inricht tijdens het maken van de werkruimte.

az ml workspace create -n myworkspace -g my_resource_group --managed-network AllowInternetOutbound --provision-network-now

In het volgende voorbeeld ziet u hoe u handmatig een beheerd virtueel netwerk inricht.

Aanbeveling

Als u serverloze Spark-taken wilt verzenden, voegt u de --include-spark parameter toe.

az ml workspace provision-network -g my_resource_group -n my_workspace_name

Gebruik de volgende opdracht om te controleren of het inrichten is voltooid:

az ml workspace show -n my_workspace_name -g my_resource_group --query managed_network

Als u het beheerde netwerk wilt inrichten tijdens het maken van de werkruimte, stelt u de provision_network_now vlag in op True.

provision_network_now: True

In het volgende voorbeeld ziet u hoe u een beheerd virtueel netwerk inricht:

# Connect to a workspace named "myworkspace"
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")

# whether to provision Spark vnet as well
include_spark = True

provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()

Als u wilt controleren of de werkruimte is ingericht, gebruikt ml_client.workspaces.get() u deze om de werkruimtegegevens op te halen. De managed_network eigenschap bevat de status van het beheerde netwerk.

ws = ml_client.workspaces.get()
print(ws.managed_network.status)

Selecteer tijdens het maken van de werkruimte proactief het beheerde netwerk inrichten om het beheerde netwerk in te richten. Er worden kosten in rekening gebracht voor netwerkbronnen, zoals privé-eindpunten, zodra het virtuele netwerk is ingericht. Deze configuratieoptie is alleen beschikbaar tijdens het maken van de werkruimte.

Installatiekopieën configureren

Wanneer Azure Container Registry voor uw werkruimte zich achter een virtueel netwerk bevindt, kan deze niet rechtstreeks worden gebruikt om Docker-installatiekopieën te bouwen. Configureer in plaats daarvan uw werkruimte om een rekencluster of rekeninstance te gebruiken om afbeeldingen te bouwen.

Belangrijk

De rekenresource die wordt gebruikt om Docker-installatiekopieën te bouwen, moet toegang hebben tot de pakketopslagplaatsen die worden gebruikt voor het trainen en implementeren van uw modellen. Als u een netwerk gebruikt dat is geconfigureerd om alleen goedgekeurd uitgaand verkeer toe te staan, moet u mogelijk regels toevoegen die toegang tot openbare opslagplaatsen toestaan of persoonlijke Python-pakketten gebruiken.

Als u een werkruimte wilt bijwerken om een rekencluster of rekenproces te gebruiken om Docker-installatiekopieën te bouwen, gebruikt u de az ml workspace update opdracht met de --image-build-compute parameter:

az ml workspace update --name ws --resource-group rg --image-build-compute mycompute

In het volgende voorbeeld wordt gedemonstreerd hoe u een werkruimte kunt updaten om een rekencluster te gebruiken om images te bouwen.

# import required libraries
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

subscription_id = "<your subscription ID>"
resource_group = "<your resource group name>"
workspace = "<your workspace name>"

ml_client = MLClient(
    DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name=workspace
)

# Get workspace info
ws=ml_client.workspaces.get(name=workspace)
# Update to use cpu-cluster for image builds
ws.image_build_compute="mycompute"
ml_client.workspaces.begin_update(ws)
# To switch back to using ACR to build (if ACR is not in the virtual network):
# ws.image_build_compute = ''
# ml_client.workspaces.begin_update(ws)

Er is geen manier om het berekenen van de image build in te stellen vanuit de Azure-portal. Gebruik in plaats daarvan de Azure CLI of Python SDK.

Regels voor uitgaand verkeer beheren

Gebruik de volgende opdracht om de uitgaande regels voor een beheerd virtueel netwerk voor een werkruimte weer te geven:

az ml workspace outbound-rule list --workspace-name ws --resource-group rg

Gebruik de volgende opdracht om de details van een uitgaande regel voor een beheerd virtueel netwerk weer te geven:

az ml workspace outbound-rule show --rule rule-name --workspace-name ws --resource-group rg

Als u een uitgaande regel uit het beheerde virtuele netwerk wilt verwijderen, gebruikt u de volgende opdracht:

az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg

In het volgende voorbeeld ziet u hoe u uitgaande regels beheert voor een werkruimte met de naam myworkspace:

# Connect to the workspace
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")

# Specify the rule name
rule_name = "<some-rule-name>"

# Get a rule by name
rule = ml_client._workspace_outbound_rules.get(resource_group, ws_name, rule_name)

# List rules for a workspace
rule_list = ml_client._workspace_outbound_rules.list(resource_group, ws_name)

# Delete a rule from a workspace
ml_client._workspace_outbound_rules.begin_remove(resource_group, ws_name, rule_name).result()
  1. Meld u aan bij Azure Portal en selecteer de Azure Machine Learning-werkruimte waarvoor u isolatie van beheerde virtuele netwerken wilt inschakelen.

  2. Selecteer Netwerken. Met de sectie Uitgaande toegang voor werkruimte kunt u uitgaande regels beheren.

    Schermopname van de sectie regels voor uitgaand verkeer.

  • Als u een uitgaande regel wilt toevoegen, selecteert u Door de gebruiker gedefinieerde uitgaande regels toevoegen op het tabblad Netwerken. Geef in de zijbalk voor uitgaande regels van de werkruimte de volgende informatie op:

  • Om een regel in- of uitschakelen , gebruikt u de schakelaar in de kolom Actief .

  • Als u een uitgaande regel wilt verwijderen , selecteert u Verwijderen voor de regel.

Lijst met vereiste regels

Privé-eindpunten:

  • Wanneer de isolatiemodus voor het beheerde virtuele netwerk is Allow internet outbound, worden uitgaande regels voor privé-eindpunten automatisch gemaakt als vereiste regels van het beheerde virtuele netwerk voor de werkruimte en gekoppelde resources waarvoor openbare netwerktoegang is uitgeschakeld (Key Vault, Opslagaccount, Container Registry, Azure Machine Learning-werkruimte).
  • Wanneer de isolatiemodus voor het beheerde virtuele netwerk is Allow only approved outbound, worden uitgaande regels voor privé-eindpunten automatisch gemaakt als vereiste regels van het beheerde virtuele netwerk voor de werkruimte en gekoppelde resources , ongeacht de openbare netwerktoegangsmodus voor deze resources (Key Vault, Opslagaccount, Container Registry, Azure Machine Learning-werkruimte).
  • Deze regels worden automatisch toegevoegd aan het beheerde virtuele netwerk.

Azure Machine Learning kan alleen normaal worden uitgevoerd als er een set vereiste servicetags is vereist in een beheerde of aangepaste installatie van een virtueel netwerk. Er zijn geen alternatieven voor het vervangen van bepaalde vereiste servicetags. In de volgende tabel worden elke vereiste servicetag en het doel ervan in Azure Machine Learning beschreven.

Servicetagregel Binnenkomend of uitgaand Doel
AzureMachineLearning Inkomend Een Azure Machine Learning-rekenproces/-cluster maken, bijwerken en verwijderen.
AzureMachineLearning Vertrekkend Azure Machine Learning Services gebruiken. Python intellisense in notebooks maakt gebruik van poort 18881. Het maken, bijwerken en verwijderen van een Azure Machine Learning-rekenproces maakt gebruik van poort 5831.
AzureActiveDirectory Vertrekkend Verificatie met behulp van Microsoft Entra ID.
BatchNodeManagement.region Vertrekkend Communicatie met Azure Batch-back-end voor Azure Machine Learning-rekeninstanties/-clusters.
AzureResourceManager Vertrekkend Het maken van Azure-resources met Azure Machine Learning, Azure CLI en Azure Machine Learning SDK.
AzureFrontDoor.FirstParty Vertrekkend Toegang tot Docker-installatiekopieën van Microsoft.
MicrosoftContainerRegistry Vertrekkend Toegang tot Docker-installatiekopieën van Microsoft. Installatie van de Azure Machine Learning-router voor Azure Kubernetes Service.
AzureMonitor Vertrekkend Wordt gebruikt voor het vastleggen van bewaking en metrische gegevens in Azure Monitor. Alleen nodig als de Azure Monitor voor de werkruimte niet is beveiligd. Deze uitgaande data wordt ook gebruikt voor het vastleggen van informatie voor ondersteuningsincidenten.
VirtualNetwork Vertrekkend Vereist wanneer privé-eindpunten aanwezig zijn in het virtuele netwerk of gekoppelde virtuele netwerken.

Notitie

Servicetags als de ENIGE beveiligingsgrens is niet voldoende. Gebruik voor isolatie op tenantniveau, indien mogelijk, privé-eindpunten.

Lijst met scenario-specifieke uitgaande regels

Scenario: Toegang krijgen tot openbare machine learning-pakketten

Als u installatie van Python-pakketten voor training en implementatie wilt toestaan, voegt u uitgaande FQDN-regels toe om verkeer naar de volgende hostnamen toe te staan:

Waarschuwing

Uitgaande FQDN-regels worden geïmplementeerd met behulp van Azure Firewall. Als u uitgaande FQDN-regels gebruikt, worden de kosten voor Azure Firewall toegevoegd aan uw facturering. Ga voor meer informatie naar Prijzen.

Notitie

De volgende lijst bevat niet alle hosts die vereist zijn voor alle Python-resources op internet, alleen de meest gebruikte. Als u bijvoorbeeld toegang nodig hebt tot een GitHub-opslagplaats of andere host, moet u de vereiste hosts voor dat scenario identificeren en toevoegen.

Hostnaam doel
anaconda.com
*.anaconda.com
Wordt gebruikt om standaardpakketten te installeren.
*.anaconda.org Wordt gebruikt om opslagplaatsgegevens op te halen.
pypi.org Wordt gebruikt om afhankelijkheden van de standaardindex weer te geven, indien aanwezig, en de index wordt niet overschreven door gebruikersinstellingen. Als de index overschreven wordt, moet u ook *.pythonhosted.org toestaan.
pytorch.org
*.pytorch.org
Enkele voorbeelden op basis van PyTorch maken hier gebruik van.
*.tensorflow.org Wordt gebruikt door enkele voorbeelden op basis van TensorFlow.

Scenario: Visual Studio Code-bureaublad of -web gebruiken met rekenproces

Als u Visual Studio Code wilt gebruiken met Azure Machine Learning, voegt u uitgaande FQDN-regels toe om verkeer naar de volgende hosts toe te staan:

Notitie

De volgende lijst is geen volledige lijst met de hosts die vereist zijn voor alle Visual Studio Code-resources op internet, alleen de meest gebruikte. Als u bijvoorbeeld toegang nodig hebt tot een GitHub-opslagplaats of andere host, moet u de vereiste hosts voor dat scenario identificeren en toevoegen. Zie Netwerkverbinding maken in Visual Studio Code voor een volledige lijst met hostnamen.

Hostnaam doel
*.vscode.dev
*.vscode-unpkg.net
*.vscode-cdn.net
*.vscodeexperiments.azureedge.net
default.exp-tas.com
Vereist voor toegang tot vscode.dev (Virtual Studio Code voor het web)
code.visualstudio.com Vereist voor het downloaden en installeren van VS Code-desktop. Deze host is niet vereist voor VS Code Web.
update.code.visualstudio.com
*.vo.msecnd.net
Wordt gebruikt om VS Code-serverbits op te halen die zijn geïnstalleerd op het rekenproces via een installatiescript.
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
Vereist voor het downloaden en installeren van VS Code-extensies. Deze hosts maken de externe verbinding mogelijk voor rekeninstanties. Zie Azure Machine Learning-resources beheren in VS Code voor meer informatie.
vscode.download.prss.microsoft.com Gebruikt voor het downloaden van CDN voor Visual Studio Code

Scenario: Gebruik van batch-eindpunten of ParallelRunStep

Als u azure Machine Learning-batcheindpunten wilt gebruiken voor implementatie of ParallelRunStep, voegt u regels voor uitgaande privé-eindpunten toe om verkeer naar de volgende subbronnen toe te staan voor het standaardopslagaccount:

  • queue
  • table
  • Privé-eindpunt voor Azure AI Services
  • Privé-eindpunt naar Azure AI Search

Scenario: HuggingFace-modellen gebruiken

Als u HuggingFace-modellen wilt gebruiken met Azure Machine Learning, voegt u uitgaande FQDN-regels toe om verkeer naar de volgende hosts toe te staan:

Waarschuwing

Uitgaande FQDN-regels worden geïmplementeerd met behulp van Azure Firewall. Als u uitgaande FQDN-regels gebruikt, worden de kosten voor Azure Firewall toegevoegd aan uw facturering. Ga voor meer informatie naar Prijzen.

  • docker.io
  • *.docker.io
  • *.docker.com
  • production.cloudflare.docker.com
  • cdn.auth0.com
  • cdn-lfs.huggingface.co

Scenario: Toegang vanuit geselecteerde IP-adressen inschakelen

Als u toegang vanaf specifieke IP-adressen wilt inschakelen, gebruikt u de volgende acties:

  1. Voeg een regel voor uitgaand privé-eindpunt toe om verkeer naar de Azure Machine Learning-werkruimte toe te staan. Met deze regel kunnen rekeninstanties in het beheerde virtuele netwerk toegang krijgen tot de werkruimte.

    Aanbeveling

    U kunt deze regel niet toevoegen tijdens het maken van de werkruimte, omdat de werkruimte nog niet bestaat.

  2. Openbare netwerktoegang tot de werkruimte inschakelen. Zie openbare netwerktoegang ingeschakeld voor meer informatie.

  3. Voeg uw IP-adressen toe aan de firewall voor Azure Machine Learning. Zie Alleen toegang inschakelen vanuit IP-bereiken voor meer informatie.

    Notitie

    Alleen IPv4-adressen ondersteund.

Zie Privékoppeling configureren voor meer informatie.

Privé-eindpunten

Privé-eindpunten worden momenteel ondersteund voor de volgende Azure-services:

  • Azure Machine Learning
  • Azure Machine Learning-registers
  • Azure Storage (alle subresourcetypen)
  • Azure Container Registratiedienst
  • Azure Key Vault
  • Azure AI-diensten
  • Azure AI Search (voorheen Cognitive Search)
  • Azure SQL Server
  • Azure Data Factory
  • Azure Cosmos DB (alle subresourcetypen)
  • Azure Event Hubs
  • Azure Redis Cache - een cloudgebaseerde caching service
  • Azure Databricks
  • Azure Databank voor MariaDB
  • Azure Database voor PostgreSQL Single Server
  • Azure Database voor PostgreSQL Flexibele Server
  • Azure-database voor MySQL
  • Azure API Management
  • Application Insights (via PrivateLinkScopes)

Wanneer u een privé-eindpunt maakt, geeft u het resourcetype en de subresource op waarmee het eindpunt verbinding maakt. Sommige resources hebben meerdere typen en subresources. Zie wat een privé-eindpunt is voor meer informatie.

Wanneer u een privé-eindpunt maakt voor Azure Machine Learning-afhankelijkheidsresources, zoals Azure Storage, Azure Container Registry en Azure Key Vault, kan de resource zich in een ander Azure-abonnement bevinden. De resource moet zich echter in dezelfde tenant bevinden als de Azure Machine Learning-werkruimte.

Privé-eindpunten voor de werkruimte worden niet automatisch gemaakt. Ze worden alleen gemaakt wanneer de eerste berekening wordt gemaakt of wanneer het inrichten van een beheerd virtueel netwerk wordt afgedwongen. Zie Het netwerk handmatig inrichten voor meer informatie over het afdwingen van het inrichten van een beheerd virtueel netwerk.

Goedkeuring van privé-eindpunten

Als u privé-eindpuntverbindingen wilt maken in beheerde virtuele netwerken met behulp van Azure Machine Learning, moet de beheerde identiteit van de werkruimte, ongeacht of dit door het systeem is toegewezen of door de gebruiker toegewezen, machtigingen hebben om de privé-eindpuntverbindingen voor de doelbronnen goed te keuren. Voorheen werd deze toewijzing uitgevoerd via automatische roltoewijzingen door de Azure Machine Learning-service. Er zijn echter beveiligingsproblemen over de automatische roltoewijzing. Om de beveiliging te verbeteren, is deze roltoewijzing vanaf 30 april 2025 niet automatisch.

U wordt aangeraden de rol Goedkeurdiger voor Netwerkverbindingen van Azure AI Enterprise toe te wijzen, of een aangepaste rol met de benodigde machtigingen voor privé-eindpuntverbindingen voor de doelresourcetypen. Als u wilt toestaan dat Azure Machine Learning-services privé-eindpuntverbindingen met de doel-Azure-resources goedkeuren, verleent u deze rol aan de beheerde identiteit van de Azure Machine Learning-werkruimte.

Hier volgt de lijst met doelresource-typen voor privé-eindpunten die gedekt zijn door de rol van Goedkeurder voor Azure AI Enterprise-netwerkverbindingen:

  • Azure Application Gateway
  • Azure Monitor
  • Azure AI Search
  • Event Hubs
  • Azure SQL Database
  • Azure Storage
  • Azure Machine Learning-werkruimte
  • Azure Machine Learning-register
  • Azure AI Foundry
  • Azure Key Vault
  • Azure Cosmos DB
  • Azure-database voor MySQL
  • Azure-database voor PostgreSQL
  • Azure AI-diensten
  • Azure Cache voor Redis
  • Containerregistratiesysteem
  • API-beheer

Om uitgaande regels voor privé-eindpunten te maken voor doelresourcetypen die niet onder de rol van goedkeurder voor netwerkverbindingen van Azure AI Enterprise vallen, wordt een aangepaste, beperkt gescopeerde rol aanbevolen. De regel moet de acties definiëren die nodig zijn om privé-eindpuntverbindingen voor de doelresourcetypen goed te keuren. Voorbeelden van dergelijke resourcetypen zijn Azure Data Factory, Azure Databricks en Azure Function-apps.

Om uitgaande regels voor privé-eindpunten te maken voor standaard werkruimtebronnen, worden de vereiste machtigingen automatisch gedekt door de roltoewijzingen die tijdens het maken van de werkruimte zijn toegekend, waardoor er geen verdere actie nodig is.

Selecteer een Azure Firewall-versie voor alleen goedgekeurde uitgaande verbindingen

Er wordt een Azure Firewall geïmplementeerd als er een uitgaande FQDN-regel wordt gemaakt in de alleen goedgekeurde uitgaande modus. De kosten voor de Azure Firewall zijn opgenomen in uw facturering. Standaard wordt er een Standard-versie van AzureFirewall gemaakt. U kunt desgewenst een Basic-versie gebruiken. U kunt de gebruikte firewallversie wijzigen. Als u wilt weten welke versie het beste voor u is, gaat u naar De juiste Versie van Azure Firewall kiezen.

Belangrijk

De firewall wordt pas gemaakt als u een uitgaande FQDN-regel toevoegt. Zie Prijzen van Azure Firewall en bekijk prijzen voor de standaardversie voor meer informatie over prijzen. Filteren op basis van URL's wordt alleen ondersteund met Premium SKU Azure Firewall, niet met Basic of Standard SKU Azure Firewall. Beheerd virtueel netwerk biedt geen ondersteuning voor Premium SKU Azure Firewall.

Nadat u de alleen goedgekeurde uitgaande modus toestaat, verschijnt er een optie om de Azure Firewall-versie (SKU) te selecteren. Selecteer Standard om de standaardversie of Basic te gebruiken om de basisversie te gebruiken. Selecteer Opslaan om uw configuratie op te slaan.

Als u de firewallversie van de CLI wilt configureren, gebruikt u een YAML-bestand en geeft u het firewall_skuop. In het volgende voorbeeld ziet u een YAML-bestand waarmee de firewall-SKU wordt ingesteld op basic:

name: test-ws
resource_group: test-rg
location: eastus2 
managed_network:
  isolation_mode: allow_only_approved_outbound
  outbound_rules:
  - category: required
    destination: 'contoso.com'
    name: contosofqdn
    type: fqdn
  firewall_sku: basic
tags: {}

Als u de firewallversie wilt configureren vanuit de Python SDK, stelt u de firewall_sku eigenschap van het ManagedNetwork object in. In het volgende voorbeeld ziet u hoe u de firewall-SKU instelt op basic:

network = ManagedNetwork(isolation_mode=IsolationMode.ALLOW_INTERNET_OUTBOUND,
                         firewall_sku='basic')

Prijzen

De functie beheerd virtueel netwerk van Azure Machine Learning is gratis. Er worden echter kosten in rekening gebracht voor de volgende resources die worden gebruikt door het beheerde virtuele netwerk:

  • Azure Private Link: privé-eindpunten die worden gebruikt om communicatie tussen het beheerde virtuele netwerk en Azure-resources te beveiligen, is afhankelijk van Azure Private Link. Bekijk Azure Private Link prijzen voor meer informatie over prijzen.

  • Uitgaande FQDN-regels: uitgaande FQDN-regels worden geïmplementeerd met behulp van Azure Firewall. Als u uitgaande FQDN-regels gebruikt, worden de kosten voor Azure Firewall toegevoegd aan uw facturering. Standaard wordt een standaardversie van Azure Firewall gebruikt. Zie Een Azure Firewall-versie selecteren voor meer informatie over het selecteren van de basisversie.

    Belangrijk

    De firewall wordt pas gemaakt als u een uitgaande FQDN-regel toevoegt. Zie Prijzen van Azure Firewall en bekijk prijzen voor de standaardversie voor meer informatie over prijzen.

Beperkingen

  • Zodra u beheerde isolatie van virtuele netwerken van uw werkruimte hebt ingeschakeld (uitgaand internet toestaan of alleen goedgekeurd uitgaand toestaan), kunt u deze niet uitschakelen.
  • Beheerd virtueel netwerk maakt gebruik van een privé-eindpuntverbinding voor toegang tot uw persoonlijke resources. U kunt geen privé-eindpunt en een service-eindpunt tegelijk hebben voor uw Azure-resources, zoals een opslagaccount. Wij adviseren u om privé-eindpunten in alle scenario's te gebruiken.
  • Het beheerde virtuele netwerk wordt verwijderd wanneer de werkruimte wordt verwijderd.
  • Zorg ervoor dat er geen bereikvergrendelingen zijn voor de Azure Machine Learning-resources en -resourcegroep. Interne bewerkingen met betrekking tot het beheerde virtuele netwerk kunnen worden geblokkeerd.
  • Beveiliging tegen gegevensexfiltratie wordt automatisch ingeschakeld voor de enige goedgekeurde uitgaande modus. Als u andere uitgaande regels toevoegt, zoals FQDN's, kan Microsoft niet garanderen dat u bent beveiligd tegen gegevensexfiltratie naar die uitgaande bestemmingen.
  • Het maken van een rekencluster in een andere regio dan de werkruimte wordt niet ondersteund wanneer u een beheerd virtueel netwerk gebruikt.
  • Kubernetes en gekoppelde VM's worden niet ondersteund in een door Azure Machine Learning beheerd virtueel netwerk.
  • Door uitgaande FQDN-regels te gebruiken, worden de kosten van het beheerde virtuele netwerk verhoogd omdat FQDN-regels Gebruikmaken van Azure Firewall. Ga voor meer informatie naar Prijzen.
  • Uitgaande FQDN-regels ondersteunen alleen poorten 80 en 443.
  • Als uw rekenproces zich in een beheerd netwerk bevindt en niet is geconfigureerd voor een openbaar IP-adres, gebruikt u de opdracht az ml compute connect-ssh om er verbinding mee te maken met behulp van SSH.
  • Wanneer u een beheerd virtueel netwerk gebruikt, kunt u geen rekenresources implementeren in uw aangepaste virtuele netwerk. Rekenresources kunnen alleen worden gemaakt in het beheerde virtuele netwerk.
  • Als uw beheerde netwerk is geconfigureerd om alleen goedgekeurd uitgaand verkeer toe te staan, kunt u geen FQDN-regel gebruiken voor toegang tot Azure Storage-accounts. U moet in plaats daarvan een privé-eindpunt gebruiken.
  • Zorg ervoor dat door Microsoft beheerde privé-eindpunten die zijn gemaakt voor het beheerde virtuele netwerk in uw aangepaste beleid toestaan.

Migratie van rekenresources

Als u een bestaande werkruimte hebt en het beheerde virtuele netwerk hiervoor wilt inschakelen, is er momenteel geen ondersteund migratiepad voor bestaande beheerde rekenresources. U moet alle bestaande beheerde rekenresources verwijderen en deze opnieuw maken nadat u het beheerde virtuele netwerk hebt ingeschakeld. De volgende lijst bevat de rekenresources die moeten worden verwijderd en opnieuw moeten worden gemaakt:

  • Rekencluster
  • Rekeninstantie
  • Beheerde online-eindpunten

Volgende stappen