Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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. Isolation verwalteter virtueller Netzwerke optimiert und automatisiert die Konfiguration Ihrer Netzwerkisolation mit einem integrierten verwalteten virtuellen Azure Machine Learning-Netzwerk auf Arbeitsbereichsebene. Das verwaltete virtuelle Netzwerk sichert Ihre verwalteten Azure Machine Learning-Ressourcen, z. B. Compute-Instanzen, Computecluster, serverloses Computing 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 Isolation verwalteter virtueller Netzwerke aktivieren, wird ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich erstellt. Verwaltete Computeressourcen, die Sie für den Arbeitsbereich erstellen, verwenden automatisch dieses verwaltete virtuelle Netzwerk. Das verwaltete virtuelle Netzwerk kann private Endpunkte für Azure-Ressourcen verwenden, die von Ihrem Arbeitsbereich verwendet werden (z. B. Azure Storage, Azure Key Vault und Azure Container Registry).
Es gibt zwei verschiedene Konfigurationsmodi für ausgehenden Datenverkehr aus dem verwalteten virtuellen Netzwerk:
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 ausgehende Regeln für die Ressourcen hinzufügen.
Ausgehender Modus | BESCHREIBUNG | Szenarien |
---|---|---|
Ausgehenden Internetdatenverkehr zulassen | Lassen Sie den gesamten ausgehenden Internetdatenverkehr des verwalteten virtuellen Netzwerks 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. |
Arbeitsunfähig | 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 virtuellen Azure-Netzwerk. |
- Sie können ausgehende Regeln mit zulassen, sodass nur genehmigter ausgehender Modus dasselbe Ergebnis wie die Verwendung von "Ausgehendes Internet zulassen" erreicht wird. 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, erhöhen möglicherweise das Risiko.
Das verwaltete virtuelle Netzwerk ist mit 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 Sie möglicherweise hinzufügen müssen.
Das folgende Diagramm zeigt ein verwaltetes virtuelles Netzwerk, das für den ausgehenden Internetzugriff konfiguriert ist:
Das folgende Diagramm zeigt ein verwaltetes virtuelles Netzwerk, das für nur genehmigtes ausgehendes Internet 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.
Hinweis
Sobald ein verwalteter VNet-Arbeitsbereich so konfiguriert ist, dass das Internet ausgehend zugelassen wird, kann der Arbeitsbereich nicht so konfiguriert werden, dass er deaktiviert wird. Entsprechend kann ein verwalteter VNet-Arbeitsbereich nicht neu konfiguriert werden, um internetausgehenden Datenverkehr zuzulassen, wenn er so eingestellt ist, dass er nur genehmigten ausgehenden Datenverkehr zulässt.
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.
Wenn der öffentliche Zugriff auf das mit dem Arbeitsbereich verknüpfte Azure-Speicherkonto deaktiviert ist, stellen Sie sicher, dass der private Endpunkt, der im virtuellen Client-Netzwerk erstellt wurde, die Rolle Leser für Ihre vom Arbeitsbereich verwaltete Identität erhält. Dies gilt sowohl für private Endpunkte für Blogs als auch für Dateispeicher. Die Rolle ist für den privaten Endpunkt, der vom verwalteten virtuellen Netzwerk erstellt wurde, nicht erforderlich.
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 möglicherweise für die Beispiele in diesem Artikel 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 durchrg
dargestellt. Ändern Sie diese Werte nach Bedarf, wenn Sie die Befehle mit Ihrem Azure-Abonnement verwenden.
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
Das Azure Machine Learning Python SDK v2. Weitere Informationen zu diesem SDK finden Sie unter Azure ML-Paketclientbibliothek für Python – Version 1.7.0.
Tipp
Verwaltete Azure Machine Learning-VNets wurden am 23. Mai 2023 eingeführt. Wenn Sie eine ältere Version des SDK installiert haben, muss sie möglicherweise für die Beispiele in diesem Artikel aktualisiert werden. Verwenden Sie den folgenden Befehl, um das SDK zu aktualisieren:
pip install --upgrade azure-ai-ml azure-identity
In den Beispielen in diesem Artikel wird davon ausgegangen, dass Ihr Code mit dem folgenden Python-Code beginnt. Dieser Code importiert die Klassen, die beim Erstellen eines Arbeitsbereichs mit verwaltetem virtuellen Netzwerk erforderlich sind, legt Variablen für Ihr Azure-Abonnement und Ihre Ressourcengruppe fest und erstellt den ML-Client (
ml_client
):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)
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
Um private Endpunktverbindungen in verwalteten virtuellen Netzwerken mithilfe von Azure Machine Learning einzurichten, muss die verwaltete Identität des Arbeitsbereichs, ob vom System zugewiesen oder vom Benutzer zugewiesen, und die Benutzeridentität, die die Erstellung des privaten Endpunkts initiiert, über Berechtigungen verfügen, um die Verbindungen des privaten Endpunkts für die Zielressourcen zu genehmigen. Nach dem 30. April 2025 werden Berechtigungen nicht automatisch der verwalteten Identität erteilt und müssen manuell zugewiesen werden.
Microsoft empfiehlt, die Rolle des Azure AI Enterprise Network Connection Approver der verwalteten Identität zuzuweisen. Die folgende Liste enthält die Ressourcentypen für private Endpunkte, die von der Azure AI Enterprise Network Connection Approver-Rolle abgedeckt werden:
- Azure-Anwendungsgateway
- Azure Monitor
- Azure KI-Suche
- Ereignis-Hubs
- Azure SQL-Datenbank
- Azure Storage
- Azure Machine Learning-Arbeitsbereich
- Azure Machine Learning-Registrierung
- Azure AI Foundry
- Azure-Schlüsseltresor
- Azure Cosmos DB (ein Microsoft-Datenbankdienst)
- Azure-Datenbank für MySQL
- Azure-Datenbank für PostgreSQL
- Azure KI-Services
- Azure Cache für Redis
- Containerregistrierung
- API-Verwaltung
Wenn Sie stattdessen eine benutzerdefinierte Rolle erstellen möchten, sehen Sie sich die Rolle "Azure AI Enterprise Network Connection Approver" an, um die spezifischen Aktionen für jeden Ressourcentyp hinzuzufügen.
Um ausgehende private Endpunktregeln für Ressourcentypen zu erstellen, die nicht von der Azure AI Enterprise Network Connection Approver-Rolle abgedeckt werden, wird eine benutzerdefinierte, eingeschränkte Rolle empfohlen. Die Rolle sollte mit den Aktionen definiert werden, die erforderlich sind, um private Endpunktverbindungen für die Zielressourcentypen zu genehmigen. Beispiele für solche Ressourcentypen sind Azure Data Factory, Azure Databricks und Azure Function Apps.
Um ausgehende Private Endpoint-Regeln für Standard-Arbeitsbereichsressourcen zu erstellen, werden die erforderlichen Berechtigungen automatisch von den während der Erstellung des Arbeitsbereichs gewährten Rollenzuweisungen abgedeckt, sodass keine weitere Aktion erforderlich ist.
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. Wenn Sie die automatische Erstellung zulassen, kann es etwa 30 Minuten dauern, bis die erste Computeressource erstellt wird, da sie auch das Netzwerk bereitstellen. 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 virtuelles Netzwerk 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 virtuellen Netzwerk 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 virtuelles Netzwerk mithilfe des Befehls az ml workspace create
oder az ml workspace update
konfigurieren:
Im folgenden Beispiel wird ein neuer Arbeitsbereich erstellt. Der Parameter --managed-network allow_internet_outbound
konfiguriert ein verwaltetes virtuelles Netzwerk 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
Das folgende YAML-Beispiel definiert einen Arbeitsbereich mit einem verwalteten virtuellen Netzwerk:
name: myworkspace
location: EastUS
managed_network:
isolation_mode: allow_internet_outbound
Wenn Sie ein verwaltetes virtuelles Netzwerk konfigurieren möchten, das ausgehende Internetkommunikation zulässt, können Sie die Klasse ManagedNetwork
verwenden, um ein Netzwerk mit IsolationMode.ALLOW_INTERNET_OUTBOUND
zu definieren. Anschließend können Sie das Objekt ManagedNetwork
verwenden, um einen neuen Arbeitsbereich zu erstellen oder einen bereits vorhandenen Arbeitsbereich zu aktualisieren. Wenn Sie Ausgangsregeln für Azure-Dienste definieren möchten, die der Arbeitsbereich benötigt, können Sie die Klasse PrivateEndpointDestination
verwenden, um einen neuen privaten Endpunkt für den Dienst zu definieren.
Im folgenden Beispiel wird ein neuer Arbeitsbereich mit dem Namen myworkspace
sowie mit einer Ausgangsregel namens myrule
erstellt, die einen privaten Endpunkt für einen Azure-Blobspeicher hinzufügt:
# 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()
Melden Sie sich am Azure-Portal an und wählen Sie im Menü Ressource erstellen die Option Azure Machine Learning aus.
Geben Sie die erforderlichen Informationen auf der Registerkarte Grundlagen an.
Wählen Sie auf der Registerkarte Netzwerk die Option Privat mit ausgehendem Internetdatenverkehr aus.
Um eine Ausgangsregel hinzuzufügen, wählen Sie auf der Registerkarte Netzwerk die Option Benutzerdefinierte Ausgangsregeln hinzufügen aus. Geben Sie auf der Randleiste Arbeitsbereichsausgangsregeln die folgenden Informationen an:
- Regelname: Ein Name für die Regel. Der Name muss für diesen Arbeitsbereich eindeutig sein.
- Zieltyp: Der private Endpunkt ist die einzige Option, wenn die Netzwerkisolation privat mit ausgehendem Internet ist. Das verwaltete virtuelle Azure Machine Learning-Netzwerk unterstützt nicht die Erstellung eines privaten Endpunkts für alle Azure-Ressourcentypen. Eine Liste der unterstützten Ressourcen finden Sie im Abschnitt Private Endpunkte.
- Abonnement: Das Abonnement, das die Azure-Ressource enthält, für die Sie einen privaten Endpunkt hinzufügen möchten.
- Ressourcengruppe: Die Ressourcengruppe, die die Azure-Ressource enthält, für die Sie einen privaten Endpunkt hinzufügen möchten.
- Ressourcentyp: Der Typ der Azure-Ressource.
- Ressourcenname: Der Namen der Azure-Ressource.
- Unterressource: Die Unterressource des Azure-Ressourcentyps.
- Spark aktiviert: Wählen Sie diese Option aus, wenn Sie serverlose Spark-Aufträge für den Arbeitsbereich aktivieren möchten. Diese Option ist nur verfügbar, wenn der Ressourcentyp Azure Storage ist.
Wählen Sie Speichern aus, um die Regel zu speichern. Sie können weiterhin Benutzerdefinierte Ausgangsregeln hinzufügen verwenden, um Regeln hinzuzufügen.
Erstellen Sie den Arbeitsbereich wie gewohnt.
Konfigurieren eines verwalteten virtuellen Netzwerks, sodass nur genehmigter ausgehender Datenverkehr zugelassen wird
Tipp
Das verwaltete VNet wird automatisch bereitgestellt, wenn Sie eine Computeressource erstellen. Wenn Sie die automatische Erstellung zulassen, kann es etwa 30 Minuten dauern, bis die erste Computeressource erstellt wird, da sie auch das Netzwerk bereitstellen. 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 virtuelles Netzwerk 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 virtuelles Netzwerk mithilfe des Befehls az ml workspace create
oder az ml workspace update
konfigurieren:
Im folgenden Beispiel wird der Parameter --managed-network allow_only_approved_outbound
verwendet, um das verwaltete virtuelle Netzwerk zu konfigurieren:
az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound
Die folgende YAML-Datei definiert einen Arbeitsbereich mit einem verwalteten virtuellen Netzwerk:
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
Wenn Sie ein verwaltetes virtuelles Netzwerk konfigurieren möchten, das nur ausgehende Kommunikation zulässt, können Sie die Klasse ManagedNetwork
verwenden, um ein Netzwerk mit IsolationMode.ALLOw_ONLY_APPROVED_OUTBOUND
zu definieren. Anschließend können Sie das Objekt ManagedNetwork
verwenden, um einen neuen Arbeitsbereich zu erstellen oder einen bereits vorhandenen Arbeitsbereich zu aktualisieren. Verwenden Sie die folgenden Klassen, um Ausgangsregeln zu definieren:
Bestimmungsort | Klasse |
---|---|
Azure-Dienst, auf dem der Arbeitsbereich basiert | PrivateEndpointDestination |
Azure-Diensttag | ServiceTagDestination |
Vollqualifizierter Domänenname (FQDN) | FqdnDestination |
Im folgenden Beispiel wird ein neuer Arbeitsbereich namens myworkspace
mit mehreren Ausgangsregeln erstellt:
myrule
: Fügt einen privaten Endpunkt für einen Azure-Blobspeicher hinzu.datafactory
: Fügt eine Diensttagregel für die Kommunikation mit Azure Data Factory hinzu.
Wichtig
- Das Hinzufügen von ausgehendem Datenverkehr für ein Diensttag oder FQDN ist nur zulässig, wenn das verwaltete VNet für
IsolationMode.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.
# 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()
Melden Sie sich am Azure-Portal an und wählen Sie im Menü Ressource erstellen die Option Azure Machine Learning aus.
Geben Sie die erforderlichen Informationen auf der Registerkarte Grundlagen an.
Wählen Sie auf der Registerkarte Netzwerk die Option Privat mit bestätigtem Internetdatenverkehr aus.
Um eine Ausgangsregel hinzuzufügen, wählen Sie auf der Registerkarte Netzwerk die Option Benutzerdefinierte Ausgangsregeln hinzufügen aus. Geben Sie auf der Randleiste Arbeitsbereichsausgangsregeln die folgenden Informationen an:
- Regelname: Ein Name für die Regel. Der Name muss für diesen Arbeitsbereich eindeutig sein.
- Zieltyp: Privater Endpunkt, Diensttag oder FQDN. Diensttag und FQDN sind nur verfügbar, wenn die Netzwerkisolation privat mit genehmigtem ausgehendem Datenverkehr ist.
Wenn der Zieltyp privater Endpunkt ist, geben Sie die folgenden Informationen an:
- Abonnement: Das Abonnement, das die Azure-Ressource enthält, für die Sie einen privaten Endpunkt hinzufügen möchten.
- Ressourcengruppe: Die Ressourcengruppe, die die Azure-Ressource enthält, für die Sie einen privaten Endpunkt hinzufügen möchten.
- Ressourcentyp: Der Typ der Azure-Ressource.
- Ressourcenname: Der Namen der Azure-Ressource.
- Unterressource: Die Unterressource des Azure-Ressourcentyps.
- Spark aktiviert: Wählen Sie diese Option aus, wenn Sie serverlose Spark-Aufträge für den Arbeitsbereich aktivieren möchten. Diese Option ist nur verfügbar, wenn der Ressourcentyp Azure Storage ist.
Tipp
Das verwaltete Azure Machine Learning-VNet unterstützt nicht die Erstellung eines privaten Endpunkts für alle Azure-Ressourcentypen. Eine Liste der unterstützten Ressourcen finden Sie im Abschnitt Private Endpunkte.
Wenn der Zieltyp Diensttag ist, geben Sie die folgenden Informationen an:
- Diensttag: Das Diensttag, das den genehmigten Ausgangsregeln hinzugefügt werden soll.
- Protokoll: Das Protokoll, das für das Diensttag zugelassen werden soll.
- Portbereiche: Die Portbereiche, die für das Diensttag zulässig sind.
Wenn der Zieltyp FQDN ist, geben Sie die folgenden Informationen an:
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.
- FQDN-Ziel: Der vollqualifizierte Domänenname, der den genehmigten Ausgangsregeln hinzugefügt werden soll.
Wählen Sie Speichern aus, um die Regel zu speichern. Sie können weiterhin Benutzerdefinierte Ausgangsregeln hinzufügen verwenden, um Regeln hinzuzufügen.
Erstellen Sie den Arbeitsbereich wie gewohnt.
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 virtuelle Netzwerk zu aktivieren:
- Konfigurieren Sie ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich, und fügen Sie einen ausgehenden privaten Endpunkt für das Azure Storage-Konto hinzu.
- Stellen Sie das verwaltete virtuelle Netzwerk bereit, nachdem Sie es konfiguriert haben, und kennzeichnen Sie es, um Spark-Aufträge zuzulassen.
Konfigurieren Sie einen ausgehenden privaten Endpunkt.
Verwenden Sie eine YAML-Datei, um die Konfiguration des verwalteten virtuellen Netzwerks 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 Sieisolation_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 namensworkspace_pe.yml
:az ml workspace update --file workspace_pe.yml --resource_group rg --name ws
Hinweis
Wenn Nur genehmigten ausgehenden Datenverkehr zulassen aktiviert ist (
isolation_mode: allow_only_approved_outbound
), werden in der Spark-Sitzungskonfiguration definierte Conda-Paketabhängigkeiten 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 alspy_files
-Parameter in Ihrem Spark-Auftrag. Das Festlegen einer ausgehenden FQDN-Regel wird dieses Problem nicht umgehen, da die Verteilung von FQDN-Regeln von Spark nicht unterstützt wird.Im folgenden Beispiel wird veranschaulicht, wie Sie ein verwaltetes virtuelles Netzwerk für einen vorhandenen Azure Machine Learning-Arbeitsbereich mit dem Namen
myworkspace
erstellen. Außerdem wird ein privater Endpunkt für das Azure Storage-Konto hinzugefügt undspark_enabled=true
festgelegt:Tipp
Das folgende Beispiel gilt für ein verwaltetes VNet, das mit
IsolationMode.ALLOW_INTERNET_OUTBOUND
zum Zulassen von Internetdatenverkehr konfiguriert wurde. Wenn Sie nur genehmigten ausgehenden Datenverkehr zulassen möchten, verwenden SieIsolationMode.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)
Hinweis
- Wenn Nur genehmigten ausgehenden Datenverkehr zulassen aktiviert ist (
isolation_mode: allow_only_approved_outbound
), werden in der Spark-Sitzungskonfiguration definierte Conda-Paketabhängigkeiten 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 alspy_files
-Parameter im Spark-Auftrag. - Wenn der Arbeitsbereich mit
IsolationMode.ALLOW_INTERNET_OUTBOUND
erstellt wurde, kann er später nicht aktualisiert werden, um ihn zu verwendenIsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND
.
Melden Sie sich am Azure-Portal an und wählen Sie den Azure Machine Learning-Arbeitsbereich aus.
Wählen Sie Netzwerk und dann Benutzerdefinierte Ausgangsregeln hinzufügen aus. Fügen Sie eine Regel für das Azure Storage-Konto hinzu und stellen Sie sicher, dass Spark aktiviert ausgewählt ist.
Wählen Sie " Speichern " aus, um die Regel zu speichern, und wählen Sie dann " Speichern " am Anfang des Netzwerks aus, um die Änderungen im verwalteten virtuellen Netzwerk zu speichern.
- Wenn Nur genehmigten ausgehenden Datenverkehr zulassen aktiviert ist (
Stellen Sie das verwaltete virtuelle Netzwerk bereit.
Hinweis
Wenn in Ihrem Arbeitsbereich öffentlicher Netzwerkzugriff aktiviert ist, müssen Sie ihn deaktivieren, bevor Sie das verwaltete VNet bereitstellen. Wenn Sie den öffentlichen Netzwerkzugriff beim Bereitstellen des verwalteten VNet nicht deaktivieren, werden die privaten Endpunkte für den Arbeitsbereich möglicherweise nicht automatisch im verwalteten VNet erstellt. Andernfalls müssen Sie die ausgehende Regel des privaten Endpunkts für den Arbeitsbereich nach der Bereitstellung manuell konfigurieren.
Das folgende Beispiel zeigt, wie Sie mithilfe des
--include-spark
-Parameters ein verwaltetes virtuelles Netzwerk für serverlose Spark-Aufträge bereitstellen.az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-spark
Das folgende Beispiel zeigt, wie Sie ein verwaltetes virtuelles Netzwerk für serverlose Spark-Aufträge bereitstellen:
# 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()
Im Azure-Portal können Sie nur auswählen, dass das verwaltete Netzwerk während der Arbeitsbereicherstellung bereitgestellt wird. Wählen Sie dazu auf der Registerkarte "Ausgehender Zugriff" die Option "Verwaltetes virtuelles Netzwerk bereitstellen" aus. Um das verwaltete Netzwerk für serverlose Spark-Aufträge für einen vorhandenen Arbeitsbereich bereitzustellen, müssen Sie das Azure CLI- oder Python-SDK verwenden.
Manuelles Bereitstellen eines verwalteten VNet
Das verwaltete virtuelle Netzwerk wird automatisch bereitgestellt, wenn Sie eine Compute-Instanz 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.
Alternativ können Sie das provision_network_now
-Flag verwenden, um das verwaltete Netzwerk im Rahmen der Arbeitsbereichserstellung bereitzustellen.
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 Sie ein verwaltetes virtuelles Netzwerk während der Arbeitsbereichserstellung bereitstellen.
az ml workspace create -n myworkspace -g my_resource_group --managed-network AllowInternetOutbound --provision-network-now
Das folgende Beispiel zeigt, wie Sie manuell ein verwaltetes virtuelles Netzwerk bereitstellen.
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
Um das verwaltete Netzwerk während der Arbeitsbereichserstellung bereitzustellen, legen Sie das provision_network_now
-Flag auf True
fest.
provision_network_now: True
Das folgende Beispiel zeigt, wie Sie ein verwaltetes virtuelles Netzwerk bereitstellen:
# 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()
Verwenden Sie ml_client.workspaces.get()
zum Abrufen der Arbeitsbereichsinformationen, um zu überprüfen, ob der Arbeitsbereich bereitgestellt wurde. Die managed_network
Eigenschaft enthält den Status des verwalteten Netzwerks.
ws = ml_client.workspaces.get()
print(ws.managed_network.status)
Wählen Sie während der Arbeitsbereichserstellung die Option Verwaltetes Netzwerk bei der Erstellung proaktiv bereitstellen aus, um das verwaltete Netzwerk bereitzustellen. Nachdem das virtuelle Netzwerk bereitgestellt wurde, fallen Gebühren für Netzwerkressourcen an (z. B. private Endpunkte). Diese Konfigurationsoption ist nur während der Arbeitsbereicherstellung verfügbar.
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
Im folgenden Beispiel wird veranschaulicht, wie ein Arbeitsbereich geändert wird, um einen Computecluster zum Erstellen von Images zu verwenden:
# 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)
Es gibt es keine Möglichkeit, den Compute für das Imagebuild über das Azure-Portal festzulegen. Verwenden Sie stattdessen das Azure CLI - oder Python-SDK.
Verwalten von Ausgangsregeln
Um die Ausgangsregeln des verwalteten virtuellen Netzwerks für einen Arbeitsbereich auflisten zu können, verwenden Sie den folgenden Befehl:
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 virtuelle Netzwerk 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 virtuellen Netzwerk zu entfernen:
az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg
Im folgenden Beispiel wird gezeigt, wie Ausgangsregeln für einen Arbeitsbereich mit dem Namen myworkspace
verwaltet werden:
# 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()
Melden Sie sich am Azure-Portal an und wählen Sie den Azure Machine Learning-Arbeitsbereich aus, für den Sie die Isolation verwalteter virtueller Netzwerke aktivieren möchten.
Wählen Sie Netzwerk aus. Im Abschnitt Ausgehender Zugang des Arbeitsbereichs können Sie Ausgangsregeln verwalten.
Um eine Ausgangsregelhinzuzufügen, wählen Sie auf der Registerkarte Netzwerk die Option Benutzerdefinierte Ausgangsregeln hinzufügen aus. Geben Sie auf der Randleiste Arbeitsbereichsausgangsregeln die folgenden Informationen an:
Um eine Regel zu aktivieren oder zu deaktivieren, verwenden Sie die Umschaltfläche in der Spalte Aktiv.
Um eine Ausgangsregel zu löschen, wählen Sie Löschen für die Regel aus.
Liste der erforderlichen Regeln
Private Endpunkte:
- Wenn der Isolationsmodus für das verwaltete virtuelle Netzwerk
Allow internet outbound
lautet, werden Ausgangsregeln für private Endpunkte automatisch als erforderliche Regeln aus dem verwalteten virtuellen Netzwerk 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 virtuelle Netzwerk
Allow only approved outbound
lautet, werden Ausgangsregeln für private Endpunkte automatisch als erforderliche Regeln aus dem verwalteten virtuellen Netzwerk 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). - Folgende Regeln werden dem verwalteten virtuellen Netzwerk automatisch hinzugefügt.
Damit Azure Machine Learning normal ausgeführt werden kann, sind eine Reihe von Diensttags erforderlich, die entweder in einem verwalteten oder einem benutzerdefinierten virtuellen Netzwerk eingerichtet werden müssen. Es gibt keine Alternativen zum Ersetzen bestimmter erforderlicher Diensttags. In der folgenden Tabelle werden die einzelnen erforderlichen Diensttags und deren Zweck in Azure Machine Learning beschrieben.
Regel für das Diensttag | Ein- oder ausgehend | Zweck |
---|---|---|
AzureMachineLearning |
Eingehend | Erstellen, Aktualisieren und Löschen einer Compute-Instanz/eines Clusters in Azure Machine Learning. |
AzureMachineLearning |
Ausgehend | Verwenden von Azure Machine Learning Service. Python IntelliSense in Notebooks verwendet Port 18881. Zum Erstellen, Aktualisieren und Löschen einer Azure Machine Learning-Compute-Instanz wird Port 5831 verwendet. |
AzureActiveDirectory |
Ausgehend | Authentifizierung mit Microsoft Entra ID. |
BatchNodeManagement.region |
Ausgehend | Kommunikation mit Azure Batch-Back-End für Azure Machine Learning-Compute-Instanzen/-Cluster. |
AzureResourceManager |
Ausgehend | Erstellen von Azure-Ressourcen mit Azure Machine Learning, der Azure CLI und dem Azure Machine Learning SDK. |
AzureFrontDoor.FirstParty |
Ausgehend | Auf Docker-Images zugreifen, die von Microsoft bereitgestellt werden. |
MicrosoftContainerRegistry |
Ausgehend | Auf Docker-Images zugreifen, die von Microsoft bereitgestellt werden. Einrichten des Azure Machine Learning Routers für Azure Kubernetes Service. |
AzureMonitor |
Ausgehend | Wird zum Protokollieren von Überwachung und Metriken in Azure Monitor verwendet. Nur erforderlich, wenn der Azure Monitor für den Arbeitsbereich nicht gesichert ist. Dieser ausgehende Datenverkehr wird auch verwendet, um Informationen für Supportincidents zu protokollieren. |
VirtualNetwork |
Ausgehend | Erforderlich, wenn private Endpunkte im virtuellen Netzwerk oder in virtuellen Netzwerken mit Peering vorhanden sind. |
Hinweis
Servicetags als EINZIGE Sicherheitsgrenze sind nicht ausreichend. Verwenden Sie für die Isolierung auf Mandantenebene nach Möglichkeit private Endpunkte.
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:
Hinweis
Die folgende Liste ist keine vollständige Liste der Hosts, die für alle Visual Studio Code-Ressourcen im Internet erforderlich sind, nur die am häufigsten verwendeten. 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. Eine vollständige Liste der Hostnamen finden Sie unter Netzwerkverbindungen in Visual Studio Code.
Hostname | Zweck |
---|---|
*.vscode.dev *.vscode-unpkg.net *.vscode-cdn.net *.vscodeexperiments.azureedge.net default.exp-tas.com |
Erforderlich für den Zugriff auf vscode.dev (Visual Studio Code für das Web) |
code.visualstudio.com |
Erforderlich zum Herunterladen und Installieren von VS Code Desktop. Dieser Host ist für VS Code Web nicht erforderlich. |
update.code.visualstudio.com *.vo.msecnd.net |
Wird zum Abrufen von VS Code-Serverbits verwendet, die über ein Setupskript in der Compute-Instanz installiert werden. |
marketplace.visualstudio.com vscode.blob.core.windows.net *.gallerycdn.vsassets.io |
Erforderlich zum Herunterladen und Installieren von VS Code-Erweiterungen. Diese Hosts ermöglichen die Remoteverbindung mit Compute-Instanzen. Weitere Informationen finden Sie unter Verwalten von Azure Machine Learning-Ressourcen in VS Code. |
vscode.download.prss.microsoft.com |
Für Download von Visual Studio Code (CDN) verwendet |
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
Szenario: Verwenden von prompt flow mit Azure OpenAI, Inhaltssicherheit und Azure KI Search
- 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:
Fügen Sie eine Regel für einen ausgehenden privaten Endpunkt hinzu, um Datenverkehr zum Azure Machine Learning-Arbeitsbereich zuzulassen. Durch diese Regel 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.
Aktivieren Sie den Zugriff über das öffentliche Netzwerk auf den Arbeitsbereich. Weitere Informationen finden Sie unter Zugriff aus öffentlichen Netzwerken aktiviert.
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.
Weitere Informationen finden Sie unter Konfigurieren von Private Link.
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 (Registrierungsdienst für Container von Azure)
- 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-Dienst zur Zwischenspeicherung von Daten mit Redis)
- Azure Databricks
- Azure-Datenbank für MariaDB
- Azure-Datenbank für PostgreSQL Single Server
- Azure Database for PostgreSQL – Flexibler Server
- Azure-Datenbank für MySQL
- Azure-API-Verwaltung
- Unterstützung nur der klassischen Ebene ohne VNET-Einfügung und Standard V2-Ebene mit virtueller Netzwerkintegration. Weitere Informationen zu virtuellen API-Verwaltungsnetzwerken finden Sie unter Virtual Network Concepts
- Application Insights (Über PrivateLinkScopes)
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.
Private Endpunkte für den Arbeitsbereich werden nicht automatisch erstellt. Sie werden nur erstellt, wenn die erste Berechnung erstellt wird oder wenn die Bereitstellung des verwalteten virtuellen Netzwerks erzwungen wird. Weitere Informationen zum Erzwingen der Bereitstellung des verwalteten virtuellen Netzwerks finden Sie unter Manuelles Bereitstellen des Netzwerks.
Genehmigung privater Endpunkte
Um private Endpunktverbindungen in verwalteten virtuellen Netzwerken mithilfe von Azure Machine Learning einzurichten, muss die vom System zugewiesene oder vom Benutzer zugewiesene Arbeitsbereichsidentität über Berechtigungen verfügen, um die Privaten Endpunktverbindungen für die Zielressourcen zu genehmigen. Zuvor wurde diese Aufgabe durch automatische Rollenzuweisungen durch den Azure Machine Learning-Dienst durchgeführt. Es gibt jedoch Sicherheitsbedenken hinsichtlich der automatischen Rollenzuweisung. Um die Sicherheit zu verbessern, ist diese Rollenzuweisung ab dem 30. April 2025 nicht automatisch.
Es wird empfohlen, die Azure AI Enterprise-Netzwerkverbindungsgenehmigungsrolle oder eine benutzerdefinierte Rolle mit den erforderlichen Berechtigungen für private Endpunktverbindung für die Zielressourcentypen zuzuweisen. Damit Azure Machine Learning-Dienste private Endpunktverbindungen mit den Azure-Zielressourcen genehmigen können, gewähren Sie dieser Rolle die verwaltete Identität des Azure Machine Learning-Arbeitsbereichs.
Hier ist die Liste der Zielressourcentypen für private Endpunkte, die von der Azure AI Enterprise-Netzwerkverbindungs-Genehmiger-Rolle abgedeckt werden:
- Azure-Anwendungsgateway
- Azure Monitor
- Azure KI-Suche
- Ereignis-Hubs
- Azure SQL-Datenbank
- Azure Storage
- Azure Machine Learning-Arbeitsbereich
- Azure Machine Learning-Registrierung
- Azure AI Foundry
- Azure-Schlüsseltresor
- Azure Cosmos DB (ein Microsoft-Datenbankdienst)
- Azure-Datenbank für MySQL
- Azure-Datenbank für PostgreSQL
- Azure KI-Services
- Azure Cache für Redis
- Containerregistrierung
- API-Verwaltung
Zum Erstellen von ausgehenden Regeln für Private Endpunkte für Ressourcentypen, die nicht von der Azure KI Enterprise Network Connection Approver-Rolle abgedeckt werden, wird eine eingeschränkt benutzerdefinierte Rolle empfohlen. Die Regel sollte die aktionen definieren, die erforderlich sind, um private Endpunktverbindungen für die Zielressourcentypen zu genehmigen. Beispiele für solche Ressourcentypen sind Azure Data Factory, Azure Databricks und Azure Function Apps.
Um ausgehende Private Endpoint-Regeln für Standard-Arbeitsbereichsressourcen zu erstellen, werden die erforderlichen Berechtigungen automatisch von den während der Erstellung des Arbeitsbereichs gewährten Rollenzuweisungen abgedeckt, sodass keine weitere Aktion erforderlich ist.
Wählen Sie eine Azure Firewall-Version für nur genehmigte ausgehende Verbindungen aus.
Eine Azure Firewall-Instanz wird bereitgestellt, wenn eine FQDN-Ausgangsregel im Modus Nur genehmigten ausgehenden Datenverkehr zulassen erstellt wird. Die Gebühren für Azure Firewall sind in Ihrer Abrechnung enthalten. Standardmäßig wird eine Standard-Version von AzureFirewall erstellt. Optional können Sie eine Basic-Version verwenden. Sie können die verwendete Firewallversion bei Bedarf ändern. Informationen zum Ermitteln der Version, die für Sie am besten geeignet ist, finden Sie unter Auswählen der geeigneten Azure Firewall-Version.
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. URL-basierte Filterung wird nur mit Azure Firewall Premium SKU unterstützt, nicht mit Azure Firewall Basic oder Standard SKU. Verwaltetes virtuelles Netzwerk unterstützt keine Premium SKU Azure Firewall.
Nachdem Sie den Modus „Nur genehmigten ausgehenden Datenverkehr zulassen“ ausgewählt haben, wird eine Option zum Auswählen der Azure Firewall-Version (SKU) angezeigt. Wählen Sie Standard aus, um die Standard-Version zu verwenden, oder Basic, wenn Sie die Basic-Version verwenden möchten. Wählen Sie Speichern aus, um Ihre Konfiguration zu speichern.
Um die Firewallversion über die Befehlszeilenschnittstelle (Command Line Interface, CLI) zu konfigurieren, verwenden Sie eine YAML-Datei, und geben Sie firewall_sku
an. Das folgende Beispiel zeigt eine YAML-Datei, die die Firewall-SKU auf basic
festlegt:
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: {}
Um die Firewallversion mit dem Python SDK zu konfigurieren, legen Sie die firewall_sku
-Eigenschaft des ManagedNetwork
-Objekts fest. Das folgende Beispiel zeigt, wie Sie die Firewall-SKU auf basic
festlegen:
network = ManagedNetwork(isolation_mode=IsolationMode.ALLOW_INTERNET_OUTBOUND,
firewall_sku='basic')
Preise
Das verwaltete virtuelle Azure Machine Learning-Netzwerkfeature ist kostenlos. Ihnen werden jedoch die folgenden Ressourcen in Rechnung gestellt, die vom verwalteten virtuellen Netzwerk verwendet werden:
Azure Private Link: Private Endpunkte, die zum Schützen der Kommunikation zwischen dem verwalteten virtuellen Netzwerk 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. Standardmäßig wird eine Standard-Version von Azure Firewall verwendet. Informationen zum Auswählen der Basic-Version finden Sie unter Auswählen einer Azure Firewall-Version.
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
- Nachdem Sie die Isolation verwalteter virtueller Netzwerke Ihres Arbeitsbereichs aktiviert haben (entweder ausgehenden Internetdatenverkehr zulassen oder nur genehmigten ausgehenden Datenverkehr zulassen), können Sie sie nicht mehr deaktivieren.
- Das verwaltete virtuelle Netzwerk verwendet eine private Endpunktverbindung, 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 virtuelle Netzwerk wird gelöscht, wenn der Arbeitsbereich gelöscht wird.
- Vergewissern Sie sich, dass für die Azure Machine Learning-Ressourcen und die Ressourcengruppe keine Bereichssperren vorhanden sind. Interne Vorgänge im Zusammenhang mit dem verwalteten virtuellen Netzwerk könnten blockiert sein.
- 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 Arbeitsbereich wird bei Verwendung eines verwalteten virtuellen Netzwerks nicht unterstützt.
- Kubernetes und angefügte VMs werden in einem verwalteten virtuellen Azure Machine Learning-Netzwerk nicht unterstützt.
- Die Verwendung von FQDN-Ausgangsregeln erhöht die Kosten des verwalteten virtuellen Netzwerks, 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 ein verwaltetes virtuelles Netzwerk verwenden, können Sie keine Computeressourcen in Ihrem benutzerdefinierten virtuellen Netzwerk bereitstellen. Computeressourcen können nur im verwalteten virtuellen Netzwerk erstellt werden.
- Wenn Ihr verwaltetes Netzwerk mit der Einstellung Nur genehmigten ausgehenden Datenverkehr zulassen konfiguriert ist, können Sie keine FQDN-Regel (Fully Qualified Domain Name, vollqualifizierter Domänenname) verwenden, um auf Azure Storage-Konten zuzugreifen. Sie müssen stattdessen einen privaten Endpunkt verwenden.
- Stellen Sie sicher, dass die von Microsoft verwalteten privaten Endpunkte, die für das verwaltete virtuelle Netzwerk erstellt wurden, in Ihrer benutzerdefinierten Richtlinie zugelassen sind.
Migration von Computeressourcen
Wenn Sie über einen vorhandenen Arbeitsbereich verfügen und verwaltetes virtuelles Netzwerk dafür 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 virtuelle Netzwerk aktiviert haben. Die folgende Liste enthält die Computeressourcen, die gelöscht und neu erstellt werden müssen:
- Computecluster
- Compute-Instanz
- Verwaltete Onlineendpunkte