Isolation verwalteter virtueller Netzwerke auf Arbeitsbereichsebene

GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)

Azure Machine Learning unterstützt die Isolation verwalteter virtueller Netzwerke (VNets). Die Isolation verwalteter VNets optimiert und automatisiert die Konfiguration Ihrer Netzwerkisolation mit einem integrierten verwalteten Azure Machine Learning-VNet auf Arbeitsbereichsebene. Das verwaltete VNet sichert Ihre verwalteten Azure Machine Learning-Ressourcen, z. B. Computeinstanzen, Computecluster, serverlose Berechnung und verwaltete Onlineendpunkte.

Das Sichern Ihres Arbeitsbereichs mit einem verwalteten Netzwerk ermöglicht die Netzwerkisolation für ausgehenden Zugriff vom Arbeitsbereich und verwaltete Berechnungen. Ein virtuelles Azure-Netzwerk, das Sie erstellen und verwalten, wird verwendet, um eingehenden Zugriff auf den Arbeitsbereich bereitzustellen. Beispielsweise wird ein privater Endpunkt für den Arbeitsbereich in Ihrem virtuellen Azure-Netzwerk erstellt. Alle Clients, die eine Verbindung mit dem virtuellen Netzwerk herstellen, können über den privaten Endpunkt auf den Arbeitsbereich zugreifen. Wenn Aufträge auf verwalteten Computerresources ausgeführt werden, schränkt das verwaltete Netzwerk den Zugriff der Computerresource ein.

Architektur des verwalteten virtuellen Netzwerks

Wenn Sie die verwaltete Isolation virtueller Netzwerke aktivieren, wird ein verwaltetes VNet für den Arbeitsbereich erstellt. Dieses verwaltete VNet wird automatisch von verwalteten Computeressourcen für den Arbeitsbereich verwendet. Das verwaltete VNet kann private Endpunkte für Azure-Ressourcen verwenden, die von Ihrem Arbeitsbereich genutzt werden (beispielsweise Azure Storage, Azure Key Vault und Azure Container Registry).

Es gibt zwei verschiedene Konfigurationsmodi für ausgehenden Datenverkehr aus dem verwalteten VNet:

Tipp

Unabhängig vom verwendeten ausgehenden Modus kann an Azure-Ressourcen gerichteter Datenverkehr für die Verwendung eines privaten Endpunkts konfiguriert werden. Sie können z. B. den gesamten ausgehenden Datenverkehr in das Internet zulassen, aber die Kommunikation mit Azure-Ressourcen einschränken, indem Sie Ausgangsregeln für diese Ressourcen hinzufügen.

Ausgehender Modus BESCHREIBUNG Szenarien
Ausgehenden Internetdatenverkehr zulassen Lassen Sie den gesamten ausgehenden Internetdatenverkehr des verwalteten VNet zu. Es empfiehlt sich der uneingeschränkte Zugriff auf Ressourcen für maschinelles Lernen im Internet, z. B. Python-Pakete oder vortrainierte Modelle.1
Nur genehmigten ausgehenden Datenverkehr zulassen Ausgehender Datenverkehr wird durch Angabe von Diensttags zugelassen. * Sie sollten das Risiko der Datenexfiltration minimieren, aber Sie müssen alle erforderlichen Artefakte des maschinellen Lernens in Ihrer privaten Umgebung vorbereiten.
* Sie sollten den ausgehenden Zugriff auf eine genehmigte Liste von Diensten, Diensttags oder FQDNs konfigurieren.
Disabled Der ein- und ausgehende Datenverkehr ist nicht eingeschränkt, oder Sie verwenden Ihr eigenes Azure-VNet, um Ressourcen zu schützen. Sie benötigen öffentliche ein- und ausgehende Daten im Arbeitsbereich, oder Sie behandeln die Netzwerkisolation mit Ihrem eigenen Azure-VNet.

1: Sie können Ausgangsregeln im Modus Nur genehmigten ausgehenden Datenverkehr zulassen verwenden und damit dasselbe Ergebnis wie im Modus „Ausgehenden Internetdatenverkehr zulassen“ erzielen. Folgende Unterschiede bestehen:

  • Sie müssen Regeln für jede ausgehende Verbindung hinzufügen, die Sie zulassen müssen.
  • Das Hinzufügen von FQDN-Ausgangsregeln erhöht Ihre Kosten, da dieser Regeltyp Azure Firewall verwendet. Weitere Informationen finden Sie unter Preise.
  • Die Standardregeln für Nur genehmigten ausgehenden Datenverkehr zulassen sind so konzipiert, dass das Risiko einer Datenexfiltration minimiert wird. Alle Ausgangsregeln, die Sie hinzufügen, können das Risiko erhöhen.

Das verwaltete VNet ist mit den erforderlichen Standardregeln vorkonfiguriert. Es ist auch für Verbindungen mit privaten Endpunkten Ihres Arbeitsbereichs, dem Standardspeicher des Arbeitsbereichs, der Containerregistrierung und dem Schlüsseltresor konfiguriert, wenn diese als privat konfiguriert sind oder der Arbeitsbereichsisolationsmodus so festgelegt wurde, dass nur genehmigter ausgehender Datenverkehr zugelassen wird. Nachdem Sie den Isolationsmodus ausgewählt haben, müssen Sie nur noch weitere Anforderungen für ausgehenden Datenverkehr berücksichtigen, die ggf. hinzugefügt werden müssen.

Das folgende Diagramm zeigt ein verwaltetes VNet, das mit Ausgehenden Internetdatenverkehr zulassen konfiguriert ist:

Abbildung der für ausgehenden Internetzugriff konfigurierten Isolation verwalteter VNets

Das folgende Diagramm zeigt ein verwaltetes VNet, das mit Nur genehmigten ausgehenden Datenverkehr zulassen konfiguriert ist:

Hinweis

In dieser Konfiguration werden der vom Arbeitsbereich verwendete Speicher, der Schlüsseltresor und die Containerregistrierung als privat gekennzeichnet. Da sie als privat gekennzeichnet sind, wird ein privater Endpunkt für die Kommunikation mit ihnen verwendet.

Abbildung der für „nur genehmigtes ausgehendes Internet zulassen“ konfigurierten verwalteten VNet-Isolation

Hinweis

Sobald ein verwalteter VNet-Arbeitsbereich so konfiguriert ist, dass ausgehender Internetdatenverkehr zulässig ist, kann der Arbeitsbereich nicht auf deaktiviert umkonfiguriert werden. Ähnlich verhält es sich, sobald ein verwalteter VNet-Arbeitsbereich so konfiguriert ist, dass nur genehmigter ausgehender Datenverkehr zulässig ist, kann der Arbeitsbereich nicht neu konfiguriert werden, um ausgehenden Internetdatenverkehr zuzulassen. Beachten Sie dies beim Auswählen des Isolationsmodus für ein verwaltetes VNet in Ihrem Arbeitsbereich.

Azure Machine Learning Studio

Wenn Sie das integrierte Notebook verwenden oder Datasets im Standardspeicherkonto aus Studio erstellen möchten, benötigt Ihr Client Zugriff auf das Standardspeicherkonto. Erstellen Sie einen privaten Endpunkt oder einen Dienstendpunkt für das Standardspeicherkonto in dem Azure Virtual Network, das von den Clients verwendet wird.

Ein Teil von Azure Machine Learning Studio wird lokal im Webbrowser des Clients ausgeführt und kommuniziert direkt mit dem Standardspeicher für den Arbeitsbereich. Durch das Erstellen eines privaten Endpunkts oder Dienstendpunkts (für das Standardspeicherkonto) im Client-VNet wird sichergestellt, dass der Client mit dem Speicherkonto kommunizieren kann.

Weitere Informationen zum Erstellen eines privaten Endpunkts oder Dienstendpunkts finden Sie in den Artikeln Herstellen einer privaten Verbindung mit einem Speicherkonto und Dienstendpunkte.

Gesicherte zugeordnete Ressourcen

Wenn Sie dem virtuellen Netzwerk die folgenden Dienste mithilfe eines Dienstendpunkts oder eines privaten Endpunkts (Deaktivieren des öffentlichen Zugriffs) hinzufügen, ermöglichen Sie es vertrauenswürdigen Microsoft-Diensten, auf die folgenden Dienste zuzugreifen:

Dienst Endpunktinformationen Zulassen vertrauenswürdiger Informationen
Azure Key Vault Dienstendpunkt
Privater Endpunkt
Erlauben der Umgehung dieser Firewall für vertrauenswürdige Microsoft-Dienste
Azure Storage-Konto Dienst- und privater Endpunkt
Privater Endpunkt
Gewähren des Zugriffs über Azure-Ressourceninstanzen
oder
Gewähren des Zugriffs auf vertrauenswürdige Azure-Dienste
Azure Container Registry Privater Endpunkt Zulassen vertrauenswürdiger Dienste

Voraussetzungen

Stellen Sie vor dem Ausführen der Schritte in diesem Artikel sicher, dass Sie über die folgenden erforderlichen Komponenten verfügen:

  • Ein Azure-Abonnement. Wenn Sie nicht über ein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen. Probieren Sie die kostenlose oder kostenpflichtige Version von Azure Machine Learning aus.

  • Der Microsoft.Network-Ressourcenanbieter muss für Ihr Azure-Abonnement registriert sein. Dieser Ressourcenanbieter wird vom Arbeitsbereich beim Erstellen privater Endpunkte für das verwaltete virtuelle Netzwerk verwendet.

    Weitere Informationen zum Registrieren eines Ressourcenanbieters finden Sie unter Beheben von Fehlern bei der Ressourcenanbieterregistrierung.

  • Die Azure-Identität, die Sie beim Bereitstellen eines verwalteten Netzwerks verwenden, erfordert die folgenden azure role-based access control (Azure RBAC)- Aktionen zum Erstellen privater Endpunkte:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • Die Azure CLI und die ml-Erweiterung der Azure CLI. Weitere Informationen finden Sie unter Installieren, Einrichten und Verwenden der CLI (v2).

    Tipp

    Verwaltete Azure Machine Learning-VNets wurden am 23. Mai 2023 eingeführt. Wenn Sie über eine ältere Version der ML-Erweiterung verfügen, muss sie für die Beispiele in diesem Artikel möglicherweise aktualisiert werden. Verwenden Sie zum Aktualisieren der Erweiterung den folgenden Azure CLI-Befehl:

    az extension update -n ml
    
  • In den CLI-Beispielen in diesem Artikel wird davon ausgegangen, dass Sie die Bash-Shell (oder eine kompatible Shell) verwenden, beispielsweise über ein Linux-System oder ein Windows-Subsystem für Linux.

  • In den Azure CLI-Beispielen in diesem Artikel wird der Name des Arbeitsbereichs durch ws und der Name der Ressourcengruppe durch rg dargestellt. Ändern Sie diese Werte nach Bedarf, wenn Sie die Befehle mit Ihrem Azure-Abonnement verwenden.

Hinweis

Wenn Sie den UAI-Arbeitsbereich verwenden, stellen Sie sicher, dass Sie Ihrer Identität die Azure KI Enterprise Network Connection Approver-Rolle hinzufügen. Weitere Informationen finden Sie unter „Konfigurieren von verwalteten Identitäten für Azure-Ressourcen auf einem virtuellen Azure-Computer mithilfe der Azure-Befehlszeilenschnittstelle“ im Abschnitt Benutzerseitig zugewiesene verwaltete Identität.

Konfigurieren eines verwalteten virtuellen Netzwerks zum Zulassen von ausgehendem Internetdatenverkehr

Tipp

Das verwaltete VNet wird erst erstellt, nachdem eine Computeressource erstellt oder die Bereitstellung manuell gestartet wurde. Beim Zulassen der automatischen Erstellung kann es etwa 30 Minuten dauern, bis die erste Computeressource erstellt wird, da dabei auch das Netzwerk bereitgestellt wird. Weitere Informationen finden Sie unter Manuelles Bereitstellen des Netzwerks.

Wichtig

Wenn Sie serverlose Spark-Aufträge übermitteln möchten, müssen Sie die Bereitstellung manuell starten. Weitere Informationen finden Sie im Abschnitt Konfigurieren für serverlose Spark-Aufträge.

Wenn Sie ein verwaltetes VNet konfigurieren möchten, das ausgehende Internetkommunikation zulässt, können Sie entweder den Parameter --managed-network allow_internet_outbound oder eine YAML-Konfigurationsdatei mit folgenden Einträgen verwenden:

managed_network:
  isolation_mode: allow_internet_outbound

Sie können auch Ausgangsregeln für andere Azure-Dienste definieren, auf denen der Arbeitsbereich basiert. Diese Regeln definieren private Endpunkte, die es einer Azure-Ressource ermöglichen, sicher mit dem verwalteten VNet zu kommunizieren. Die folgende Regel zeigt das Hinzufügen eines privaten Endpunkts zu einer Azure-Blobressource.

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

Sie können ein verwaltetes VNet mithilfe des Befehls az ml workspace create oder mithilfe des Befehls az ml workspace update konfigurieren:

  • Erstellen eines neuen Arbeitsbereichs:

    Im folgenden Beispiel wird ein neuer Arbeitsbereich erstellt. Der Parameter --managed-network allow_internet_outbound konfiguriert ein verwaltetes VNet für den Arbeitsbereich:

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

    Wenn Sie stattdessen einen Arbeitsbereich mithilfe einer YAML-Datei erstellen möchten, können Sie den Parameter --file verwenden und die YAML-Datei angeben, die die Konfigurationseinstellungen enthält:

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

    Im folgenden YAML-Beispiel wird ein Arbeitsbereich mit einem verwalteten VNet definiert:

    name: myworkspace
    location: EastUS
    managed_network:
      isolation_mode: allow_internet_outbound
    
  • Aktiveren eines vorhandenen Arbeitsbereichs:

    Warnung

    Wenn Sie einen vorhandenen Arbeitsbereich aktualisieren möchten, damit er ein verwaltetes virtuelles Netzwerk verwendet, müssen Sie zunächst alle Computingressourcen für den Arbeitsbereich löschen. Das gilt für die Compute-Instanz, für den Computecluster und für verwaltete Online-Endpunkte.

    Im folgenden Beispiel wird ein vorhandener Arbeitsbereich aktualisiert. Der Parameter --managed-network allow_internet_outbound konfiguriert ein verwaltetes VNet für den Arbeitsbereich:

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

    Wenn Sie stattdessen einen vorhandenen Arbeitsbereich mithilfe der YAML-Datei aktualisieren möchten, können Sie den --file-Parameter verwenden und die YAML-Datei mit den Konfigurationseinstellungen angeben:

    az ml workspace update --file workspace.yaml --name ws --resource-group MyGroup
    

    Im folgenden YAML-Beispiel wird ein verwaltetes VNet für den Arbeitsbereich definiert. Außerdem zeigt es, wie Sie einer vom Arbeitsbereich verwendeten Ressource eine Verbindung mit einem privaten Endpunkt (in diesem Fall: ein privater Endpunkt für einen Blobspeicher) hinzufügen:

    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
    

Konfigurieren eines verwalteten virtuellen Netzwerks, sodass nur genehmigter ausgehender Datenverkehr zugelassen wird

Tipp

Das verwaltete VNet wird automatisch bereitgestellt, wenn Sie eine Computeressource erstellen. Beim Zulassen der automatischen Erstellung kann es etwa 30 Minuten dauern, bis die erste Computeressource erstellt wird, da dabei auch das Netzwerk bereitgestellt wird. Wenn Sie FQDN-Ausgangsregeln konfiguriert haben, verlängert die erste FQDN-Regel die Bereitstellungszeit um etwa 10 Minuten. Weitere Informationen finden Sie unter Manuelles Bereitstellen des Netzwerks.

Wichtig

Wenn Sie serverlose Spark-Aufträge übermitteln möchten, müssen Sie die Bereitstellung manuell starten. Weitere Informationen finden Sie im Abschnitt Konfigurieren für serverlose Spark-Aufträge.

Wenn Sie ein verwaltetes VNet konfigurieren möchten, das nur genehmigte ausgehende Kommunikation zulässt, können Sie entweder den Parameter --managed-network allow_only_approved_outbound oder eine YAML-Konfigurationsdatei mit folgenden Einträgen verwenden:

managed_network:
  isolation_mode: allow_only_approved_outbound

Sie können auch Ausgangsregeln definieren, um die genehmigte ausgehende Kommunikation zu definieren. Eine Ausgangsregel kann für die Typen service_tag, fqdn und private_endpoint erstellt werden. Die folgende Regel zeigt das Hinzufügen eines privaten Endpunkts zu einer Azure-Blobressource (Diensttag zu Azure Data Factory) und ein FQDN auf pypi.org:

Wichtig

  • Das Hinzufügen von ausgehendem Datenverkehr für ein Diensttag oder FQDN ist nur zulässig, wenn das verwaltete VNet für allow_only_approved_outbound konfiguriert ist.
  • Wenn Sie Ausgangsregeln hinzufügen, kann Microsoft keine Datenexfiltration garantieren.

Warnung

FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Weitere Informationen finden Sie unter Preise.

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

Sie können ein verwaltetes VNet mithilfe des Befehls az ml workspace create oder mithilfe des Befehls az ml workspace update konfigurieren:

  • Erstellen eines neuen Arbeitsbereichs:

    Im folgenden Beispiel wird der Parameter --managed-network allow_only_approved_outbound verwendet, um das verwaltete VNet zu konfigurieren:

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

    Mit der folgenden YAML-Datei wird ein Arbeitsbereich mit einem verwalteten VNet definiert:

    name: myworkspace
    location: EastUS
    managed_network:
      isolation_mode: allow_only_approved_outbound
    

    Wenn Sie einen Arbeitsbereich mit der YAML-Datei erstellen möchten, können Sie den Parameter --file verwenden:

    az ml workspace create --file workspace.yaml --resource-group rg --name ws
    
  • Aktualisieren eines vorhandenen Arbeitsbereichs

    Warnung

    Wenn Sie einen vorhandenen Arbeitsbereich aktualisieren möchten, damit er ein verwaltetes virtuelles Netzwerk verwendet, müssen Sie zunächst alle Computingressourcen für den Arbeitsbereich löschen. Das gilt für die Compute-Instanz, für den Computecluster und für verwaltete Online-Endpunkte.

    Im folgenden Beispiel wird der Parameter --managed-network allow_only_approved_outbound verwendet, um das verwaltete VNet für einen bereits vorhandenen Arbeitsbereich zu konfigurieren:

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

    Die folgende YAML-Datei definiert ein verwaltetes VNet für den Arbeitsbereich. Außerdem zeigt sie, wie dem verwalteten VNet genehmigter ausgehender Datenverkehr hinzugefügt wird. In diesem Beispiel wird eine Ausgangsregel für ein Diensttag hinzugefügt:

    Warnung

    FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden zusätzliche Gebühren für Azure Firewall abgerechnet. Weitere Informationen finden Sie unter Preise.

    name: myworkspace_dep
    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
    

Konfigurieren für serverlose Spark-Aufträge

Tipp

Die Schritte in diesem Abschnitt sind nur erforderlich, wenn Sie serverlose Spark-Aufträge übermitteln möchten. Wenn Sie keine serverlosen Spark-Aufträge übermitteln möchten, können Sie diesen Abschnitt überspringen.

Gehen Sie wie folgt vor, um serverlose Spark-Aufträge für das verwaltete VNet zu aktivieren:

  • Konfigurieren Sie ein verwaltetes VNet für den Arbeitsbereich, und fügen Sie einen ausgehenden privaten Endpunkt für das Azure Storage-Konto hinzu.
  • Stellen Sie das verwaltete VNet bereit, nachdem Sie es konfiguriert haben, und kennzeichnen Sie es, um Spark-Aufträge zuzulassen.
  1. Konfigurieren Sie einen ausgehenden privaten Endpunkt.

    Verwenden Sie eine YAML-Datei, um die Konfiguration des verwalteten VNet zu definieren und einen privaten Endpunkt für das Azure Storage-Konto hinzuzufügen. Legen Sie außerdem spark_enabled: true fest:

    Tipp

    Dieses Beispiel gilt für ein verwaltetes VNet, das mit isolation_mode: allow_internet_outbound zum Zulassen von Internetdatenverkehr konfiguriert wurde. Wenn Sie nur genehmigten ausgehenden Datenverkehr zulassen möchten, verwenden Sie 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
    

    Sie können eine YAML-Konfigurationsdatei mit dem Befehl az ml workspace update verwenden, indem Sie den Parameter --file und den Namen der YAML-Datei angeben. Der folgende Befehl aktualisiert beispielsweise einen vorhandenen Arbeitsbereich mithilfe einer YAML-Datei namens workspace_pe.yml:

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

    Hinweis

    Wenn Nur genehmigte Ausgänge zulassen aktiviert ist (isolation_mode: allow_only_approved_outbound), werden die in der Spark-Sitzungskonfiguration definierten Abhängigkeiten von conda-Paketen nicht installiert. Um dieses Problem zu beheben, laden Sie ein eigenständiges Python-Wheel ohne externe Abhängigkeiten in ein Azure Storage-Konto hoch und erstellen einen privaten Endpunkt für dieses Speicherkonto. Verwenden Sie den Pfad zum Python-Wheel als py_files-Parameter in Ihrem Spark-Auftrag. Das Festlegen einer FQDN-Ausgangsregel wird dieses Problem nicht umgehen, da die Weitergabe von FQDN-Regeln von Spark nicht unterstützt wird.

  2. Stellen Sie das verwaltete VNet bereit.

    Hinweis

    Wenn Ihr Arbeitsbereich bereits für einen öffentlichen Endpunkt konfiguriert wurde (z. B. Azure Virtual Network) und öffentlicher Netzwerkzugriff aktiviert wurde, müssen Sie ihn vor der Bereitstellung des verwalteten VNet deaktivieren. Wenn Sie beim Bereitstellen des verwalteten VNet den Zugriff auf öffentliche Netzwerke nicht deaktivieren, werden die privaten Endpunkte für den verwalteten Endpunkt möglicherweise nicht erfolgreich erstellt.

    Das folgende Beispiel zeigt, wie Sie mithilfe des --include-spark-Parameters ein verwaltetes VNet für serverlose Spark-Aufträge bereitstellen.

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

Manuelles Bereitstellen eines verwalteten VNet

Das verwaltete VNet wird automatisch bereitgestellt, wenn Sie eine Computeinstanz erstellen. Wenn Sie die automatische Bereitstellung verwenden, kann es etwa 30 Minuten dauern, bis die erste Computeinstanz erstellt wurde, da auch das Netzwerk bereitgestellt wird. Wenn Sie FQDN-Ausgangsregeln konfiguriert haben (nur im Modus „Nur genehmigten ausgehenden Datenverkehr zulassen“ verfügbar), verlängert die erste FQDN-Regel die Bereitstellungszeit um etwa 10 Minuten. Wenn Sie über eine große Anzahl von ausgehenden Regeln verfügen, die im verwalteten Netzwerk bereitgestellt werden, kann es länger dauern, bis die Bereitstellung abgeschlossen ist. Die erhöhte Bereitstellungszeit kann dazu führen, dass ihre erste Berechnungsinstanzerstellung zu einem Timeout führt.

Um die Wartezeit zu verringern und potenzielle Timeoutfehler zu vermeiden, empfehlen wir die manuelle Bereitstellung des verwalteten Netzwerks. Warten Sie dann, bis die Bereitstellung abgeschlossen ist, bevor Sie eine Computeinstanz erstellen.

Hinweis

Um eine Onlinebereitstellung zu erstellen, müssen Sie das verwaltete Netzwerk manuell bereitstellen oder zuerst eine Computeinstanz erstellen, die sie automatisch bereitstellen wird.

