Planen der Netzwerkisolation
In diesem Artikel erfahren Sie, wie Sie Ihre Netzwerkisolation für Azure Machine Learning planen und lernen unsere Empfehlungen kennen. Dies ist ein Artikel für IT-Administratoren, die eine Netzwerkarchitektur entwerfen möchten.
Empfohlene Architektur (Verwaltetes Netzwerkisolationsmuster)
Ein verwaltetes virtuelles Netzwerks ermöglicht eine einfachere Konfiguration für Netzwerkisolation. Es schützt Ihren Arbeitsbereich automatisch und verwaltet Computeressourcen in einem verwalteten virtuellen Netzwerk. Sie können private Endpunktverbindungen für andere Azure-Dienste hinzufügen, auf denen der Arbeitsbereich basiert, z. B. Azure Storage-Konten. Je nach Ihren Anforderungen können Sie den gesamten ausgehenden Datenverkehr an das öffentliche Netzwerk oder nur den von Ihnen genehmigten ausgehenden Datenverkehr zulassen. Ausgehender Datenverkehr, der von Azure Machine Learning Service benötigt wird, wird automatisch für das verwaltete virtuelle Netzwerk ermöglicht. Wir empfehlen die Verwendung der vom Arbeitsbereich verwalteten Netzwerkisolation für eine integrierte, reibungslose Netzwerkisolationsmethode. Wir haben zwei Muster: Den Modus „Ausgehenden Internetdatenverkehr zulassen“ und den Modus„Nur genehmigte Ausgänge zulassen“.
Modus „Ausgehenden Internetdatenverkehr zulassen“
Verwenden Sie diese Option, wenn Sie Ihren Fachkräften für Machine Learning freien Zugriff auf das Internet gewähren möchten. Sie können andere Ausgangsregeln für private Endpunkte erstellen, damit sie auf Ihre privaten Ressourcen in Azure zugreifen können.
Modus „Nur genehmigten ausgehenden Datenverkehr zulassen“
Verwenden Sie diese Option, wenn Sie das Risiko der Datenexfiltration minimieren und steuern möchten, auf was Ihre Machine Learning Fachkräfte zugreifen können. Sie können Ausgangsregeln mit privatem Endpunkt, Diensttag und FQDN steuern.
Empfohlene Architektur (Verwenden Sie Ihr Azure VNet)
Wenn Sie über eine bestimmte Anforderung oder Unternehmensrichtlinie verfügen, die verhindert, dass Sie ein verwaltetes virtuelles Netzwerk verwenden, können Sie ein virtuelles Azure-Netzwerk für die Netzwerkisolation verwenden.
Das folgende Diagramm ist unsere empfohlene Architektur, um alle Ressourcen privat zu machen, aber ausgehenden Datenverkehr ins Internet über Ihr VNet zuzulassen. Dieses Diagramm beschreibt die folgende Architektur:
- Legen Sie alle Ressourcen in die gleiche Region.
- Ein Hub-VNet, das Ihre Firewall enthält.
- Ein Spoke-VNet, das die folgenden Ressourcen enthält:
- Ein Trainingssubnetz enthält Compute-Instanzen und Cluster, die zum Trainieren von ML-Modellen verwendet werden. Diese Ressourcen sind für „keine öffentliche IP-Adresse“ konfiguriert.
- Ein Bewertungssubnetz enthält einen AKS-Cluster.
- Ein „pe“-Subnetz enthält private Endpunkte, die eine Verbindung mit dem Arbeitsbereich und privaten Ressourcen herstellen, die vom Arbeitsbereich (Speicher, Schlüsseltresor, Containerregistrierung usw.) verwendet werden.
- Verwaltete Onlineendpunkte verwenden den privaten Endpunkt des Arbeitsbereichs, um eingehende Anforderungen zu verarbeiten. Ein privater Endpunkt wird auch verwendet, um Bereitstellungen verwalteter Onlineendpunkte den Zugriff auf privaten Speicher zu ermöglichen.
Diese Architektur sorgt für ein ausgewogenes Verhältnis zwischen Ihrer Netzwerksicherheit und der Produktivität Ihrer ML-Ingenieure.
Sie können die Erstellung dieser Umgebung mithilfe einer Bicep-Vorlage oder Terraform-Vorlage automatisieren. ohne verwalteten Onlineendpunkt oder AKS Der verwalteter Onlineendpunkt ist die Lösung, wenn Sie nicht über einen vorhandenen AKS-Cluster für ihre KI-Modellbewertung verfügen. Weitere Informationen finden Sie in der Dokumentation zum Sichern von Onlineendpunkten. AKS mit der Azure Machine Learning-Erweiterung ist die Lösung, wenn Sie über einen vorhandenen AKS-Cluster für ihre KI-Modellbewertung verfügen. Weitere Informationen finden Sie in der Dokumentation über das Einbinden von Kubernetes.
Entfernen der Firewallanforderung
Wenn Sie die Firewallanforderung entfernen möchten, können Sie Netzwerksicherheitsgruppen und NAT für das virtuelle Azure-Netzwerk verwenden, um ausgehenden Datenverkehr ins Internet von Ihren privaten Computingressourcen zuzulassen.
Verwenden eines öffentlichen Arbeitsbereichs
Sie können einen öffentlichen Arbeitsbereich verwenden, wenn Sie mit der Microsoft Entra-Authentifizierung und -Autorisierung mit bedingtem Zugriff einverstanden sind. Ein öffentlicher Arbeitsbereich verfügt über einige Features zum Anzeigen von Daten in Ihrem privaten Speicherkonto, und wir empfehlen, einen privaten Arbeitsbereich zu verwenden.
Empfohlene Architektur mit Verhinderung der Datenexfiltration
Dieses Diagramm zeigt die empfohlene Architektur, um alle Ressourcen privat zu machen und Ziele für ausgehenden Datenverkehr zu steuern, um die Datenexfiltration zu verhindern. Wir empfehlen diese Architektur, wenn Sie Azure Machine Learning mit Ihren vertraulichen Daten in der Produktion verwenden. Dieses Diagramm beschreibt die folgende Architektur:
- Legen Sie alle Ressourcen in die gleiche Region.
- Ein Hub-VNet, das Ihre Firewall enthält.
- Zusätzlich zu Diensttags verwendet die Firewall FQDNs, um die Datenexfiltration zu verhindern.
- Ein Spoke-VNet, das die folgenden Ressourcen enthält:
- Ein Trainingssubnetz enthält Compute-Instanzen und Cluster, die zum Trainieren von ML-Modellen verwendet werden. Diese Ressourcen sind für „keine öffentliche IP-Adresse“ konfiguriert. Darüber hinaus gibt es einen Dienstendpunkt und eine Dienstendpunktrichtlinie, um die Datenexfiltration zu verhindern.
- Ein Bewertungssubnetz enthält einen AKS-Cluster.
- Ein „pe“-Subnetz enthält private Endpunkte, die eine Verbindung mit dem Arbeitsbereich und privaten Ressourcen herstellen, die vom Arbeitsbereich (Speicher, Schlüsseltresor, Containerregistrierung usw.) verwendet werden.
- Verwaltete Onlineendpunkte verwenden den privaten Endpunkt des Arbeitsbereichs, um eingehende Anforderungen zu verarbeiten. Ein privater Endpunkt wird auch verwendet, um Bereitstellungen verwalteter Onlineendpunkte den Zugriff auf privaten Speicher zu ermöglichen.
In den folgenden Tabellen sind die erforderlichen Azure-Diensttags und vollqualifizierte Domänennamen (Fully Qualified Domain Names, FQDN) für ausgehenden Datenverkehr mit Einstellung zum Schutz vor Datenexfiltration aufgeführt:
Dienstags für ausgehenden Datenverkehr | Protocol | Port |
---|---|---|
AzureActiveDirectory |
TCP | 80, 443 |
AzureResourceManager |
TCP | 443 |
AzureMachineLearning |
UDP | 5831 |
BatchNodeManagement |
TCP | 443 |
FQDN für ausgehenden Datenverkehr | Protocol | Port |
---|---|---|
mcr.microsoft.com |
TCP | 443 |
*.data.mcr.microsoft.com |
TCP | 443 |
ml.azure.com |
TCP | 443 |
automlresources-prod.azureedge.net |
TCP | 443 |
Verwenden eines öffentlichen Arbeitsbereichs
Sie können den öffentlichen Arbeitsbereich verwenden, wenn Sie mit der Microsoft Entra-Authentifizierung und -Autorisierung mit bedingtem Zugriff einverstanden sind. Ein öffentlicher Arbeitsbereich verfügt über einige Features zum Anzeigen von Daten in Ihrem privaten Speicherkonto, und wir empfehlen, einen privaten Arbeitsbereich zu verwenden.
Wichtige Überlegungen zum Verständnis von Details
Azure Machine Learning verfügt sowohl über IaaS- als auch über PaaS-Ressourcen
Die Netzwerkisolation von Azure Machine Learning umfasst sowohl PaaS (Platform-as-a-Service)-Komponenten als auch IaaS (Infrastructure-as-a-Service)-Komponenten. PaaS-Dienste wie Azure Machine Learning-Arbeitsbereich, -Speicher, -Schlüsseltresor, -Containerregistrierung und -Monitor können mithilfe von Private Link isoliert werden. IaaS-Computingdienste, z. B. Compute-Instanzen/Cluster für KI-Modelltraining und Azure Kubernetes Service (AKS) oder verwaltete Onlineendpunkte für die KI-Modellbewertung, können in Ihr virtuelles Netzwerk injiziert werden und mit PaaS-Diensten über Private Link kommunizieren. Das folgende Diagramm ist ein Beispiel für diese Architektur.
In diesem Diagramm befinden sich die Compute-Instanzen, Computecluster und AKS-Cluster in Ihrem virtuellen Netzwerk. Sie können über einen privaten Endpunkt auf den Azure Machine Learning-Arbeitsbereich oder -Speicher zugreifen. Anstelle eines privaten Endpunkts können Sie einen Dienstendpunkt für Azure Storage und Azure Key Vault verwenden. Die anderen Dienste unterstützen keinen Dienstendpunkt.
Erforderliche Konfigurationen für ein- und ausgehenden Datenverkehr
Azure Machine Learning verfügt über mehrere erforderliche Konfigurationen für ein- und ausgehenden Datenverkehr für Ihr virtuelles Netzwerk. Wenn Sie über ein eigenständiges virtuelles Netzwerk verfügen, ist die Konfiguration mithilfe einer Netzwerksicherheitsgruppe ganz einfach. Möglicherweise verfügen Sie jedoch über eine Hub-Spoke- oder Peermesh-Netzwerkarchitektur, eine Firewall, ein virtuelles Netzwerkgerät, einen Proxy und ein benutzerdefiniertes Routing. Stellen Sie in beiden Fällen sicher, dass Sie den ein- und ausgehenden Datenverkehr mit Ihren Netzwerksicherheitskomponenten zulassen.
In diesem Diagramm verfügen Sie über eine Hub- und eine Spoke-Netzwerkarchitektur. Das Spoke-VNet verfügt über Ressourcen für Azure Machine Learning. Das Hub-VNet verfügt über eine Firewall, die den ausgehenden Datenverkehr ins Internet aus Ihren virtuellen Netzwerken steuert. In diesem Fall muss Ihre Firewall den ausgehenden Datenverkehr auf erforderliche Ressourcen zulassen, und Ihre Computeressourcen im Spoke-VNet müssen Ihre Firewall erreichen können.
Tipp
Im Diagramm sind die Compute-Instanz und der Computecluster für „keine öffentliche IP-Adresse“ konfiguriert. Wenn Sie stattdessen eine Compute-Instanz oder einen Cluster mit öffentlicher IP-Adresse verwenden, müssen Sie eingehenden Datenverkehr aus dem Azure Machine Learning-Diensttag mithilfe einer Netzwerksicherheitsgruppe (NSG) und benutzerdefiniertem Routing zulassen, um Ihre Firewall zu überspringen. Dieser eingehende Datenverkehr würde von einem Microsoft-Dienst (Azure Machine Learning) stammen. Es wird jedoch empfohlen, die Option „keine öffentliche IP-Adresse“ zu verwenden, um diese Anforderung für eingehenden Datenverkehr zu entfernen.
DNS-Auflösung von Private Link-Ressourcen und -Anwendungen auf der Compute-Instanz
Wenn Sie über einen eigenen DNS-Server verfügen, der in Azure oder lokal gehostet wird, müssen Sie eine bedingte Weiterleitung auf Ihrem DNS-Server erstellen. Die bedingte Weiterleitung sendet DNS-Anforderungen an Azure DNS für alle PaaS-Dienste, die für Private Link aktiviert sind. Weitere Informationen finden Sie in den Artikeln DNS-Konfigurationsszenarien und Azure Machine Learning-spezifische DNS-Konfiguration.
Schutz vor Datenexfiltration
Wir haben zwei Arten von ausgehenden Datenverkehr: schreibgeschützt und lesen/schreiben. Schreibgeschützter ausgehender Datenverkehr kann nicht von böswilligen Akteuren ausgenutzt werden, ausgehender Datenverkehr für Lesen/Schreiben jedoch schon. Azure Storage und Azure Frontdoor (das frontdoor.frontend
-Diensttag) sind in unserem Fall ausgehender Datenverkehr für Lesen/Schreiben.
Sie können dieses Datenexfiltrationsrisiko mit unserer Lösung zur Verhinderung von Datenexfiltration minimieren. Wir verwenden eine Dienstendpunktrichtlinie mit einem Azure Machine Learning-Alias, um den ausgehenden Datenverkehr nur für verwaltete Azure Machine Learning-Speicherkonten zuzulassen. Sie müssen keinen ausgehenden Datenverkehr für Storage auf Ihrer Firewall öffnen.
In diesem Diagramm müssen die Compute-Instanz und der Cluster auf verwaltete Azure Machine Learning-Speicherkonten zugreifen können, um Setupskripts abzurufen. Anstatt den ausgehenden Datenverkehr zum Speicher zu öffnen, können Sie die Dienstendpunktrichtlinie mit dem Azure Machine Learning-Alias verwenden, um den Speicherzugriff nur auf Azure Machine Learning-Speicherkonten zuzulassen.
In den folgenden Tabellen sind die erforderlichen Azure-Diensttags und vollqualifizierte Domänennamen (Fully Qualified Domain Names, FQDN) für ausgehenden Datenverkehr mit Einstellung zum Schutz vor Datenexfiltration aufgeführt:
Dienstags für ausgehenden Datenverkehr | Protocol | Port |
---|---|---|
AzureActiveDirectory |
TCP | 80, 443 |
AzureResourceManager |
TCP | 443 |
AzureMachineLearning |
UDP | 5831 |
BatchNodeManagement |
TCP | 443 |
FQDN für ausgehenden Datenverkehr | Protocol | Port |
---|---|---|
mcr.microsoft.com |
TCP | 443 |
*.data.mcr.microsoft.com |
TCP | 443 |
ml.azure.com |
TCP | 443 |
automlresources-prod.azureedge.net |
TCP | 443 |
Verwalteter Onlineendpunkt
Die Sicherheit für ein- und ausgehende Kommunikation wird verwaltete Onlineendpunkte separat konfiguriert.
Eingehende Kommunikation
Azure Machine Learning verwendet einen privaten Endpunkt, um eingehende Kommunikation mit einem verwalteten Online-Endpunkt zu sichern. Stellen Sie die public_network_access
Flag des Endpunkts zu disabled
, um den öffentlichen Zugriff darauf zu verhindern. Wenn diese Flag deaktiviert ist, kann nur über den privaten Endpunkt Ihres Azure Machine Learning Arbeitsbereichs auf Ihren Endpunkt zugegriffen werden, und er kann nicht über öffentliche Netzwerke erreicht werden.
Ausgehende Kommunikation
Um ausgehende Kommunikation von einer Bereitstellung zu Ressourcen zu sichern, verwendet Azure Machine Learning ein vom Arbeitsbereich verwaltetes virtuelles Netzwerk. Die Bereitstellung muss im vom Arbeitsbereich verwalteten VNet erstellt werden, damit sie die privaten Endpunkte des vom Arbeitsbereich verwalteten virtuellen Netzwerks für ausgehende Kommunikation verwenden kann.
Das folgende Architekturdiagramm zeigt, wie der Kommunikationsdatenverkehr über private Endpunkte zum verwalteten Onlineendpunkt fließt. Eingehende Bewertungsanforderungen vom virtuellen Netzwerk eines Clients fließen über den privaten Endpunkt des Arbeitsbereichs an den verwalteten Onlineendpunkt. Ausgehende Kommunikation zwischen Bereitstellungen und Diensten erfolgt über private Endpunkte vom verwalteten virtuellen Netzwerk des Arbeitsbereichs an diese Dienstinstanzen.
Weitere Informationen finden Sie unter Netzwerkisolation mit verwalteten Onlineendpunkten.
Mangel an privaten IP-Adressen in Ihrem Hauptnetzwerk
Azure Machine Learning erfordert private IP-Adressen. eine IP-Adresse pro Compute-Instanz, Computeclusterknoten und privatem Endpunkt. Sie benötigen auch viele IP-Adressen, wenn Sie AKS verwenden. Ihr Hub-Spoke-Netzwerk, das mit Ihrem lokalen Netzwerk verbunden ist, verfügt möglicherweise nicht über einen ausreichend großen privaten IP-Adressraum. In diesem Szenario können Sie isolierte VNets ohne Peering für Ihre Azure Machine Learning-Ressourcen verwenden.
In diesem Diagramm erfordert Ihr Haupt-VNet die IP-Adressen für private Endpunkte. Sie können Hub-Spoke-VNets für mehrere Azure Machine Learning-Arbeitsbereiche mit großen Adressräumen verwenden. Ein Nachteil dieser Architektur ist die Verdoppelung der Anzahl der privaten Endpunkte.
Netzwerkrichtlinienerzwingung
Sie können integrierte Richtlinien verwenden, wenn Sie die Parameter für die Netzwerkisolation mithilfe der Erstellung von Self-Service-Arbeitsbereichen und -Computingressourcen steuern möchten.
Weitere nebensächliche Überlegungen
Computeeinstellung für Imageerstellung für ACR hinter VNet
Wenn Sie Ihre Azure-Containerregistrierung (Azure Container Registry, ACR) hinter Ihrem privaten Endpunkt platzieren, kann Ihr ACR Ihre Docker-Images nicht erstellen. Sie müssen eine Compute-Instanz oder einen Computecluster verwenden, um Images zu erstellen. Weitere Informationen finden Sie im Artikel Festlegen des Compute zum Erstellen von Images.
Aktivieren der Studio-Benutzeroberfläche mit aktiviertem Private Link-Arbeitsbereich
Wenn Sie die Azure Machine Learning Studio verwenden möchten, sind zusätzliche Konfigurationsschritte erforderlich. Diese Schritte dienen dazu, Datenexfiltrationsszenarien zu verhindern. Weitere Informationen finden Sie im Artikel Verwenden von Azure Machine Learning Studio in einem virtuellen Azure-Netzwerk.
Nächste Schritte
Weitere Informationen zur Verwendung eines verwalteten virtuellen Netzwerks finden Sie in den folgenden Artikeln:
- Verwaltete Netzwerkisolation
- Verwenden eines privaten Endpunkts für den Zugriff auf Ihren Arbeitsbereich
- Verwenden von benutzerdefiniertem DNS
Weitere Informationen zur Verwendung eines Azure Virtual Network finden Sie in den folgenden Artikeln: