Fluss des Netzwerkverkehrs bei Verwendung eines gesicherten Arbeitsbereichs
Wenn Sie Ihren Azure Machine Learning-Arbeitsbereich und die zugehörigen Ressourcen in einem virtuellen Azure-Netzwerk platzieren, ändert sich der Netzwerkverkehr zwischen den Ressourcen. Ohne virtuelles Netzwerk fließt der Netzwerkverkehr über das öffentliche Internet oder innerhalb eines Azure-Rechenzentrums. Nach Einführung eines virtuellen Netzwerks empfiehlt es sich gegebenenfalls, auch die Netzwerksicherheit erhöhen. Sie können z. B. eingehende und ausgehende Kommunikation zwischen dem virtuellen Netzwerk und dem öffentlichen Internet blockieren. Azure Machine Learning erfordert jedoch den Zugriff auf einige Ressourcen im öffentlichen Internet. So wird beispielsweise Azure Resource Manager für Bereitstellungen und Verwaltungsvorgänge verwendet.
Dieser Artikel listet den erforderlichen Datenverkehr zum und vom öffentlichen Internet auf. Er erklärt auch, wie der Netzwerkverkehr zwischen Ihrer Client-Entwicklungsumgebung und einem gesicherten Azure Machine Learning-Arbeitsbereich in den folgenden Szenarien fließt:
Verwendung von Azure Machine Learning studio zur Arbeit mit:
- Ihrem Arbeitsbereich
- AutoML
- Designer
- Datasets und Datenspeicher
Azure Machine Learning Studio ist eine webbasierte Benutzeroberfläche, die teilweise in Ihrem Webbrowser ausgeführt wird. Sie übermittelt Aufrufe an Azure-Dienste, um Aufgaben wie das Trainieren eines Modells, die Verwendung des Designers oder das Anzeigen von Datasets auszuführen. Einige dieser Aufrufe verwenden einen anderen Kommunikationsfluss als bei der Verwendung von Azure Machine Learning SDK, Azure CLI, REST-API oder Visual Studio Code.
Verwendung von Azure Machine Learning Studio, Azure Machine Learning SDK, Azure CLI oder REST API für die Arbeit mit Folgendem:
- Compute-Instanzen und Clustern
- Azure Kubernetes Service (AKS)
- Von Azure Machine Learning verwaltete Docker-Images
Wenn ein Szenario oder eine Aufgabe hier nicht aufgeführt ist, sollte sie mit oder ohne geschützten Arbeitsbereich auf die gleiche Weise funktionieren.
Annahmen
Dieser Artikel geht von der folgenden Konfiguration aus:
- Der Azure Machine Learning-Arbeitsbereich verwendet einen privaten Endpunkt für die Kommunikation mit dem virtuellen Netzwerk.
- Das Azure-Speicherkonto, der Schlüsseltresor und die Containerregistrierung, die vom Arbeitsbereich verwendet werden, verwenden ebenfalls einen privaten Endpunkt, um mit dem virtuellen Netzwerk zu kommunizieren.
- Clientarbeitsstationen verwenden ein VPN-Gateway oder Azure ExpressRoute, um auf das virtuelle Netzwerk zuzugreifen.
Anforderungen für eingehende und ausgehende Verbindungen
Szenario | Erforderlich eingehend | Erforderlich ausgehend | Zusätzliche Konfiguration |
---|---|---|---|
Zugreifen auf einen Arbeitsbereich über Studio | Nicht zutreffend |
|
Möglicherweise müssen Sie einen benutzerdefinierten DNS-Server verwenden. Weitere Informationen finden Sie unter Verwenden Ihres Arbeitsbereichs mit einem benutzerdefinierten DNS-Server. |
Verwenden von AutoML, Designer, Dataset und Datenspeicher über Studio | Nicht verfügbar | Nicht verfügbar |
|
Verwenden einer Compute-Instanz und eines Computeclusters |
|
|
Wenn Sie eine Firewall verwenden, erstellen Sie benutzerdefinierte Routen. Weitere Informationen finden Sie unter Konfiguration des ein- und ausgehenden Netzwerkdatenverkehrs. |
Verwenden von Azure Kubernetes Service | Nicht zutreffend | Informationen zur Konfiguration für ausgehenden Datenverkehr für AKS finden Sie unter Sichere Azure Kubernetes Service-Rückschlussumgebung. | |
Verwenden von Docker-Images, die von Azure Machine Learning verwaltet werden | Nicht zutreffend | Microsoft-Artefaktregistrierung | Wenn sich die Containerregistrierung für Ihren Arbeitsbereich hinter dem virtuellen Netzwerk befindet, konfigurieren Sie den Arbeitsbereich so, dass er einen Computecluster für die Erstellung von Images verwendet. Weitere Informationen finden Sie im Artikel „Schützen eines Azure Machine Learning-Arbeitsbereichs mit virtuellen Netzwerken“ unter Aktivieren von Azure Container Registry (ACR). |
Zwecke von Speicherkonten
Azure Machine Learning verwendet mehrere Speicherkonten. Jedes speichert unterschiedliche Daten und hat einen anderen Zweck:
Ihr Speicher: Die Speicherkonten in Ihrem Azure-Abonnement speichern Ihre Daten und Artefakte wie Modelle, Trainingsdaten, Trainingsprotokolle und Python-Skripts. Das Standardspeicherkonto für Ihren Arbeitsbereich befindet sich beispielsweise in Ihrem Abonnement. Die Compute-Instanz und der Computecluster von Azure Machine Learning greifen über die Ports 445 (SMB) und 443 (HTTPS) auf Datei- und Blobdaten in diesem Speicher zu.
Wenn Sie eine Compute-Instanz oder einen Computecluster verwenden, wird Ihr Speicherkonto über das SMB-Protokoll als Dateifreigabe eingebunden. Die Compute-Instanz und der Cluster verwenden diese Dateifreigabe zum Speichern von Elementen wie Daten, Modellen, Jupyter Notebook-Instanzen und Datasets. Die Compute-Instanz und der Cluster verwenden den privaten Endpunkt, wenn sie auf das Speicherkonto zugreifen.
Microsoft-Speicher: Die Compute-Instanz und der Computecluster von Azure Machine Learning basieren auf Azure Batch. Sie greifen auf Speicher in einem Microsoft-Abonnement zu. Dieser Speicher wird nur zur Verwaltung der Compute-Instanz oder des Computeclusters verwendet. Keine Ihrer Daten wird hier gespeichert. Die Compute-Instanz und der Computecluster greifen über den Port 443 (HTTPS) auf die Blob-, Tabellen- und Warteschlangendaten in diesem Speicher zu.
Machine Learning speichert Metadaten in einer Azure Cosmos DB-Instanz. Standardmäßig wird diese Instanz in einem Microsoft-Abonnement gehostet und von Microsoft verwaltet. Sie können optional eine Azure Cosmos DB-Instanz in Ihrem Azure-Abonnement verwenden. Weitere Informationen finden Sie unter Datenverschlüsselung mit Azure Machine Learning.
Szenario: Zugreifen auf einen Arbeitsbereich über Studio
Hinweis
Die Informationen in diesem Abschnitt beziehen sich auf die Verwendung des Arbeitsbereichs über Azure Machine Learning Studio. Wenn Sie das Azure Machine Learning SDK, die REST API, die Azure CLI oder Visual Studio Code verwenden, sind die Informationen in diesem Abschnitt für Sie nicht relevant.
Wenn Sie von Studio aus auf Ihren Arbeitsbereich zugreifen, fließt der Netzwerkdatenverkehr wie folgt:
- Für die Authentifizierung bei Ressourcen wird in der Konfiguration Microsoft Entra ID verwendet.
- Für Verwaltungs- und Bereitstellungsvorgänge wird in der Konfiguration Azure Resource Manager verwendet.
- Für Azure Machine Learning-spezifische Aufgaben wird in der Konfiguration der Azure Machine Learning-Dienst verwendet.
- Für den Zugriff auf Azure Machine Learning Studio wird in der Konfiguration Azure Front Door verwendet.
- Für die meisten Speichervorgänge fließt der Datenverkehr über den privaten Endpunkt des Standardspeichers für Ihren Arbeitsbereich. Ausnahmen werden in diesem Artikel im Abschnitt Verwenden von AutoML, Designer, Dataset und Datenspeicher über Studio behandelt.
- Außerdem müssen Sie eine DNS-Lösung konfigurieren, mit der Sie die Namen der Ressourcen innerhalb des virtuellen Netzwerks auflösen können. Weitere Informationen finden Sie unter Verwenden Ihres Arbeitsbereichs mit einem benutzerdefinierten DNS-Server.
Szenario: Verwenden von AutoML, Designer, Dataset und Datenspeicher über Studio
Die folgenden Funktionen von Azure Machine Learning Studio verwenden Datenprofilierung:
- Dataset: Erkunden Sie das Dataset über Studio.
- Designer: Visualisieren Sie die Ausgabedaten des Moduls.
- AutoML: Zeigen Sie eine Datenvorschau oder ein Profil an, und wählen Sie eine Zielspalte aus.
- Beschriftung: Verwenden Sie Bezeichnungen, um Daten für ein Machine Learning-Projekt vorzubereiten.
Die Erstellung von Datenprofilen ist davon abhängig, dass der verwaltete Azure Machine Learning-Dienst auf das Azure-Standardspeicherkonto für Ihren Arbeitsbereich zugreifen kann. Der verwaltete Dienst ist nicht in Ihrem virtuellen Netzwerk vorhanden und kann daher nicht direkt auf das Speicherkonto im virtuellen Netzwerk zugreifen. Stattdessen verwendet der Arbeitsbereich einen Dienstprinzipal für den Speicherzugriff.
Tipp
Sie können bei der Erstellung des Arbeitsbereichs einen Dienstprinzipal angeben. Andernfalls wird einer für Sie erstellt und mit dem Namen Ihres Arbeitsbereichs versehen.
Um den Zugriff auf das Speicherkonto zu erlauben, konfigurieren Sie das Speicherkonto so, dass eine Ressourceninstanz für Ihren Arbeitsbereich zugelassen wird, oder wählen Sie die Option Erlauben Sie Azure-Diensten auf der Liste der vertrauenswürdigen Dienste den Zugriff auf dieses Speicherkonto. aus. Diese Einstellung ermöglicht dem verwalteten Dienst den Zugriff auf den Speicher über das Netzwerk des Azure-Rechenzentrums.
Als Nächstes fügen Sie den Dienstprinzipal für den Arbeitsbereich der Rolle Reader zum privaten Endpunkt des Speicherkontos hinzu. Azure verwendet diese Rolle, um die Informationen zum Arbeitsbereich und zum Speichersubnetz zu überprüfen. Wenn sie übereinstimmen, gewährt Azure Zugriff. Schließlich benötigt der Dienstprinzipal auch Blobdatenmitwirkenden Zugriff auf das Speicherkonto.
Weitere Informationen finden Sie im Artikel „Schützen eines Azure Machine Learning-Arbeitsbereichs mit virtuellen Netzwerken“ unter Schützen von Azure-Speicherkonten.
Szenario: Verwenden einer Compute-Instanz und eines Computeclusters
Eine Compute-Instanz und ein Computecluster von Azure Machine Learning sind verwaltete, von Microsoft gehostete Dienste. Sie bauen auf dem Azure Batch-Dienst auf. Sie befinden sich zwar in einer von Microsoft verwalteten Umgebung, werden aber auch in Ihr virtuelles Netzwerk injiziert.
Wenn Sie eine Compute-Instanz oder einen Computecluster erstellen, werden auch die folgenden Ressourcen in Ihrem virtuellen Netzwerk erstellt:
Eine Netzwerksicherheitsgruppe mit erforderlichen Ausgangsregeln. Diese Regeln erlauben eingehenden Zugriff von Azure Machine Learning (TCP am Port 44224) und Azure Batch (TCP an den Ports 29876–29877).
Wichtig
Wenn Sie eine Firewall verwenden, um Internetzugriff auf das virtuelle Netzwerk zu blockieren, müssen Sie die Firewall so konfigurieren, dass sie diesen Datenverkehr zulässt. Mit Azure Firewall können Sie zum Beispiel benutzerdefinierte Routen erstellen. Weitere Informationen finden Sie unter Konfiguration des ein- und ausgehenden Netzwerkdatenverkehrs.
Ein Lastenausgleich mit einer öffentlichen IP-Adresse.
Erlauben Sie auch ausgehenden Zugriff auf die folgenden Service-Tags. Ersetzen Sie für jedes Tag region
durch die Azure-Region Ihrer Compute-Instanz oder Ihres Computeclusters:
Storage.region
: Dieser ausgehende Zugriff wird verwendet, um eine Verbindung mit dem Azure-Speicherkonto innerhalb des verwalteten virtuellen Netzwerks von Azure Batch herzustellen.Keyvault.region
: Dieser ausgehende Zugriff wird verwendet, um eine Verbindung mit dem Azure Key Vault-Konto innerhalb des verwalteten virtuellen Netzwerks von Azure Batch herzustellen.
Der Datenzugriff von Ihrer Compute-Instanz oder Ihrem Computecluster aus erfolgt über den privaten Endpunkt des Speicherkontos für Ihr virtuelles Netzwerk.
Wenn Sie Visual Studio Code auf einer Compute-Instanz verwenden, müssen Sie anderen ausgehenden Datenverkehr zulassen. Weitere Informationen finden Sie unter Konfiguration des ein- und ausgehenden Netzwerkdatenverkehrs.
Szenario: Verwenden von Onlineendpunkten
Die Sicherheit für ein- und ausgehende Kommunikation wird von Ihnen für verwaltete Onlineendpunkte separat konfiguriert.
Eingehende Kommunikation
Sie können das Flag public_network_access
für den Endpunkt verwenden, um zum Schutz der eingehenden Kommunikation mit der Bewertungs-URL des Onlineendpunkts beizutragen. Durch Festlegen des Flags auf disabled
wird sichergestellt, dass der Onlineendpunkt nur Datenverkehr vom virtuellen Netzwerk eines Clients über den privaten Endpunkt des Azure Machine Learning-Arbeitsbereichs empfängt.
Das public_network_access
-Flag des Azure Machine Learning-Arbeitsbereichs bestimmt auch die Sichtbarkeit des Onlineendpunkts. Ist dieses Flag auf disabled
festgelegt, kann auf die Bewertungsendpunkte nur von virtuellen Netzwerken aus zugegriffen werden, die einen privaten Endpunkt für den Arbeitsbereich enthalten. Ist dieses Flag auf enabled
festgelegt, ist der Bewertungsendpunkt sowohl vom virtuellen Netzwerk aus als auch von öffentlichen Netzwerken aus zugänglich.
Ausgehende Kommunikation
Die ausgehende Kommunikation einer Bereitstellung kann auf Arbeitsbereichsebene durch Aktivieren der Isolation verwalteter virtueller Netzwerke für Ihren Azure Machine Learning-Arbeitsbereich geschützt werden. Bei Verwendung dieser Einstellung erstellt Azure Machine Learning ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich. Alle Bereitstellungen im verwalteten virtuellen Netzwerk des Arbeitsbereichs können die privaten Endpunkte des virtuellen Netzwerks für ausgehende Kommunikation verwenden.
Die Legacy-Netzwerkisolationsmethode zum Schützen der ausgehenden Kommunikation funktionierte durch Deaktivieren des egress_public_network_access
-Flags einer Bereitstellung. Es wird dringend empfohlen, die ausgehende Kommunikation für Bereitstellungen stattdessen mithilfe eines verwalteten virtuellen Netzwerks für den Arbeitsbereich zu schützen. Im Gegensatz zum Legacy-Ansatz gilt das egress_public_network_access
-Flag für die Bereitstellung nicht mehr, wenn Sie ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich mit Ihrer Bereitstellung verwenden. Stattdessen steuern die Regeln, die Sie für das verwaltete virtuelle Netzwerk des Arbeitsbereichs festlegen, die ausgehende Kommunikation.
Szenario: Verwendung von Azure Kubernetes Service
Informationen zur erforderlichen ausgehenden Konfiguration für Azure Kubernetes Service finden Sie unter Schützen einer Azure Machine Learning-Rückschlussumgebung mit virtuellen Netzwerken.
Hinweis
Der Lastenausgleich von Azure Kubernetes Service ist nicht der gleiche wie der Lastenausgleich, der von Azure Machine Learning erstellt wird. Wenn Sie Ihr Modell als geschützte Anwendung hosten möchten, die nur im virtuellen Netzwerk verfügbar ist, verwenden Sie den von Azure Machine Learning erstellten internen Lastenausgleich. Wenn Sie öffentlichen Zugriff zulassen möchten, verwenden Sie den von Azure Machine Learning erstellten öffentlichen Lastenausgleich.
Wenn Ihr Modell zusätzliche eingehende oder ausgehende Verbindungen benötigt, z. B. zu einer externen Datenquelle, verwenden Sie eine Netzwerksicherheitsgruppe oder Ihre Firewall, um den Datenverkehr zuzulassen.
Szenario: Verwenden von Docker-Images, die von Azure Machine Learning verwaltet werden
Azure Machine Learning bietet Docker-Images, die Sie zum Trainieren von Modellen oder für Rückschlüsse verwenden können. Diese Images werden in der Microsoft-Artefaktregistrierung gehostet.
Wenn Sie Ihre eigenen Docker-Images bereitstellen (etwa in einer von Ihnen bereitgestellten Containerregistrierung), benötigen Sie die ausgehende Kommunikation mit der Artefaktregistrierung nicht.
Tipp
Wenn Ihre Containerregistrierung im virtuellen Netzwerk geschützt ist, kann sie von Azure Machine Learning nicht zum Erstellen von Docker-Images verwendet werden. Stattdessen müssen Sie einen Azure Machine Learning-Rechencluster für die Erstellung von Images bestimmen. Weitere Informationen finden Sie im Artikel „Schützen eines Azure Machine Learning-Arbeitsbereichs mit virtuellen Netzwerken“ unter Aktivieren von Azure Container Registry (ACR).
Nächste Schritte
Sie haben gelernt, wie der Netzwerkverkehr in einer geschützten Konfiguration fließt. Lesen Sie nun den Artikel Schützen von Azure Machine Learning-Arbeitsbereichsressourcen mit virtuellen Netzwerken (VNets), um mehr über den Schutz von Azure Machine Learning in einem virtuellen Netzwerk zu erfahren.
Informationen zu Best Practices finden Sie im Artikel Azure Machine Learning Best Practices für Unternehmenssicherheit.