Das folgende Beispiel zeigt, wie ein verwaltetes VNet bereitgestellt wird.

Tipp

Wenn Sie serverlose Spark-Aufträge übermitteln möchten, fügen Sie den --include-spark-Parameter hinzu.

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

Um zu überprüfen, ob die Bereitstellung abgeschlossen ist, verwenden Sie den folgenden Befehl:

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

Konfigurieren der Imageerstellung

Wenn sich die Azure Container Registry-Instanz für Ihren Arbeitsbereich hinter einem VNet befindet, kann sie nicht verwendet werden, um Docker-Images direkt zu erstellen. Konfigurieren Sie stattdessen Ihren Arbeitsbereich so, dass ein Computecluster oder eine Compute-Instanz zum Erstellen von Images verwendet wird.

Wichtig

Der Computecluster, der zum Erstellen von Docker-Images verwendet wird, muss Zugriff auf die Paketrepositories haben, die zum Trainieren und Bereitstellen Ihrer Modelle verwendet werden. Wenn Ihr Netzwerk im Modus „Nur genehmigten ausgehenden Datenverkehr zulassen“ konfiguriert wurde, müssen Sie möglicherweise Regeln hinzufügen, die den Zugriff auf öffentliche Repositorys zulassen oder private Python-Pakete verwenden.

Wenn Sie einen Arbeitsbereich aktualisieren möchten, um Docker-Images mit einem Computecluster oder einer Compute-Instanz zu erstellen, verwenden Sie den Befehl az ml workspace update mit dem --image-build-compute-Parameter:

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

Verwalten von Ausgangsregeln

Verwenden Sie den folgenden Befehl, um die Ausgangsregeln für das verwaltete VNet für einen Arbeitsbereich aufzulisten:

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

Verwenden Sie den folgenden Befehl, um die Details einer Ausgangsregel für das verwaltete VNet anzuzeigen:

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

Verwenden Sie den folgenden Befehl, um eine Ausgangsregel aus dem verwalteten VNet zu entfernen:

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

Liste der erforderlichen Regeln

Tipp

Folgende Regeln werden dem verwalteten VNet automatisch hinzugefügt:

Private Endpunkte:

  • Wenn der Isolationsmodus für das verwaltete VNet Allow internet outbound lautet, werden Ausgangsregeln für private Endpunkte automatisch als erforderliche Regeln aus dem verwalteten VNet für den Arbeitsbereich und die zugehörigen Ressourcen mit deaktiviertem Zugriff auf das öffentliche Netzwerk erstellt (Schlüsseltresor, Speicherkonto, Containerregistrierung, Azure Machine Learning-Arbeitsbereich).
  • Wenn der Isolationsmodus für das verwaltete VNet Allow only approved outbound lautet, werden Ausgangsregeln für private Endpunkte automatisch als erforderliche Regeln aus dem verwalteten VNet für den Arbeitsbereich und die zugehörigen Ressourcen unabhängig vom Zugriffsmodus des öffentlichen Netzwerks für diese Ressourcen erstellt (Schlüsseltresor, Speicherkonto, Containerregistrierung, Azure Machine Learning Arbeitsbereich).

Diensttagregeln für ausgehenden Datenverkehr:

  • AzureActiveDirectory
  • AzureMachineLearning
  • BatchNodeManagement.region
  • AzureResourceManager
  • AzureFrontDoor.FirstParty
  • MicrosoftContainerRegistry
  • AzureMonitor

Diensttagregeln für eingehenden Datenverkehr:

  • AzureMachineLearning

Liste der szenariospezifischen Ausgangsregeln

Szenario: Zugreifen auf öffentliche Machine Learning-Pakete

Um die Installation von Python-Paketen für Training und Bereitstellung zuzulassen, fügen Sie ausgehende FQDN-Regeln zum Gestatten von Datenverkehr an die folgenden Hostnamen hinzu:

Warnung

FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Weitere Informationen finden Sie unter Preise.

Hinweis

Diese Liste ist nicht vollständig. Sie enthält nur die Hosts, die für die am häufigsten verwendeten Python-Ressourcen im Internet erforderlich sind. Wenn Sie z. B. Zugriff auf ein GitHub-Repository oder einen anderen Host benötigen, müssen Sie die erforderlichen Hosts für dieses Szenario ermitteln und hinzufügen.

Hostname Zweck
anaconda.com
*.anaconda.com
Wird verwendet, um Standardpakete zu installieren
*.anaconda.org Wird verwendet, um Repositorydaten abzurufen
pypi.org Wird zum Auflisten von Abhängigkeiten vom Standardindex verwendet, sofern vorhanden, und der Index wird nicht durch Benutzereinstellungen überschrieben. Wenn der Index überschrieben wird, müssen Sie auch *.pythonhosted.org zulassen.
pytorch.org
*.pytorch.org
Wird von einigen Beispielen verwendet, die auf PyTorch basieren.
*.tensorflow.org Wird von einigen Beispielen verwendet, die auf Tensorflow basieren.

