Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY:Rozszerzenie Azure CLI ml v2 (bieżące)
Python SDK azure-ai-ml v2 (bieżące)
Usługa Azure Machine Learning zapewnia obsługę izolacji zarządzanej sieci wirtualnej (zarządzanej sieci wirtualnej). Izolacja zarządzanej sieci wirtualnej usprawnia i automatyzuje konfigurację izolacji sieci za pomocą wbudowanej sieci wirtualnej zarządzanej na poziomie obszaru roboczego usługi Azure Machine Learning. Zarządzana sieć wirtualna zabezpiecza zarządzane zasoby usługi Azure Machine Learning, takie jak wystąpienia obliczeniowe, klastry obliczeniowe, przetwarzanie bezserwerowe i zarządzane punkty końcowe online.
Zabezpieczanie obszaru roboczego za pomocą sieci zarządzanej zapewnia izolację sieci na potrzeby dostępu wychodzącego z obszaru roboczego i zarządzanych zasobów obliczeniowych. Utworzona sieć wirtualna platformy Azure, którą tworzysz i zarządzasz służy do zapewnienia izolacji sieci dla dostępu przychodzącego do obszaru roboczego. Na przykład prywatny punkt końcowy dla obszaru roboczego jest tworzony w usłudze Azure Virtual Network. Wszyscy klienci łączący się z siecią wirtualną mogą uzyskiwać dostęp do obszaru roboczego za pośrednictwem prywatnego punktu końcowego. Podczas uruchamiania zadań na zarządzanych obliczeniach, sieć zarządzana ogranicza dostęp obliczeń do różnych zasobów.
Architektura zarządzanej sieci wirtualnej
Po włączeniu izolacji zarządzanej sieci wirtualnej zostanie utworzona zarządzana sieć wirtualna dla obszaru roboczego. Zarządzane zasoby obliczeniowe tworzone dla obszaru roboczego automatycznie używają tej zarządzanej sieci wirtualnej. Zarządzana sieć wirtualna może używać prywatnych punktów końcowych dla zasobów platformy Azure używanych przez obszar roboczy, takich jak Azure Storage, Azure Key Vault i Azure Container Registry.
Istnieją dwa różne tryby konfiguracji dla ruchu wychodzącego z zarządzanej sieci wirtualnej:
Napiwek
Niezależnie od używanego trybu ruchu wychodzącego można skonfigurować ruch do zasobów platformy Azure w celu korzystania z prywatnego punktu końcowego. Na przykład możesz zezwolić na cały ruch wychodzący do Internetu, ale ograniczyć komunikację z zasobami platformy Azure, dodając reguły ruchu wychodzącego dla zasobów.
Tryb wychodzący | opis | Scenariusze |
---|---|---|
Zezwalaj na ruch wychodzący z Internetu | Zezwalaj na cały ruch wychodzący z zarządzanej sieci wirtualnej. | Potrzebujesz nieograniczonego dostępu do zasobów uczenia maszynowego w Internecie, takich jak pakiety języka Python lub wstępnie wytrenowane modele.1 |
Zezwalaj tylko na zatwierdzony ruch wychodzący | Ruch wychodzący jest dozwolony poprzez określenie tagów usługowych. | * Chcesz zminimalizować ryzyko eksfiltracji danych, ale musisz przygotować wszystkie wymagane artefakty uczenia maszynowego w środowisku prywatnym. * Chcesz skonfigurować dostęp wychodzący do zatwierdzonej listy usług, tagów usług lub nazw FQDN. |
Niepełnosprawny | Ruch przychodzący i wychodzący nie jest ograniczony lub używasz własnej sieci wirtualnej platformy Azure do ochrony zasobów. | Chcesz, aby ruch publiczny przychodzący i wychodzący z obszaru roboczego był dozwolony, lub może obsługujesz izolację sieci za pomocą własnej sieci wirtualnej platformy Azure. |
- Możesz użyć reguł ruchu wychodzącego z trybem, który pozwala tylko na zatwierdzony ruch wychodzący, aby osiągnąć taki sam wynik, jak w przypadku zezwalania na ruch wychodzący z Internetu. Różnice są następujące:
- Musisz dodać reguły dla każdego połączenia wychodzącego, które należy zezwolić.
- Dodawanie reguł ruchu wychodzącego nazwy FQDN zwiększa koszty , ponieważ ten typ reguły używa usługi Azure Firewall. Aby uzyskać więcej informacji, zobacz Ceny
- Domyślne reguły zezwalania tylko na zatwierdzone dane wychodzące zostały zaprojektowane tak, aby zminimalizować ryzyko eksfiltracji danych. Wszelkie dodane reguły ruchu wychodzącego mogą zwiększyć ryzyko.
Zarządzana sieć wirtualna jest wstępnie skonfigurowana z wymaganymi regułami domyślnymi. Została skonfigurowana także dla połączeń prywatnych punktów końcowych z obszarem roboczym, domyślnym magazynem obszaru roboczego, rejestrem kontenerów i magazynem kluczy , jeśli są skonfigurowane jako prywatne lub tryb izolacji obszaru roboczego jest ustawiony tak, aby zezwalał tylko na zatwierdzony ruch wychodzący. Po wybraniu trybu izolacji należy wziąć pod uwagę tylko inne wymagania dotyczące ruchu wychodzącego, które mogą być konieczne.
Na poniższym diagramie przedstawiono zarządzaną sieć wirtualną skonfigurowaną do zezwalania na ruch wychodzący z Internetu:
Na poniższym diagramie przedstawiono zarządzaną sieć wirtualną skonfigurowaną tak, aby zezwalała tylko na zatwierdzony ruch wychodzący:
Uwaga
W tej konfiguracji magazyn, magazyn kluczy i rejestr kontenerów używany przez obszar roboczy są oflagowane jako prywatne. Ponieważ są one oflagowane jako prywatne, prywatny punkt końcowy jest używany do komunikacji z nimi.
Uwaga
Po skonfigurowaniu zarządzanego obszaru roboczego sieci wirtualnej w celu zezwalania na ruch wychodzący z Internetu nie można ponownie skonfigurować obszaru roboczego do wyłączenia. Podobnie po skonfigurowaniu zarządzanego obszaru roboczego sieci wirtualnej tak, aby zezwalał na ruch wychodzący tylko zatwierdzony, nie można ponownie skonfigurować obszaru roboczego, aby zezwolić na ruch wychodzący z Internetu.
Azure Machine Learning Studio
Jeśli chcesz użyć zintegrowanego notesu lub utworzyć zestawy danych na domyślnym koncie magazynu z poziomu programu Studio, klient musi mieć dostęp do domyślnego konta magazynu. Utwórz prywatny punkt końcowy lub punkt końcowy usługi dla domyślnego konta magazynu w sieci wirtualnej platformy Azure używanej przez klientów.
Część usługi Azure Machine Learning Studio działa lokalnie w przeglądarce internetowej klienta i komunikuje się bezpośrednio z domyślnym magazynem dla obszaru roboczego. Utworzenie prywatnego punktu końcowego lub punktu końcowego usługi (dla domyślnego konta magazynu) w sieci wirtualnej klienta gwarantuje, że klient może komunikować się z kontem magazynu.
Jeśli obszar roboczy skojarzony z kontem usługi Azure Storage ma wyłączony dostęp do sieci publicznej, upewnij się, że prywatny punkt końcowy, utworzony w wirtualnej sieci klienta, ma przypisaną rolę czytelnika tożsamości zarządzanej obszaru roboczego. Dotyczy to zarówno prywatnych punktów końcowych bloga, jak i magazynu plików. Rola nie jest wymagana dla prywatnego punktu końcowego utworzonego przez zarządzaną sieć wirtualną.
Aby uzyskać więcej informacji na temat tworzenia prywatnego punktu końcowego lub punktu końcowego usługi, zobacz artykuły Connect privately to a storage account oraz Service Endpoints.
Zabezpieczone powiązane zasoby
Jeśli dodasz następujące usługi do sieci wirtualnej przy użyciu punktu końcowego usługi lub prywatnego punktu końcowego (wyłączając dostęp publiczny), zezwól zaufanym usługi firmy Microsoft na dostęp do tych usług:
Usługa | Informacje o punkcie końcowym | Zezwalaj na zaufane informacje |
---|---|---|
Azure Key Vault |
Punkt końcowy usługi Prywatny punkt końcowy |
Zezwalaj zaufanym usługi firmy Microsoft na obejście tej zapory |
Konto magazynu platformy Azure |
Punkt końcowy usługi i punkt końcowy prywatny Punkt końcowy prywatny |
Udzielanie dostępu z wystąpień zasobów platformy Azure lub udzielanie dostępu do zaufanych usług platformy Azure |
Azure Container Registry | Prywatny punkt końcowy | Zezwalaj na zaufane usługi |
Wymagania wstępne
Przed wykonaniem kroków opisanych w tym artykule upewnij się, że masz następujące wymagania wstępne:
Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Learning.
Dostawca zasobów Microsoft.Network musi być zarejestrowany dla subskrypcji platformy Azure. Ten dostawca zasobów jest używany przez obszar roboczy podczas tworzenia prywatnych punktów końcowych dla zarządzanej sieci wirtualnej.
Aby uzyskać informacje na temat rejestrowania dostawców zasobów, zobacz Rozwiązywanie błędów dotyczących rejestracji dostawcy zasobów.
Tożsamość platformy Azure używana podczas wdrażania sieci zarządzanej wymaga następujących akcji kontroli dostępu opartej na rolach (RBAC) platformy Azure w celu utworzenia prywatnych punktów końcowych:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
Interfejs wiersza polecenia platformy Azure i rozszerzenie do interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz Instalowanie, konfigurowanie i używanie interfejsu wiersza polecenia (wersja 2).
Napiwek
Zarządzana sieć wirtualna usługi Azure Machine Learning została wprowadzona 23 maja 2023 r. Jeśli masz starszą wersję rozszerzenia ml, może być konieczne zaktualizowanie go w celu uzyskania przykładów w tym artykule. Aby zaktualizować rozszerzenie, użyj następującego polecenia interfejsu wiersza polecenia platformy Azure:
az extension update -n ml
W przykładach CLI tego artykułu przyjmuje się, że korzystasz z powłoki Bash (lub zgodnej). Na przykład z systemu Linux lub Podsystem Windows dla systemu Linux.
Przykłady interfejsu wiersza polecenia platformy Azure w tym artykule służą
ws
do reprezentowania nazwy obszaru roboczego irg
reprezentowania nazwy grupy zasobów. Zmień te wartości zgodnie z potrzebami podczas używania poleceń z subskrypcją platformy Azure.
Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Learning.
Dostawca zasobów Microsoft.Network musi być zarejestrowany dla subskrypcji platformy Azure. Ten dostawca zasobów jest używany przez obszar roboczy podczas tworzenia prywatnych punktów końcowych dla zarządzanej sieci wirtualnej.
Aby uzyskać informacje na temat rejestrowania dostawców zasobów, zobacz Rozwiązywanie błędów dotyczących rejestracji dostawcy zasobów.
Tożsamość platformy Azure używana podczas wdrażania sieci zarządzanej wymaga następujących akcji kontroli dostępu opartej na rolach (RBAC) platformy Azure w celu utworzenia prywatnych punktów końcowych:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
Zestaw SDK języka Python usługi Azure Machine Learning w wersji 2. Aby uzyskać więcej informacji na temat zestawu SDK, zobacz Instalowanie zestawu SDK języka Python w wersji 2 dla usługi Azure Machine Learning.
Napiwek
Zarządzana sieć wirtualna usługi Azure Machine Learning została wprowadzona 23 maja 2023 r. Jeśli masz zainstalowaną starszą wersję zestawu SDK, może być konieczne zaktualizowanie go, aby przykłady w tym artykule działały. Aby zaktualizować zestaw SDK, użyj następującego polecenia:
pip install --upgrade azure-ai-ml azure-identity
W przykładach w tym artykule przyjęto założenie, że kod zaczyna się od następującego języka Python. Ten kod importuje klasy wymagane podczas tworzenia obszaru roboczego z zarządzaną siecią wirtualną, ustawia zmienne dla subskrypcji i grupy zasobów platformy Azure i tworzy element
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)
Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Learning.
Dostawca zasobów Microsoft.Network musi być zarejestrowany dla subskrypcji platformy Azure. Ten dostawca zasobów jest używany przez obszar roboczy podczas tworzenia prywatnych punktów końcowych dla zarządzanej sieci wirtualnej.
Aby uzyskać informacje na temat rejestrowania dostawców zasobów, zobacz Rozwiązywanie błędów dotyczących rejestracji dostawcy zasobów.
Tożsamość platformy Azure używana podczas wdrażania sieci zarządzanej wymaga następujących akcji kontroli dostępu opartej na rolach (RBAC) platformy Azure w celu utworzenia prywatnych punktów końcowych:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
Aby ustanowić połączenia prywatnego punktu końcowego w zarządzanych sieciach wirtualnych przy użyciu usługi Azure Machine Learning, zarządzana tożsamość obszaru roboczego, niezależnie od tego, czy jest przypisana przez system, czy przez użytkownika, oraz tożsamość użytkownika, które inicjują tworzenie prywatnego punktu końcowego, muszą mieć uprawnienia do zatwierdzania połączeń prywatnych punktów końcowych w zasobach docelowych. Po 30 kwietnia 2025 r. uprawnienia nie zostaną automatycznie przyznane tożsamości zarządzanej i muszą zostać przypisane ręcznie.
Firma Microsoft zaleca przypisanie roli Aprobującego połączenia sieciowego Azure AI Enterprise dla tożsamości zarządzanej. Poniższa lista zawiera typy zasobów docelowych dla prywatnych punktów końcowych objętych rolą Azure AI Enterprise Network Connection Approver:
- Azure Application Gateway
- Azure Monitor
- Azure AI Search
- Centra zdarzeń
- Azure SQL Database
- Azure Storage
- Obszar roboczy usługi Azure Machine Learning
- Rejestr usługi Azure Machine Learning
- Azure AI Foundry
- Azure Key Vault
- Azure Cosmos DB (Usługa bazodanowa firmy Microsoft)
- Azure Baza danych dla MySQL
- Baza danych Azure dla PostgreSQL
- Usługi Azure AI
- Usługa Azure Cache dla Redis
- Rejestr kontenerów
- API Management
Jeśli zamiast tego chcesz utworzyć rolę niestandardową, zobacz Rolę osoby zatwierdzającej połączenie sieciowe przedsiębiorstwa Azure AI, aby dodać konkretne działania dla każdego typu zasobu.
Aby utworzyć reguły ruchu wychodzącego prywatnego punktu końcowego dla docelowych typów zasobów, które nie są objęte rolą Azure AI Enterprise Network Connection Approver, zaleca się niestandardową rolę o określonym zakresie. Rola powinna być zdefiniowana przy użyciu akcji niezbędnych do zatwierdzania połączeń prywatnych punktów końcowych w docelowych typach zasobów. Przykłady takich typów zasobów to Azure Data Factory, Azure Databricks i Azure Function Apps.
Aby utworzyć reguły ruchu wychodzącego prywatnego punktu końcowego do domyślnych zasobów obszaru roboczego, wymagane uprawnienia są automatycznie objęte przypisaniami ról przyznanymi podczas tworzenia obszaru roboczego, więc nie jest wymagana żadna inna akcja.
Skonfiguruj zarządzaną sieć wirtualną, aby umożliwić ruch wychodzący do internetu.
Napiwek
Tworzenie zarządzanej sieci wirtualnej jest odroczone do momentu utworzenia zasobu obliczeniowego lub ręcznego uruchomienia aprowizacji. Jeśli zezwolisz na automatyczne tworzenie, utworzenie pierwszego zasobu obliczeniowego może potrwać około 30 minut, ponieważ obejmuje również aprowizację sieci. Aby uzyskać więcej informacji, zobacz Ręczne aprowizuj sieć.
Ważne
Jeśli planujesz przesyłanie bezserwerowych zadań platformy Spark, musisz ręcznie rozpocząć aprowizację. Aby uzyskać więcej informacji, zobacz sekcję Konfigurowanie zadań platformy Spark bezserwerowych .
Aby skonfigurować zarządzaną sieć wirtualną zezwalającą na komunikację wychodzącą z Internetu, możesz użyć parametru --managed-network allow_internet_outbound
lub pliku konfiguracji YAML zawierającego następujące wpisy:
managed_network:
isolation_mode: allow_internet_outbound
Możesz również zdefiniować reguły ruchu wychodzącego do innych usług platformy Azure, na których opiera się obszar roboczy. Te reguły definiują prywatne punkty końcowe, które umożliwiają zasobowi platformy Azure bezpieczną komunikację z zarządzaną siecią wirtualną. Poniższa reguła pokazuje dodawanie prywatnego punktu końcowego do zasobu obiektu blob platformy Azure.
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
Zarządzaną sieć wirtualną można skonfigurować przy użyciu polecenia az ml workspace create
lub az ml workspace update
.
Poniższy przykład tworzy nowy obszar roboczy. Parametr --managed-network allow_internet_outbound
konfiguruje zarządzaną sieć wirtualną dla obszaru roboczego:
az ml workspace create --name ws --resource-group rg --managed-network allow_internet_outbound
Aby utworzyć obszar roboczy przy użyciu pliku YAML, użyj parametru --file
i określ plik YAML zawierający ustawienia konfiguracji:
az ml workspace create --file workspace.yaml --resource-group rg --name ws
Poniższy przykład YAML definiuje obszar roboczy z zarządzaną siecią wirtualną:
name: myworkspace
location: EastUS
managed_network:
isolation_mode: allow_internet_outbound
Aby skonfigurować zarządzaną wirtualną sieć, która zezwala na komunikację wychodzącą do Internetu, użyj ManagedNetwork
klasy, aby zdefiniować sieć za pomocą IsolationMode.ALLOW_INTERNET_OUTBOUND
polecenia. Następnie możesz użyć ManagedNetwork
obiektu , aby utworzyć nowy obszar roboczy lub zaktualizować istniejący. Aby zdefiniować reguły ruchu wychodzącego do usług platformy Azure, z których korzysta obszar roboczy, użyj PrivateEndpointDestination
klasy , aby zdefiniować nowy prywatny punkt końcowy dla usługi.
Poniższy przykład tworzy nowy obszar roboczy o nazwie myworkspace
, z regułą ruchu wychodzącego o nazwie myrule
, która dodaje prywatny punkt końcowy dla magazynu obiektów blob platformy Azure.
# 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()
Zaloguj się do witryny Azure Portal i wybierz pozycję Azure Machine Learning z menu Utwórz zasób.
Podaj wymagane informacje na karcie Podstawy .
Na karcie Sieć wybierz pozycję Prywatna z internetem wychodzącym.
Aby dodać regułę ruchu wychodzącego, wybierz pozycję Dodaj reguły ruchu wychodzącego zdefiniowane przez użytkownika z karty Sieć. Na pasku bocznym Reguły ruchu wychodzącego obszaru roboczego podaj następujące informacje:
- Nazwa reguły: Nazwa dla reguły. Nazwa musi być unikatowa dla tego obszaru roboczego.
- Typ docelowy: Prywatny punkt końcowy jest jedyną opcją, gdy prywatna izolacja sieciowa występuje z wychodzącym ruchem internetowym. Zarządzana sieć wirtualna usługi Azure Machine Learning nie obsługuje tworzenia prywatnego punktu końcowego dla wszystkich typów zasobów platformy Azure. Aby uzyskać listę obsługiwanych zasobów, zobacz sekcję Prywatne punkty końcowe .
- Subskrypcja: subskrypcja zawierająca zasób platformy Azure, dla którego chcesz dodać prywatny punkt końcowy.
- Grupa zasobów: grupa zasobów zawierająca zasób platformy Azure, dla którego chcesz dodać prywatny punkt końcowy.
- Typ zasobu: typ zasobu platformy Azure.
- Nazwa zasobu: nazwa zasobu platformy Azure.
- Zasób podrzędny: zasób podrzędny typu zasobu platformy Azure.
- Platforma Spark jest włączona: wybierz tę opcję, jeśli chcesz włączyć bezserwerowe zadania platformy Spark dla obszaru roboczego. Ta opcja jest dostępna tylko wtedy, gdy typ zasobu to Azure Storage.
Wybierz Zapisz, aby zapisać zasadę. Możesz kontynuować używanie Dodaj reguły ruchu wychodzącego zdefiniowane przez użytkownika aby dodawać reguły.
Kontynuuj tworzenie obszaru roboczego w zwykły sposób.
Konfigurowanie zarządzanej sieci wirtualnej tak, aby zezwalała tylko na zatwierdzony ruch wychodzący
Napiwek
Zarządzana sieć wirtualna jest automatycznie aprowizowana podczas tworzenia zasobu obliczeniowego. Jeśli zezwolisz na automatyczne tworzenie, utworzenie pierwszego zasobu obliczeniowego może potrwać około 30 minut, ponieważ obejmuje również aprowizację sieci. Jeśli skonfigurowano reguły nazwy FQDN (Fully Qualified Domain Name) ruchu wychodzącego, pierwsza reguła FQDN dodaje około 10 minut do czasu provisioningu. Aby uzyskać więcej informacji, zobacz Ręczne aprowizuj sieć.
Ważne
Jeśli planujesz przesyłanie bezserwerowych zadań platformy Spark, musisz ręcznie rozpocząć aprowizację. Aby uzyskać więcej informacji, zobacz sekcję Konfigurowanie zadań platformy Spark bezserwerowych .
Aby skonfigurować zarządzaną sieć wirtualną zezwalającą tylko na zatwierdzoną komunikację wychodzącą, można użyć parametru --managed-network allow_only_approved_outbound
lub pliku konfiguracji YAML zawierającego następujące wpisy:
managed_network:
isolation_mode: allow_only_approved_outbound
Można również zdefiniować reguły ruchu wychodzącego, aby zdefiniować zatwierdzoną komunikację wychodzącą. Można utworzyć regułę ruchu wychodzącego dla typu service_tag
, fqdn
i private_endpoint
. Poniższa reguła pokazuje dodawanie prywatnego punktu końcowego do zasobu obiektu blob platformy Azure, tagu usługi do usługi Azure Data Factory i nazwy FQDN do :pypi.org
Ważne
- Dodanie ruchu wychodzącego dla tagu usługi lub nazwy FQDN jest prawidłowe tylko wtedy, gdy zarządzana sieć wirtualna jest skonfigurowana na wartość
allow_only_approved_outbound
. - Jeśli dodasz reguły ruchu wychodzącego, firma Microsoft nie może zagwarantować eksfiltracji danych.
Ostrzeżenie
Reguły ruchu wychodzącego oparte na FQDN są implementowane przy użyciu usługi Azure Firewall. Jeśli używasz reguł nazwy FQDN dla ruchu wychodzącego, opłaty za usługę Azure Firewall zostaną dodane do rozliczeń. Aby uzyskać więcej informacji, zobacz Cennik.
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
Zarządzaną sieć wirtualną można skonfigurować przy użyciu polecenia az ml workspace create
lub az ml workspace update
.
W poniższym przykładzie użyto parametru --managed-network allow_only_approved_outbound
do skonfigurowania zarządzanej sieci wirtualnej:
az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound
Poniższy plik YAML definiuje obszar roboczy z zarządzaną siecią wirtualną:
name: myworkspace
location: EastUS
managed_network:
isolation_mode: allow_only_approved_outbound
Aby utworzyć obszar roboczy przy użyciu pliku YAML, użyj parametru --file
:
az ml workspace create --file workspace.yaml --resource-group rg --name ws
Aby skonfigurować zarządzaną sieć wirtualną, która zezwala na tylko zatwierdzoną komunikację wychodzącą, użyj ManagedNetwork
klasy, aby zdefiniować sieć za pomocą IsolationMode.ALLOw_ONLY_APPROVED_OUTBOUND
. Następnie możesz użyć ManagedNetwork
obiektu , aby utworzyć nowy obszar roboczy lub zaktualizować istniejący. Aby zdefiniować reguły ruchu wychodzącego, użyj następujących klas:
Cel | Klasa |
---|---|
Usługa platformy Azure, na której polega obszar roboczy | PrivateEndpointDestination |
Tag usługi platformy Azure | ServiceTagDestination |
W pełni kwalifikowana nazwa domeny (FQDN) | FqdnDestination |
Poniższy przykład tworzy nowy obszar roboczy o nazwie myworkspace
, z kilkoma regułami ruchu wychodzącego:
-
myrule
— Dodaje prywatny punkt końcowy dla magazynu obiektów blob platformy Azure. -
datafactory
— Dodaje regułę tagu usługi do komunikowania się z usługą Azure Data Factory.
Ważne
- Dodanie ruchu wychodzącego dla tagu usługi lub nazwy FQDN jest prawidłowe tylko wtedy, gdy zarządzana sieć wirtualna jest skonfigurowana na wartość
IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND
. - Jeśli dodasz reguły ruchu wychodzącego, firma Microsoft nie może zagwarantować eksfiltracji danych.
Ostrzeżenie
Reguły ruchu wychodzącego oparte na FQDN są implementowane przy użyciu usługi Azure Firewall. Jeśli używasz reguł nazwy FQDN dla ruchu wychodzącego, opłaty za usługę Azure Firewall zostaną dodane do rozliczeń. Aby uzyskać więcej informacji, zobacz Cennik.
# 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()
Zaloguj się do witryny Azure Portal i wybierz pozycję Azure Machine Learning z menu Utwórz zasób.
Podaj wymagane informacje na karcie Podstawy .
Na karcie Sieć wybierz pozycję Prywatna z zatwierdzonym wyjściem.
Aby dodać regułę ruchu wychodzącego, wybierz pozycję Dodaj reguły ruchu wychodzącego zdefiniowane przez użytkownika z karty Sieć. Na pasku bocznym Reguły ruchu wychodzącego obszaru roboczego podaj następujące informacje:
- Nazwa reguły: Nazwa dla reguły. Nazwa musi być unikatowa dla tego obszaru roboczego.
- Typ docelowy: Prywatny punkt końcowy, tag usługi lub FQDN. Tag usługi i nazwa FQDN są dostępne tylko wtedy, gdy izolacja sieci jest prywatna z zatwierdzonym wychodzącym.
Jeśli typem docelowym jest prywatny punkt końcowy, podaj następujące informacje:
- Subskrypcja: subskrypcja zawierająca zasób platformy Azure, dla którego chcesz dodać prywatny punkt końcowy.
- Grupa zasobów: grupa zasobów zawierająca zasób platformy Azure, dla którego chcesz dodać prywatny punkt końcowy.
- Typ zasobu: typ zasobu platformy Azure.
- Nazwa zasobu: nazwa zasobu platformy Azure.
- Zasób podrzędny: zasób podrzędny typu zasobu platformy Azure.
- Platforma Spark jest włączona: wybierz tę opcję, jeśli chcesz włączyć bezserwerowe zadania platformy Spark dla obszaru roboczego. Ta opcja jest dostępna tylko wtedy, gdy typ zasobu to Azure Storage.
Napiwek
Zarządzana sieć wirtualna usługi Azure Machine Learning nie obsługuje tworzenia prywatnego punktu końcowego dla wszystkich typów zasobów platformy Azure. Aby uzyskać listę obsługiwanych zasobów, zobacz sekcję Prywatne punkty końcowe .
Jeśli typem docelowym jest tag usługi, podaj następujące informacje:
- Tag usługi: tag usługi, który ma zostać dodany do zatwierdzonych reguł ruchu wychodzącego.
- Protokół: protokół umożliwiający tag usługi.
- Zakresy portów: Zakresy portów, które pozwalają na użycie tagu usługi.
Jeśli typem docelowym jest FQDN, podaj następujące informacje:
Ostrzeżenie
Reguły ruchu wychodzącego oparte na FQDN są implementowane przy użyciu usługi Azure Firewall. Jeśli używasz reguł nazwy FQDN dla ruchu wychodzącego, opłaty za usługę Azure Firewall zostaną dodane do rozliczeń. Aby uzyskać więcej informacji, zobacz Cennik.
- Docelowy FQDN: w pełni kwalifikowana nazwa domeny do dodania do zatwierdzonych reguł ruchu wychodzącego.
Wybierz Zapisz, aby zapisać zasadę. Możesz kontynuować używanie Dodaj reguły ruchu wychodzącego zdefiniowane przez użytkownika aby dodawać reguły.
Kontynuuj tworzenie obszaru roboczego w zwykły sposób.
Konfigurowanie zadań bezserwerowych Spark
Napiwek
Kroki opisane w tej sekcji są wymagane tylko w przypadku planowania przesyłania bezserwerowych zadań platformy Spark. Jeśli nie zamierzasz przesyłać bezserwerowych zadań platformy Spark, możesz pominąć tę sekcję.
Aby włączyć bezserwerowe zadania platformy Spark dla zarządzanej sieci wirtualnej, należy wykonać następujące czynności:
- Skonfiguruj zarządzaną sieć wirtualną dla obszaru roboczego i dodaj wychodzący prywatny punkt końcowy dla konta usługi Azure Storage.
- Po skonfigurowaniu zarządzanej sieci wirtualnej, aprowizuj ją i oznacz, aby zezwolić na zadania Spark.
Skonfiguruj wychodzący prywatny punkt końcowy.
Użyj pliku YAML, aby zdefiniować konfigurację zarządzanej sieci wirtualnej i dodać prywatny punkt końcowy dla konta usługi Azure Storage. Ustaw również :
spark_enabled: true
Napiwek
Ten przykład dotyczy zarządzanej sieci wirtualnej skonfigurowanej przy użyciu funkcji
isolation_mode: allow_internet_outbound
zezwalania na ruch internetowy. Jeśli chcesz zezwolić tylko na zatwierdzony ruch wychodzący, użyj poleceniaisolation_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
Możesz użyć pliku konfiguracji YAML z
az ml workspace update
poleceniem, określając--file
parametr i nazwę pliku YAML. Na przykład następujące polecenie aktualizuje istniejący obszar roboczy przy użyciu pliku YAML o nazwieworkspace_pe.yml
:az ml workspace update --file workspace_pe.yml --resource_group rg --name ws
Uwaga
Jeśli opcja Zezwalaj tylko na zatwierdzony ruch wychodzący jest włączona (
isolation_mode: allow_only_approved_outbound
), nie można zainstalować zależności pakietów conda zdefiniowanych w konfiguracji sesji platformy Spark. Aby rozwiązać ten problem, przekaż samodzielne koło pakietów języka Python bez zależności zewnętrznych do konta usługi Azure Storage i utwórz prywatny punkt końcowy na to konto magazynu. Użyj ścieżki do koła pakietów języka Python jakopy_files
parametru w zadaniu platformy Spark. Ustawienie reguły ruchu wychodzącego nazwy FQDN nie spowoduje obejścia tego problemu, ponieważ propagacja reguły nazwy FQDN nie jest obsługiwana przez platformę Spark.W poniższym przykładzie pokazano, jak utworzyć zarządzaną sieć wirtualną dla istniejącego obszaru roboczego usługi Azure Machine Learning o nazwie
myworkspace
. Dodaje również prywatny punkt końcowy dla konta usługi Azure Storage i ustawia wartośćspark_enabled=true
:Napiwek
Poniższy przykład dotyczy zarządzanej sieci wirtualnej skonfigurowanej przy użyciu funkcji
IsolationMode.ALLOW_INTERNET_OUTBOUND
zezwalania na ruch internetowy. Jeśli chcesz zezwolić tylko na zatwierdzony ruch wychodzący, użyj poleceniaIsolationMode.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)
Uwaga
- Jeśli opcja Zezwalaj tylko na zatwierdzony ruch wychodzący jest włączona (
isolation_mode: allow_only_approved_outbound
), nie można zainstalować zależności pakietów conda zdefiniowanych w konfiguracji sesji platformy Spark. Aby rozwiązać ten problem, przekaż samodzielne koło pakietów języka Python bez zależności zewnętrznych do konta usługi Azure Storage i utwórz prywatny punkt końcowy na to konto magazynu. Użyj ścieżki do koła pakietów języka Python jakopy_files
parametru w zadaniu platformy Spark. - Jeśli obszar roboczy został utworzony za pomocą
IsolationMode.ALLOW_INTERNET_OUTBOUND
, nie można go później zaktualizować do użyciaIsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND
.
Zaloguj się do witryny Azure Portal i wybierz obszar roboczy usługi Azure Machine Learning.
Wybierz pozycję Sieć, a następnie wybierz pozycję Dodaj reguły ruchu wychodzącego zdefiniowane przez użytkownika. Dodaj regułę dla konta usługi Azure Storage i upewnij się, że wybrano opcję Włączono platformę Spark.
Wybierz pozycję Zapisz , aby zapisać regułę, a następnie wybierz pozycję Zapisz w górnej części obszaru Sieć , aby zapisać zmiany w zarządzanej sieci wirtualnej.
- Jeśli opcja Zezwalaj tylko na zatwierdzony ruch wychodzący jest włączona (
Przygotuj zarządzaną sieć wirtualną.
Uwaga
Jeśli obszar roboczy ma włączony dostęp do sieci publicznej, należy go wyłączyć przed aprowizowaniem zarządzanej sieci wirtualnej. Jeśli nie wyłączysz dostępu do sieci publicznej podczas aprowizacji zarządzanej sieci wirtualnej, prywatne punkty końcowe obszaru roboczego mogą nie zostać utworzone automatycznie w zarządzanej sieci wirtualnej. W przeciwnym razie należy ręcznie skonfigurować regułę ruchu wychodzącego prywatnego punktu końcowego dla obszaru roboczego po aprowizacji.
W poniższym przykładzie pokazano, jak aprowizować zarządzaną sieć wirtualną dla zadań bezserwerowych platformy Spark przy użyciu parametru
--include-spark
.az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-spark
W poniższym przykładzie pokazano, jak aprowizować zarządzaną sieć wirtualną dla zadań bezserwerowych platformy Spark:
# 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()
W witrynie Azure Portal możesz wybrać tylko aprowizację sieci zarządzanej podczas tworzenia obszaru roboczego. W tym celu wybierz pozycję Aprowizuj zarządzaną sieć wirtualną na karcie Dostęp wychodzący . Aby aprowizować sieć zarządzaną dla zadań platformy Spark bezserwerowych dla istniejącego obszaru roboczego, musisz użyć interfejsu wiersza polecenia platformy Azure lub zestawu SDK języka Python.
Ręczne aprowizuj zarządzaną sieć wirtualną
Zarządzana sieć wirtualna jest automatycznie aprowizowana podczas tworzenia wystąpienia obliczeniowego. W przypadku automatycznej aprowizacji tworzenie pierwszego wystąpienia obliczeniowego może potrwać około 30 minut, ponieważ aprowizacja sieci jest również zajęła około 30 minut . Jeśli skonfigurowano reguły ruchu wychodzącego nazwy FQDN (dostępne tylko z trybem zezwalania tylko na zatwierdzenie), pierwsza reguła nazwy FQDN dodaje około 10 minut do czasu aprowizacji. Jeśli masz duży zestaw reguł ruchu wychodzącego do wdrożenia w sieci zarządzanej, może to zająć więcej czasu. Zwiększony czas aprowizacji może spowodować przekroczenie limitu czasu utworzenia pierwszego wystąpienia obliczeniowego.
Aby skrócić czas oczekiwania i uniknąć potencjalnych błędów przekroczenia limitu czasu, zalecamy ręczne aprowizowanie sieci zarządzanej. Następnie poczekaj na zakończenie aprowizacji przed utworzeniem wystąpienia obliczeniowego.
Alternatywnie możesz użyć provision_network_now
flagi, aby udostępnić sieć zarządzaną w ramach tworzenia obszaru roboczego.
Uwaga
Aby zapewnić wdrożenie online, musisz ręcznie przydzielić sieć zarządzaną lub najpierw utworzyć instancję obliczeniową, która automatycznie ją przydzieli.
W poniższym przykładzie pokazano, jak aprowizować zarządzaną sieć wirtualną podczas tworzenia obszaru roboczego.
az ml workspace create -n myworkspace -g my_resource_group --managed-network AllowInternetOutbound --provision-network-now
W poniższym przykładzie pokazano, jak ręcznie aprowizować zarządzaną sieć wirtualną.
Napiwek
Jeśli planujesz przesłać bezserwerowe zadania Spark, dodaj parametr --include-spark
.
az ml workspace provision-network -g my_resource_group -n my_workspace_name
Aby sprawdzić, czy aprowizowanie zostało ukończone, użyj następującego polecenia:
az ml workspace show -n my_workspace_name -g my_resource_group --query managed_network
Aby aprowizować sieć zarządzaną podczas tworzenia obszaru roboczego, ustaw flagę provision_network_now
na True
.
provision_network_now: True
W poniższym przykładzie pokazano, jak aprowizować zarządzaną sieć wirtualną:
# 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()
Aby sprawdzić, czy obszar roboczy został aprowizowany, użyj polecenia ml_client.workspaces.get()
, aby uzyskać informacje o obszarze roboczym. Właściwość managed_network
zawiera stan sieci zarządzanej.
ws = ml_client.workspaces.get()
print(ws.managed_network.status)
Podczas tworzenia obszaru roboczego wybierz pozycję Skonfiguruj sieć zarządzaną proaktywnie podczas tworzenia, aby skonfigurować sieć zarządzaną. Opłaty są naliczane z zasobów sieciowych, takich jak prywatne punkty końcowe, po aprowizacji sieci wirtualnej. Ta opcja konfiguracji jest dostępna tylko podczas tworzenia obszaru roboczego.
Konfigurowanie kompilacji obrazu
Gdy usługa Azure Container Registry dla obszaru roboczego znajduje się za siecią wirtualną, nie można jej używać do bezpośredniego kompilowania obrazów platformy Docker. Zamiast tego skonfiguruj obszar roboczy tak, aby używał klastra obliczeniowego lub wystąpienia obliczeniowego do kompilowania obrazów.
Ważne
Zasób obliczeniowy używany do tworzenia obrazów platformy Docker musi mieć dostęp do repozytoriów pakietów używanych do trenowania i wdrażania modeli. Jeśli używasz sieci skonfigurowanej do zezwalania tylko na zatwierdzone dane wychodzące, może być konieczne dodanie reguł zezwalających na dostęp do publicznych repozytoriów lub używanie prywatnych pakietów języka Python.
Aby zaktualizować obszar roboczy, aby wykorzystywał klaster obliczeniowy lub wystąpienie obliczeniowe do generowania obrazów Docker, użyj polecenia az ml workspace update
z parametrem --image-build-compute
.
az ml workspace update --name ws --resource-group rg --image-build-compute mycompute
W poniższym przykładzie pokazano, jak zaktualizować obszar roboczy w celu użycia klastra obliczeniowego do kompilowania obrazów:
# 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)
Nie istnieje sposób ustawienia procesu kompilacji obrazu w portalu Azure. Zamiast tego użyj interfejsu wiersza polecenia platformy Azure lub zestawu SDK języka Python.
Zarządzanie regułami ruchu wychodzącego
Aby wyświetlić listę reguł ruchu wychodzącego zarządzanej sieci wirtualnej dla obszaru roboczego, użyj następującego polecenia:
az ml workspace outbound-rule list --workspace-name ws --resource-group rg
Aby wyświetlić szczegóły reguły ruchu wychodzącego zarządzanej sieci wirtualnej, użyj następującego polecenia:
az ml workspace outbound-rule show --rule rule-name --workspace-name ws --resource-group rg
Aby usunąć regułę ruchu wychodzącego z zarządzanej sieci wirtualnej, użyj następującego polecenia:
az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg
W poniższym przykładzie pokazano, jak zarządzać regułami ruchu wychodzącego dla obszaru roboczego o nazwie myworkspace
:
# Connect to the workspace
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")
# Specify the rule name
rule_name = "<some-rule-name>"
# Get a rule by name
rule = ml_client._workspace_outbound_rules.get(resource_group, ws_name, rule_name)
# List rules for a workspace
rule_list = ml_client._workspace_outbound_rules.list(resource_group, ws_name)
# Delete a rule from a workspace
ml_client._workspace_outbound_rules.begin_remove(resource_group, ws_name, rule_name).result()
Zaloguj się do witryny Azure Portal i wybierz obszar roboczy usługi Azure Machine Learning, dla którego chcesz włączyć izolację zarządzanej sieci wirtualnej.
Wybierz pozycję Sieć. Sekcja Dostęp wychodzący obszaru roboczego umożliwia zarządzanie regułami wychodzącymi.
Aby dodać regułę ruchu wychodzącego, wybierz pozycję Dodaj reguły ruchu wychodzącego zdefiniowane przez użytkownika z karty Sieć. Na pasku bocznym Reguły ruchu wychodzącego obszaru roboczego podaj następujące informacje:
Aby włączyć lub wyłączyć regułę, użyj przełącznika w kolumnie Aktywne .
Aby usunąć regułę ruchu wychodzącego, wybierz pozycję Usuń dla reguły.
Lista wymaganych reguł
Prywatne punkty końcowe:
- Gdy tryb izolacji zarządzanej sieci wirtualnej to
Allow internet outbound
, reguły ruchu wychodzącego prywatnego punktu końcowego są tworzone automatycznie jako wymagane reguły z zarządzanej sieci wirtualnej dla obszaru roboczego i skojarzonych zasobów z wyłączonym dostępem do sieci publicznej (usługa Key Vault, konto magazynu, rejestr kontenerów, obszar roboczy usługi Azure Machine Learning). - Gdy tryb izolacji dla zarządzanej sieci wirtualnej to
Allow only approved outbound
, reguły ruchu wychodzącego prywatnego punktu końcowego są tworzone automatycznie jako wymagane reguły z zarządzanej sieci wirtualnej dla obszaru roboczego i skojarzonych zasobów niezależnie od trybu dostępu do sieci publicznej dla tych zasobów (usługa Key Vault, konto magazynu, rejestr kontenerów, obszar roboczy usługi Azure Machine Learning). - Te reguły są automatycznie dodawane do zarządzanej sieci wirtualnej.
Aby usługa Azure Machine Learning była uruchamiana normalnie, istnieje zestaw wymaganych tagów usługi wymaganych w konfiguracji zarządzanej lub niestandardowej sieci wirtualnej. Brak alternatyw dla zastępowania niektórych wymaganych tagów usługi. W poniższej tabeli opisano każdy wymagany tag usługi i jego przeznaczenie w usłudze Azure Machine Learning.
Reguła tagu usługi | Ruch przychodzący lub wychodzący | Cel |
---|---|---|
AzureMachineLearning |
Przychodzący | Tworzenie, aktualizowanie i usuwanie wystąpienia obliczeniowego/klastra usługi Azure Machine Learning. |
AzureMachineLearning |
Wychodzący | Korzystanie z usług Azure Machine Learning. IntelliSense języka Python w notebookach używa portu 18881. Tworzenie, aktualizowanie i usuwanie wystąpienia obliczeniowego usługi Azure Machine Learning używa portu 5831. |
AzureActiveDirectory |
Wychodzący | Uwierzytelnianie za pomocą usługi Microsoft Entra ID. |
BatchNodeManagement.region |
Wychodzący | Komunikacja z zapleczem usługi Azure Batch dla wystąpień obliczeniowych/klastrów usługi Azure Machine Learning. |
AzureResourceManager |
Wychodzący | Tworzenie zasobów platformy Azure przy użyciu usługi Azure Machine Learning, interfejsu wiersza polecenia platformy Azure i zestawu Azure Machine Learning SDK. |
AzureFrontDoor.FirstParty |
Wychodzący | Dostęp do obrazów Docker dostarczonych przez firmę Microsoft. |
MicrosoftContainerRegistry |
Wychodzący | Dostęp do obrazów Docker dostarczonych przez firmę Microsoft. Konfiguracja routera usługi Azure Machine Learning dla usługi Azure Kubernetes Service. |
AzureMonitor |
Wychodzący | Służy do rejestrowania monitorowania i metryk w usłudze Azure Monitor. Wymagane tylko wtedy, gdy usługa Azure Monitor dla obszaru roboczego nie jest zabezpieczona. Ten ruch wychodzący służy również do rejestrowania informacji dotyczących zdarzeń pomocy technicznej. |
VirtualNetwork |
Wychodzący | Wymagane, gdy prywatne punkty końcowe znajdują się w sieci wirtualnej lub równorzędnych sieciach wirtualnych. |
Uwaga
Tagi usługi jako jedyne granice zabezpieczeń nie są wystarczające. W przypadku izolacji na poziomie dzierżawy użyj prywatnych punktów końcowych, jeśli to możliwe.
Lista reguł ruchu wychodzącego specyficznego dla scenariusza
Scenariusz: Uzyskiwanie dostępu do publicznych pakietów uczenia maszynowego
Aby umożliwić instalację pakietów Python na potrzeby trenowania i wdrażania, dodaj reguły wychodzące FQDN, aby umożliwić ruch do następujących nazw hostów.
Ostrzeżenie
Reguły ruchu wychodzącego oparte na FQDN są implementowane przy użyciu usługi Azure Firewall. Jeśli używasz reguł nazwy FQDN dla ruchu wychodzącego, opłaty za usługę Azure Firewall zostaną dodane do rozliczeń. Aby uzyskać więcej informacji, zobacz Cennik.
Uwaga
Poniższa lista nie zawiera wszystkich hostów wymaganych dla wszystkich zasobów języka Python w Internecie, tylko najczęściej używanych. Jeśli na przykład potrzebujesz dostępu do repozytorium GitHub lub innego hosta, musisz zidentyfikować i dodać hosty wymagane dla tego scenariusza.
Nazwa hosta | Przeznaczenie |
---|---|
anaconda.com *.anaconda.com |
Służy do instalowania pakietów domyślnych. |
*.anaconda.org |
Służy do pobierania danych repozytorium. |
pypi.org |
Służy do wyświetlania listy zależności z domyślnego indeksu, jeśli istnieje, a indeks nie jest zastępowany przez ustawienia użytkownika. Jeśli indeks jest zastępowany, należy również zezwolić na *.pythonhosted.org wartość . |
pytorch.org *.pytorch.org |
Używane w niektórych przykładach opartych na PyTorch. |
*.tensorflow.org |
Używane przez niektóre przykłady oparte na TensorFlow. |
Scenariusz: korzystanie z Visual Studio Code w wersji stacjonarnej lub internetowej z instancją obliczeniową
Jeśli planujesz używać programu Visual Studio Code z usługą Azure Machine Learning, dodaj wychodzące reguły FQDN, aby zezwolić na ruch do następujących hostów:
Uwaga
Poniższa lista nie jest pełną listą hostów wymaganych dla wszystkich zasobów programu Visual Studio Code w Internecie, tylko najczęściej używanych. Jeśli na przykład potrzebujesz dostępu do repozytorium GitHub lub innego hosta, musisz zidentyfikować i dodać hosty wymagane dla tego scenariusza. Aby uzyskać pełną listę nazw hostów, zobacz Połączenia sieciowe w Visual Studio Code.
Nazwa hosta | Przeznaczenie |
---|---|
*.vscode.dev *.vscode-unpkg.net *.vscode-cdn.net *.vscodeexperiments.azureedge.net default.exp-tas.com |
Wymagane do uzyskania dostępu do serwera vscode.dev (Visual Studio Code for the Web) |
code.visualstudio.com |
Wymagane do pobrania i zainstalowania programu komputerowego VS Code. Ten host nie jest wymagany dla programu VS Code for the Web. |
update.code.visualstudio.com *.vo.msecnd.net |
Służy do pobierania bitów serwera programu VS Code zainstalowanych na instancji obliczeniowej za pomocą skryptu konfiguracyjnego. |
marketplace.visualstudio.com vscode.blob.core.windows.net *.gallerycdn.vsassets.io |
Wymagane do pobrania i zainstalowania rozszerzenia programu VS Code. Te hosty umożliwiają zdalne połączenie z instancjami obliczeniowymi. Aby uzyskać więcej informacji, zobacz Zarządzanie zasobami usługi Azure Machine Learning w programie VS Code. |
vscode.download.prss.microsoft.com |
Używane do pobrania programu Visual Studio Code CDN |
Scenariusz: Używanie punktów końcowych wsadowych lub ParallelRunStep
Jeśli planujesz używać punktów końcowych wsadowych usługi Azure Machine Learning do wdrożenia lub ParallelRunStep, dodaj reguły prywatnych punktów końcowych wychodzących, aby zezwolić na ruch do następujących zasobów podrzędnych dla domyślnego konta magazynu:
queue
table
Scenariusz: wykorzystanie przepływu poleceń przy użyciu Azure OpenAI, bezpieczeństwa zawartości i Azure AI Search
- Prywatny punkt końcowy do usług Azure AI
- Prywatny punkt końcowy do usługi Azure AI Search
Scenariusz: korzystanie z modeli HuggingFace
Jeśli planujesz używać modeli HuggingFace z usługą Azure Machine Learning, dodaj reguły FQDN dla ruchu wychodzącego, aby umożliwić ruch do następujących hostów:
Ostrzeżenie
Reguły ruchu wychodzącego oparte na FQDN są implementowane przy użyciu usługi Azure Firewall. Jeśli używasz reguł nazwy FQDN dla ruchu wychodzącego, opłaty za usługę Azure Firewall zostaną dodane do rozliczeń. Aby uzyskać więcej informacji, zobacz Cennik.
docker.io
*.docker.io
*.docker.com
production.cloudflare.docker.com
cdn.auth0.com
cdn-lfs.huggingface.co
Scenariusz: Włączanie dostępu z wybranych adresów IP
Jeśli chcesz włączyć dostęp z określonych adresów IP, użyj następujących akcji:
Dodaj regułę wyjściową prywatnego punktu końcowego aby zezwolić na ruch do obszaru roboczego usługi Azure Machine Learning. Ta reguła umożliwia wystąpieniom obliczeniowym utworzonym w zarządzanej sieci wirtualnej dostęp do obszaru roboczego.
Napiwek
Nie można dodać tej reguły podczas tworzenia obszaru roboczego, ponieważ obszar roboczy jeszcze nie istnieje.
Włącz dostęp do sieci publicznej do obszaru roboczego. Aby uzyskać więcej informacji, zobacz Dostęp do sieci publicznej włączony.
Dodaj swoje adresy IP do zapory dla usługi Azure Machine Learning. Aby uzyskać więcej informacji, zobacz Włącz dostęp tylko z zakresów adresów IP.
Uwaga
Obsługiwane są tylko adresy IPv4.
Aby uzyskać więcej informacji, zobacz Konfigurowanie łącza prywatnego.
Prywatne punkty końcowe
Prywatne punkty końcowe są obecnie obsługiwane dla następujących usług platformy Azure:
- Azure Machine Learning
- Rejestry usługi Azure Machine Learning
- Azure Storage (wszystkie podtypy zasobów)
- Azure Container Registry (Rejestr Kontenerów Azure)
- Azure Key Vault
- Usługi platformy Azure AI
- Azure AI Search (dawniej Cognitive Search)
- Azure SQL Server
- Azure Data Factory
- Azure Cosmos DB (wszystkie podtypy zasobów)
- Azure Event Hubs
- Azure Redis Cache (buforowanie Redis na platformie Azure)
- Azure Databricks
- Azure Database dla MariaDB
- Pojedynczy serwer usługi Azure Database for PostgreSQL
- Azure Database for PostgreSQL serwer elastyczny
- Azure Baza danych dla MySQL
- Azure API Management
- Obsługa tylko warstwy klasycznej bez wdrożenia sieci wirtualnej i warstwy Standard V2 z integracją sieci wirtualnej. Aby uzyskać więcej informacji na temat sieci wirtualnych usługi API Management, zobacz Pojęcia dotyczące sieci wirtualnej
- Application Insights (przez PrivateLinkScopes)
Podczas tworzenia prywatnego punktu końcowego należy podać typ zasobu i podźródło , z którym łączy się punkt końcowy. Niektóre zasoby mają wiele typów i podźródła. Aby uzyskać więcej informacji, zobacz , co to jest prywatny punkt końcowy.
Podczas tworzenia prywatnego punktu końcowego dla zasobów zależności usługi Azure Machine Learning, takich jak Azure Storage, Azure Container Registry i Azure Key Vault, zasób może znajdować się w innej subskrypcji platformy Azure. Jednak zasób musi znajdować się w tej samej dzierżawie co obszar roboczy usługi Azure Machine Learning.
Prywatne punkty końcowe dla obszaru roboczego nie są tworzone automatycznie. Są one tworzone tylko wtedy, gdy pierwsze środowisko obliczeniowe zostanie utworzone lub gdy wymuszono aprowizację zarządzanej sieci wirtualnej. Aby uzyskać więcej informacji na temat wymuszania aprowizacji zarządzanej sieci wirtualnej, zobacz Ręczne aprowizowanie sieci.
Zatwierdzanie prywatnych punktów końcowych
Aby ustanowić połączenia prywatnego punktu końcowego w zarządzanych sieciach wirtualnych przy użyciu usługi Azure Machine Learning, tożsamość zarządzana obszaru roboczego, niezależnie od tego, czy przypisana przez system, czy przypisana przez użytkownika, musi mieć uprawnienia do zatwierdzania połączeń prywatnego punktu końcowego w zasobach docelowych. Wcześniej to przypisanie zostało wykonane za pomocą automatycznych przypisań ról przez usługę Azure Machine Learning. Istnieją jednak obawy dotyczące zabezpieczeń dotyczące automatycznego przypisywania roli. Aby zwiększyć bezpieczeństwo, począwszy od 30 kwietnia 2025 r., to przypisanie roli nie jest automatyczne.
Zalecamy przypisanie roli Azure AI Enterprise Network Connection Approver lub roli niestandardowej z niezbędnymi uprawnieniami dotyczącymi połączeń prywatnego punktu końcowego dla docelowych typów zasobów. Aby umożliwić usługom Azure Machine Learning zatwierdzanie połączeń do prywatnych punktów końcowych z docelowymi zasobami Azure, przypisz tę rolę do tożsamości zarządzanej w obszarze roboczym Azure Machine Learning.
Oto lista typów zasobów docelowych prywatnego punktu końcowego objętych rolą osoby zatwierdzającej połączenie sieciowe przedsiębiorstwa azure AI:
- Azure Application Gateway
- Azure Monitor
- Azure AI Search
- Centra zdarzeń
- Azure SQL Database
- Azure Storage
- Obszar roboczy usługi Azure Machine Learning
- Rejestr usługi Azure Machine Learning
- Azure AI Foundry
- Azure Key Vault
- Azure Cosmos DB (Usługa bazodanowa firmy Microsoft)
- Azure Baza danych dla MySQL
- Baza danych Azure dla PostgreSQL
- Usługi Azure AI
- Usługa Azure Cache dla Redis
- Rejestr kontenerów
- API Management
Aby utworzyć reguły ruchu wychodzącego Prywatnego Punktu Końcowego dla docelowych typów zasobów, które nie są objęte rolą Zatwierdzającego Połączenia Sieciowego Enterprise Azure AI, zalecana jest stworzenie niestandardowej roli o określonym zakresie. Reguła powinna definiować akcje niezbędne do zatwierdzania połączeń prywatnych punktów końcowych w typach zasobów docelowych. Przykłady takich typów zasobów to Azure Data Factory, Azure Databricks i Azure Function Apps.
Aby utworzyć reguły ruchu wychodzącego prywatnego punktu końcowego do domyślnych zasobów obszaru roboczego, wymagane uprawnienia są automatycznie objęte przypisaniami ról przyznanymi podczas tworzenia obszaru roboczego, więc nie jest wymagana żadna inna akcja.
Wybierz wersję usługi Azure Firewall dla dozwolonego tylko zatwierdzonego ruchu wychodzącego
Azure Firewall jest wdrażany, jeśli tworzona jest reguła wychodzącego ruchu FQDN w trybie "tylko zatwierdzony ruch wychodzący". Opłaty za usługę Azure Firewall są uwzględniane w rozliczeniach. Domyślnie jest tworzona wersja Standardowa usługi AzureFirewall. Opcjonalnie możesz wybrać opcję użycia wersji Podstawowa. Możesz zmienić wersję zapory używaną w razie potrzeby. Aby dowiedzieć się, która wersja jest najlepsza dla Ciebie, odwiedź stronę Wybieranie odpowiedniej wersji usługi Azure Firewall.
Ważne
Zapora nie zostanie utworzona, dopóki nie dodasz reguły ruchu wychodzącego FQDN. Aby uzyskać więcej informacji na temat cen, zobacz Cennik usługi Azure Firewall i wyświetl ceny dla wersji standardowej. Filtrowanie oparte na adresach URL jest obsługiwane tylko w usłudze Azure Firewall w warstwie Premium, a nie w podstawowej lub standardowej jednostce SKU Azure Firewall. Zarządzana sieć wirtualna nie obsługuje usługi Azure Firewall w warstwie Premium.
Po wybraniu trybu zezwalania tylko na zatwierdzony ruch wychodzący zostanie wyświetlona opcja wybrania wersji usługi Azure Firewall (SKU). Wybierz pozycję Standardowa , aby użyć wersji standardowej lub Podstawowa , aby użyć wersji podstawowej. Wybierz pozycję Zapisz , aby zapisać konfigurację.
Aby skonfigurować wersję zapory z poziomu interfejsu wiersza polecenia, użyj pliku YAML i określ parametr firewall_sku
. W następującym przykładzie pokazano plik YAML, który ustawia SKU zapory na basic
:
name: test-ws
resource_group: test-rg
location: eastus2
managed_network:
isolation_mode: allow_only_approved_outbound
outbound_rules:
- category: required
destination: 'contoso.com'
name: contosofqdn
type: fqdn
firewall_sku: basic
tags: {}
Aby skonfigurować wersję zapory z zestawu SDK języka Python, ustaw firewall_sku
właściwość ManagedNetwork
obiektu. W poniższym przykładzie pokazano, jak ustawić SKU zapory sieciowej na basic
.
network = ManagedNetwork(isolation_mode=IsolationMode.ALLOW_INTERNET_OUTBOUND,
firewall_sku='basic')
Cennik
Funkcja zarządzanej sieci wirtualnej usługi Azure Machine Learning jest bezpłatna. Opłaty są jednak naliczane za następujące zasoby, które są używane przez zarządzaną sieć wirtualną:
Azure Private Link — prywatne punkty końcowe używane do zabezpieczania komunikacji między zarządzaną siecią wirtualną a zasobami platformy Azure korzystają z usługi Azure Private Link. Aby uzyskać więcej informacji na temat cen, zobacz Cennik usługi Azure Private Link.
Reguły wychodzące FQDN są implementowane przy użyciu Azure Firewall. Jeśli używasz reguł nazwy FQDN dla ruchu wychodzącego, opłaty za usługę Azure Firewall zostaną dodane do rozliczeń. Domyślnie używana jest standardowa wersja usługi Azure Firewall. Aby uzyskać informacje na temat wybierania wersji podstawowej, zobacz Wybieranie wersji usługi Azure Firewall.
Ważne
Zapora nie zostanie utworzona, dopóki nie dodasz reguły ruchu wychodzącego FQDN. Aby uzyskać więcej informacji na temat cen, zobacz Cennik usługi Azure Firewall i wyświetl ceny dla wersji standardowej.
Ograniczenia
- Po włączeniu izolacji zarządzanej sieci wirtualnej obszaru roboczego (zezwalanie na ruch wychodzący do internetu lub zezwalanie wyłącznie na zatwierdzony ruch wychodzący), nie można go wyłączyć.
- Zarządzana sieć wirtualna używa połączenia prywatnego punktu końcowego w celu uzyskania dostępu do zasobów prywatnych. Nie możesz mieć prywatnego punktu końcowego i punktu końcowego usługi w tym samym czasie dla zasobów platformy Azure, takich jak konto magazynu. Zalecamy używanie prywatnych punktów końcowych we wszystkich scenariuszach.
- Zarządzana sieć wirtualna zostanie usunięta po usunięciu obszaru roboczego.
- Upewnij się, że nie ma blokad zakresu na zasobach i grupie zasobów usługi Azure Machine Learning. Operacje wewnętrzne związane z zarządzaną siecią wirtualną mogą być blokowane.
- Ochrona przed eksfiltracją danych jest automatycznie włączona dla jedynego zatwierdzonego trybu ruchu wychodzącego. Jeśli dodasz inne reguły ruchu wychodzącego, takie jak do nazw FQDN, firma Microsoft nie może zagwarantować, że będziesz chroniony przed eksfiltracją danych do tych adresatów ruchu wychodzącego.
- Tworzenie klastra obliczeniowego w innym regionie niż obszar roboczy nie jest obsługiwane w przypadku korzystania z zarządzanej sieci wirtualnej.
- Platforma Kubernetes i dołączone maszyny wirtualne nie są obsługiwane w zarządzanej sieci wirtualnej usługi Azure Machine Learning.
- Korzystanie z reguł ruchu wychodzącego nazwy FQDN zwiększa koszt zarządzanej sieci wirtualnej, ponieważ reguły FQDN używają usługi Azure Firewall. Aby uzyskać więcej informacji, zobacz Cennik.
- Reguły ruchu wychodzącego FQDN obsługują tylko porty 80 i 443.
- Jeśli wystąpienie obliczeniowe znajduje się w sieci zarządzanej i nie ma skonfigurowanego publicznego adresu IP, użyj polecenia
az ml compute connect-ssh
, aby nawiązać z nim połączenie przy użyciu protokołu SSH. - W przypadku korzystania z zarządzanej sieci wirtualnej, nie można wdrażać zasobów obliczeniowych wewnątrz twojej własnej sieci wirtualnej. Zasoby obliczeniowe można tworzyć tylko w zarządzanej sieci wirtualnej.
- Jeśli sieć zarządzana jest skonfigurowana tak, aby zezwalała tylko na zatwierdzony ruch wychodzący, nie można użyć reguły FQDN w celu uzyskania dostępu do kont usługi Azure Storage. Zamiast tego należy użyć prywatnego punktu końcowego.
- Upewnij się, że w zasadach niestandardowych utworzono prywatne punkty końcowe zarządzane przez firmę Microsoft dla zarządzanej sieci wirtualnej.
Migracja zasobów obliczeniowych
Jeśli masz istniejący obszar roboczy i chcesz włączyć zarządzaną sieć wirtualną, obecnie nie ma obsługiwanej ścieżki migracji dla istniejących zarządzanych zasobów obliczeniowych. Należy usunąć wszystkie istniejące zarządzane zasoby obliczeniowe i utworzyć je ponownie po włączeniu zarządzanej sieci wirtualnej. Poniższa lista zawiera zasoby obliczeniowe, które należy usunąć i utworzyć ponownie:
- Klaster obliczeniowy
- Wystąpienie obliczeniowe
- Zarządzane punkty końcowe online