Szenario: Verwenden von Visual Studio Code-Desktop oder -Web mit Compute-Instanz

Wenn Sie planen, Visual Studio Code mit Azure Machine Learning zu verwenden, fügen Sie ausgehende FQDN-Regeln hinzu, die den Datenverkehr an die folgenden Hosts zulassen:

Warnung

FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Weitere Informationen finden Sie unter Preise.

  • *.vscode.dev
  • vscode.blob.core.windows.net
  • *.gallerycdn.vsassets.io
  • raw.githubusercontent.com
  • *.vscode-unpkg.net
  • *.vscode-cdn.net
  • *.vscodeexperiments.azureedge.net
  • default.exp-tas.com
  • code.visualstudio.com
  • update.code.visualstudio.com
  • *.vo.msecnd.net
  • marketplace.visualstudio.com
  • vscode.download.prss.microsoft.com

Szenario: Verwenden von Batchendpunkten oder ParallelRunStep

Wenn Sie planen, Azure Machine Learning-Batchendpunkte für die Bereitstellung oder ParallelRunStep zu verwenden, fügen Sie ausgehende Regeln für private Endpunkte hinzu, die den Datenverkehr für die folgenden Unterressourcen für das Standardspeicherkonto zulassen:

  • queue
  • table
  • Privater Endpunkt für Azure KI Services
  • Privater Endpunkt für Azure KI Search

Szenario: Verwenden von HuggingFace-Modellen

Wenn Sie planen, HuggingFace-Modelle mit Azure Machine Learning zu verwenden, fügen Sie FQDN-Ausgangsregeln hinzu, die den Datenverkehr an die folgenden Hosts zulassen:

Warnung

FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Weitere Informationen finden Sie unter Preise.

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

Szenario: Aktivieren des Zugriffs von ausgewählten IP-Adressen

Wenn Sie den Zugriff von bestimmten IP-Adressen aktivieren möchten, verwenden Sie die folgenden Aktionen:

  1. Fügen Sie eine Regel für einen ausgehenden privaten Endpunkt hinzu, um Datenverkehr zum Azure Machine Learning-Arbeitsbereich zuzulassen. Dadurch können Compute-Instanzen, die im verwalteten virtuellen Netzwerk erstellt wurden, auf den Arbeitsbereich zugreifen.

    Tipp

    Sie können diese Regel während der Erstellung des Arbeitsbereichs nicht hinzufügen, da der Arbeitsbereich noch nicht vorhanden ist.

  2. Aktivieren Sie den Zugriff über das öffentliche Netzwerk auf den Arbeitsbereich. Weitere Informationen finden Sie unter Zugriff aus öffentlichen Netzwerken aktiviert.

  3. Fügen Sie Ihre IP-Adressen zur Firewall für Azure Machine Learning hinzu. Weitere Informationen finden Sie unter Aktivieren des Zugriffs nur aus IP-Adressbereichen.

    Hinweis

    Es werden nur IPv4-Adressen unterstützt.

Private Endpunkte

Private Endpunkte werden derzeit für die folgenden Azure-Dienste unterstützt:

  • Azure Machine Learning
  • Azure Machine Learning-Registrierungen
  • Azure Storage (alle Unterressourcentypen)
  • Azure Container Registry
  • Azure-Schlüsseltresor
  • Azure KI Services
  • Azure KI Search (ehemals Cognitive Search)
  • Azure SQL Server
  • Azure Data Factory
  • Azure Cosmos DB (alle Unterressourcentypen)
  • Azure Event Hubs
  • Azure Redis Cache
  • Azure Databricks
  • Azure Database for MariaDB
  • Azure Database for PostgreSQL Single Server
  • Azure Database for PostgreSQL – Flexibler Server
  • Azure Database for MySQL
  • Azure API Management

Wenn Sie einen privaten Endpunkt erstellen, geben Sie den Ressourcentyp und die Unterquelle an, mit der der Endpunkt eine Verbindung herstellt. Einige Ressourcen verfügen über mehrere Typen und Unterressourcen. Weitere Informationen finden Sie unter Was ist ein privater Endpunkt?.

Wenn Sie einen privaten Endpunkt für Azure Machine Learning-Abhängigkeitsressourcen wie Azure Storage, Azure Container Registry und Azure Key Vault erstellen, kann sich die Ressource in einem anderen Azure-Abonnement befinden. Die Ressource muss sich jedoch im selben Mandanten wie der Azure Machine Learning-Arbeitsbereich befinden.

Wichtig

Beim Konfigurieren privater Endpunkte für ein verwaltetes Azure Machine Learning-VNet werden die privaten Endpunkte nur erstellt, wenn die erste Computeressource erstellt wird oder wenn die Bereitstellung verwalteter VNets erzwungen wird. Weitere Informationen zum Erzwingen der Bereitstellung verwalteter VNets finden Sie unter Konfigurieren für serverlose Spark-Aufträge.

Preiskalkulation

Das Feature für verwaltete Azure Machine Learning-VNets ist kostenlos. Ihnen werden jedoch die folgenden Ressourcen in Rechnung gestellt, die vom verwalteten VNet verwendet werden:

  • Azure Private Link: Private Endpunkte, die zum Schützen der Kommunikation zwischen dem verwalteten VNet und Azure-Ressourcen verwendet werden, hängen von Azure Private Link ab. Weitere Informationen zur Preisgestaltung finden Sie unter Preise für Azure Private Link.

  • FQDN-Ausgangsregeln: FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Azure Firewall (Standard-SKU) wird von Azure Machine Learning bereitgestellt.

    Wichtig

    Die Firewall wird erst erstellt, wenn Sie eine ausgehende FQDN-Regel hinzufügen. Weitere Informationen zum Preis finden Sie unter Azure Firewall – Preise sowie bei den Preisen für die Standardversion.

Begrenzungen

  • Azure KI Studio unterstützt nicht die Verwendung Ihres eigenen virtuellen Azure-Netzwerks, um den Hub, das Projekt oder die Computeressourcen zu sichern. Sie können nur die verwaltete Netzwerkfunktion verwenden, um diese Ressourcen zu sichern.
  • Nachdem Sie die Isolation verwalteter VNETs Ihres Arbeitsbereichs aktiviert haben (entweder ausgehenden Internetdatenverkehr zulassen oder nur genehmigten ausgehenden Datenverkehr zulassen), können Sie sie nicht mehr deaktivieren.
  • Das verwaltete VNet verwendet eine Verbindung mit einem privaten Endpunkt, um auf Ihre privaten Ressourcen zuzugreifen. Sie können für Ihre Azure-Ressourcen (z. B. ein Speicherkonto) nicht gleichzeitig über einen privaten Endpunkt und über einen Dienstendpunkt verfügen. Es wird empfohlen, in allen Szenarien private Endpunkte zu verwenden.
  • Das verwaltete VNet wird gelöscht, wenn der Arbeitsbereich gelöscht wird.
  • Der Schutz vor Datenexfiltration wird automatisch für den einzigen genehmigten ausgehenden Modus aktiviert. Wenn Sie andere Ausgangsregeln hinzufügen, z. B. FQDNs, kann Microsoft nicht garantieren, dass Sie vor Datenexfiltration in diese ausgehenden Ziele geschützt sind.
  • Das Erstellen eines Computeclusters in einer anderen Region als der des Arbeitsbereichs wird bei Verwendung eines verwalteten VNet nicht unterstützt.
  • Kubernetes und angefügte VMs werden in einem verwalteten Azure Machine Learning-VNet nicht unterstützt.
  • Die Verwendung von FQDN-Ausgangsregeln erhöht die Kosten des verwalteten VNet, da FQDN-Regeln Azure Firewall verwenden. Weitere Informationen finden Sie unter Preise.
  • Ausgehende FQDN-Regeln unterstützen nur die Ports 80 und 443.
  • Wenn sich Ihre Computeinstanz in einem verwalteten Netzwerk befindet und nicht für eine öffentliche IP-Adresse konfiguriert ist, verwenden Sie den Befehl az ml compute connect-ssh, um über SSH eine Verbindung mit ihr herzustellen.
  • Wenn Sie verwaltetes VNET verwenden, können Sie keine Computeressourcen in Ihrem benutzerdefinierten Vnet bereitstellen. Computeressourcen können nur im verwalteten VNET erstellt werden.
  • Die verwaltete Netzwerkisolation kann über das verwaltete virtuelle Netzwerk keine private Verbindung mit den lokalen Ressourcen eines Benutzers herstellen. Eine Liste der unterstützten privaten Verbindungen finden Sie unter Private Endpunkte.
  • Wenn Ihr verwaltetes Netzwerk so konfiguriert ist, dass nur ausgehender Datenverkehr zugelassen ist, können Sie keine FQDN-Regel verwenden, um auf Azure Storage-Konten zuzugreifen. Sie müssen stattdessen einen privaten Endpunkt verwenden.

Migration von Computeressourcen

Wenn Sie über einen vorhandenen Arbeitsbereich verfügen und für diesen ein verwaltetes VNet aktivieren möchten, gibt es derzeit keinen unterstützten Migrationspfad für vorhandene verwaltete Computeressourcen. Sie müssen alle vorhandenen verwalteten Computeressourcen löschen und neu erstellen, nachdem Sie das verwaltete VNet aktiviert haben. Die folgende Liste enthält die Computeressourcen, die gelöscht und neu erstellt werden müssen:

  • Computecluster
  • Compute-Instanz
  • Verwaltete Onlineendpunkte

Nächste Schritte