Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)
SDK di Python azure-ai-ml v2 (corrente)
Azure Machine Learning offre supporto per l'isolamento della rete virtuale gestita (rete virtuale gestita). L'isolamento della rete virtuale gestita semplifica e automatizza la configurazione dell'isolamento della rete con una rete virtuale gestita di Azure Machine Learning predefinita a livello di area di lavoro. La rete virtuale gestita protegge le risorse di Azure Machine Learning gestite, ad esempio istanze di calcolo, cluster di calcolo, calcolo serverless ed endpoint online gestiti.
La protezione dell'area di lavoro con una rete gestita offre isolamento di rete per l'accessoin uscita dall'area di lavoro e dagli ambienti di calcoli gestiti. Una rete virtuale di Azure creata e gestita dall'utente viene usata per fornire l'isolamento della rete per l'accesso in ingresso all'area di lavoro. Ad esempio, un endpoint privato per l'area di lavoro viene creato nella Rete virtuale di Azure. Tutti i client che si connettono alla rete virtuale possono accedere all'area di lavoro tramite l'endpoint privato. Quando si eseguono processi in ambienti di calcoli gestiti, la rete gestita limita le risorse a cui l'ambiente di calcolo può accedere.
Architettura di Rete Virtuale gestita
Quando si abilita l'isolamento della rete virtuale gestita, viene creata una rete virtuale gestita per l'area di lavoro. Le risorse di calcolo gestite create per l'area di lavoro usano automaticamente questa rete virtuale gestita. La rete virtuale gestita può usare endpoint privati per le risorse di Azure usate dall'area di lavoro, ad esempio Archiviazione di Azure, Azure Key Vault e Registro Azure Container.
Esistono due diverse modalità di configurazione per il traffico in uscita dalla rete virtuale gestita:
Suggerimento
Indipendentemente dalla modalità in uscita usata, il traffico verso le risorse di Azure può essere configurato per l'uso di un endpoint privato. Ad esempio, è possibile consentire tutto il traffico in uscita verso Internet, ma limitare la comunicazione con le risorse di Azure aggiungendo regole in uscita per le risorse.
Modalità in uscita | Descrizione | Scenari |
---|---|---|
Consenti traffico Internet in uscita | Consentire tutto il traffico Internet in uscita dalla rete virtuale gestita. | Si vuole accedere senza restrizioni alle risorse di Machine Learning su Internet, ad esempio pacchetti Python o modelli con training preliminare.1 |
Consenti solo il traffico in uscita approvato | Il traffico in uscita è consentito specificando i tag del servizio. | * Si vuole ridurre al minimo il rischio di esfiltrazione di dati, ma è necessario preparare tutti gli artefatti di apprendimento automatico necessari nell'ambiente privato. * Si vuole configurare l'accesso in uscita a un elenco approvato di servizi, tag del servizio o FQDN. |
Disabilitata | Il traffico in ingresso e in uscita non è limitato o si usa la propria rete virtuale di Azure per proteggere le risorse. | Si vuole traffico pubblico in entrata e in uscita dall'area di lavoro oppure gestisci l'isolamento della rete con la propria rete virtuale di Azure. |
- È possibile usare le regole in uscita con consentire solo l'uscita approvata per ottenere lo stesso risultato di consentire internet in uscita. Le differenze sono le seguenti:
- È necessario aggiungere regole per ogni connessione in uscita che bisogna consentire.
- L'aggiunta di regole in uscita FQDN aumenta i costi perché questo tipo di regola usa il Firewall di Azure. Per altre informazioni, vedere la pagina Prezzi.
- Le regole predefinite per Consenti solo il traffico in uscita approvato sono progettate per ridurre al minimo il rischio di esfiltrazione di dati. Eventuali regole in uscita aggiunte potrebbero aumentare il tuo rischio.
La rete virtuale gestita è preconfigurata con le regole predefinite necessarie. Viene configurato anche per le connessioni endpoint private all'area di lavoro, all'archiviazione predefinita dell'area di lavoro, al registro contenitori e all'insieme di credenziali delle chiavi se sono configurati come privati o la modalità di isolamento dell'area di lavoro è impostata per consentire solo il traffico in uscita approvato. Dopo aver scelto la modalità di isolamento, potrebbe essere necessario considerare solo altri requisiti in uscita da aggiungere.
Il diagramma seguente mostra una rete virtuale gestita configurata per consentire Internet in uscita:
Il diagramma seguente mostra una rete virtuale gestita configurata per consentire solo il traffico in uscita approvato:
Nota
In questa configurazione, l'archiviazione, l'insieme di credenziali delle chiavi e il registro contenitori usati dall'area di lavoro vengono contrassegnati come privati. Poiché vengono contrassegnati come privati, viene usato un endpoint privato per comunicare con essi.
Nota
Dopo aver configurato un'area di lavoro di rete virtuale gestita per consentire internet in uscita, l'area di lavoro non può essere riconfigurata in modo da disabilitare. Analogamente, dopo che un'area di lavoro di rete virtuale gestita è configurata per consentire solo l'approvazione in uscita, l'area di lavoro non può essere riconfigurata per consentire internet in uscita.
Studio di Azure Machine Learning
Se si vuole usare il notebook integrato o creare dei set di dati nell'account di archiviazione predefinito da Studio, il client deve accedere all'account di archiviazione predefinito. Creare un endpoint privato o un endpoint di servizio per l'account di archiviazione predefinito nella rete virtuale di Azure usata dai client.
Parte dello studio di Azure Machine Learning viene eseguita in locale nel Web browser del client e comunica direttamente con l'archiviazione predefinita per l'area di lavoro. La creazione di un endpoint privato o di un endpoint di servizio (per l'account di archiviazione predefinito) nella rete virtuale del client garantisce che il client possa comunicare con l'account di archiviazione.
Se l'account di archiviazione di Azure associato all'area di lavoro ha l'accesso alla rete pubblica disabilitato, assicurarsi che all'endpoint privato creato nella rete virtuale client venga assegnato il ruolo Lettore per l'identità gestita dell'area di lavoro. Questo vale sia per gli endpoint privati di blog che per l'archiviazione file. Il ruolo non è necessario per l'endpoint privato creato dalla rete virtuale gestita.
Per altre informazioni sulla creazione di un endpoint privato o di un endpoint di servizio, vedere gli articoli Connettersi privatamente a un account di archiviazione ed Endpoint di servizio.
Risorse associate protette
Se si aggiungono i servizi seguenti alla rete virtuale usando un endpoint di servizio o un endpoint privato (disabilitando l'accesso pubblico), consentire ai servizi Microsoft attendibili di accedere a questi servizi:
Servizio | Informazioni sugli endpoint | Consentire informazioni attendibili |
---|---|---|
Azure Key Vault |
Endpoint di servizio Endpoint privato |
Consentire ai servizi Microsoft attendibili di ignorare il firewall |
Account di archiviazione di Azure |
Endpoint di servizio ed endpoint privato Endpoint privato |
Concedere l'accesso da istanze di risorse di Azure o Concedere l'accesso ai servizi di Azure attendibili |
Registro dei contenitori di Azure | Endpoint privato | Consenti servizi attendibili |
Prerequisiti
Prima di seguire la procedura descritta in questo articolo, assicurarsi di disporre dei prerequisiti seguenti:
Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare. Provare la versione gratuita o a pagamento di Azure Machine Learning.
Il provider di risorse Microsoft.Network deve essere registrato per la sottoscrizione di Azure. Questo provider di risorse viene usato dall'area di lavoro quando si creano endpoint privati per la rete virtuale gestita.
Per informazioni sulla registrazione dei provider di risorse, vedere Risoluzione degli errori di registrazione del provider di risorse.
L'identità di Azure usata per la distribuzione di una rete gestita richiede le azioni di controllo degli accessi in base al ruolo di Azure seguenti per creare endpoint privati:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
L'interfaccia della riga di comando di Azure e l'estensione
ml
per l'interfaccia della riga di comando di Azure. Per altre informazioni, vedere Installare, configurare e usare l'interfaccia della riga di comando (v2).Suggerimento
La rete virtuale gestita di Azure Machine Learning è stata introdotta il 23 maggio 2023. Se si dispone di una versione precedente dell'estensione ml, potrebbe essere necessario aggiornarla per gli esempi in questo articolo. Per aggiornare l'estensione, usare il comando seguente dell'interfaccia della riga di comando di Azure:
az extension update -n ml
Gli esempi dell'interfaccia della riga di comando in questo articolo presuppongono che si usi la shell Bash (o compatibile). Ad esempio, un sistema Linux o un sottosistema Windows per Linux.
Gli esempi dell'interfaccia della riga di comando di Azure in questo articolo usano
ws
per rappresentare il nome dell'area di lavoro erg
per rappresentare il nome del gruppo di risorse. Modificare questi valori in base alle esigenze quando si usano i comandi con la sottoscrizione di Azure.
Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare. Provare la versione gratuita o a pagamento di Azure Machine Learning.
Il provider di risorse Microsoft.Network deve essere registrato per la sottoscrizione di Azure. Questo provider di risorse viene usato dall'area di lavoro quando si creano endpoint privati per la rete virtuale gestita.
Per informazioni sulla registrazione dei provider di risorse, vedere Risoluzione degli errori di registrazione del provider di risorse.
L'identità di Azure usata per la distribuzione di una rete gestita richiede le azioni di controllo degli accessi in base al ruolo di Azure seguenti per creare endpoint privati:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
Python SDK v2 di Azure Machine Learning. Per altre informazioni sull'SDK, vedere Installare Python SDK v2 per Azure Machine Learning.
Suggerimento
La rete virtuale gestita di Azure Machine Learning è stata introdotta il 23 maggio 2023. Se è installata una versione precedente dell'SDK, potrebbe essere necessario aggiornarla per gli esempi in questo articolo. Per aggiornare l'SDK, usare il comando seguente:
pip install --upgrade azure-ai-ml azure-identity
Gli esempi riportati in questo articolo presuppongono che il codice inizi con il codice Python seguente. Questo codice importa le classi necessarie quando si crea un'area di lavoro con rete virtuale gestita, imposta le variabili per la sottoscrizione di Azure e il gruppo di risorse in uso e crea
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)
Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare. Provare la versione gratuita o a pagamento di Azure Machine Learning.
Il provider di risorse Microsoft.Network deve essere registrato per la sottoscrizione di Azure. Questo provider di risorse viene usato dall'area di lavoro quando si creano endpoint privati per la rete virtuale gestita.
Per informazioni sulla registrazione dei provider di risorse, vedere Risoluzione degli errori di registrazione del provider di risorse.
L'identità di Azure usata per la distribuzione di una rete gestita richiede le azioni di controllo degli accessi in base al ruolo di Azure seguenti per creare endpoint privati:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
Per stabilire connessioni di endpoint privato nelle reti virtuali gestite usando Azure Machine Learning, l'identità gestita dell'area di lavoro, assegnata dal sistema o assegnata dall'utente e l'identità utente che avvia la creazione dell'endpoint privato, deve disporre delle autorizzazioni per approvare le connessioni endpoint privato nelle risorse di destinazione. Dopo il 30 aprile 2025, le autorizzazioni non vengono concesse automaticamente all'identità gestita e devono essere assegnate manualmente.
Microsoft consiglia di assegnare all'identità gestita il ruolo Approvazione connessione di rete Enterprise AI di Azure. L'elenco seguente contiene i tipi di risorse di destinazione dell'endpoint privato coperti dal ruolo Approvatore della connessione di rete dell'infrastruttura enterprise di Azure AI:
- Gateway applicativo di Azure
- Monitoraggio di Azure
- Ricerca di intelligenza artificiale di Azure
- Hub eventi
- Database SQL di Microsoft Azure
- Archiviazione di Azure
- Area di lavoro di Azure Machine Learning
- Registro di Azure Machine Learning
- Azure AI Foundry
- Azure Key Vault (Archivio chiavi di Azure)
- Azure Cosmos DB, un servizio di database distribuito globale di Microsoft
- Database di Azure per MySQL
- Database di Azure per PostgreSQL
- Servizi di intelligenza artificiale di Azure
- Cache di Azure per Redis
- Registro dei Contenitori
- Gestione API
Se invece desideri creare un ruolo personalizzato, consulta il ruolo di approvatore di connessioni di rete aziendale di Azure AI per aggiungere le azioni specifiche per ogni tipo di risorsa.
Per creare regole in uscita dell'endpoint privato per i tipi di risorse di destinazione non coperti dal ruolo Approvatore connessione di rete aziendale di Azure AI, è consigliabile un ruolo personalizzato con ambito ristretto. Il ruolo deve essere definito mediante le azioni necessarie per approvare le connessioni dell'endpoint privato sui tipi di risorse di destinazione. Esempi di questi tipi di risorse sono Azure Data Factory, Azure Databricks e App per le funzioni di Azure.
Per creare regole in uscita dell'endpoint privato per le risorse predefinite dell'area di lavoro, le autorizzazioni necessarie vengono coperte automaticamente dalle assegnazioni di ruolo concesse durante la creazione dell'area di lavoro, quindi non sono necessarie altre azioni.
Configurare una rete virtuale gestita per consentire internet in uscita
Suggerimento
La creazione della rete virtuale gestita viene posticipata fino a quando non viene creata una risorsa di calcolo o il provisioning non viene avviato manualmente. Quando si consente la creazione automatica, la creazione automatica può richiedere circa 30 minuti per creare la prima risorsa di calcolo perché esegue anche il provisioning della rete. Per altre informazioni, vedere Effettuare manualmente il provisioning della rete.
Importante
Se si prevede di inviare processi Spark serverless, è necessario avviare manualmente il provisioning. Per ulteriori informazioni, consulta la sezione configurazione dei processi Spark serverless.
Per configurare una rete virtuale gestita che consenta le comunicazioni in uscita su Internet, è possibile usare il parametro --managed-network allow_internet_outbound
o un file di configurazione YAML contenente le voci seguenti:
managed_network:
isolation_mode: allow_internet_outbound
È anche possibile definire le regole in uscita ad altri servizi di Azure su cui si basa l'area di lavoro. Queste regole definiscono endpoint privati che consentono a una risorsa di Azure di comunicare in modo sicuro con la rete virtuale gestita. La regola seguente illustra l'aggiunta di un endpoint privato a una risorsa BLOB di 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
È possibile configurare una rete virtuale gestita usando i comandi az ml workspace create
o az ml workspace update
:
Nell'esempio seguente viene creata una nuova area di lavoro. Il --managed-network allow_internet_outbound
parametro configura una rete virtuale gestita per l'area di lavoro:
az ml workspace create --name ws --resource-group rg --managed-network allow_internet_outbound
Per creare un'area di lavoro usando invece un file YAML, usare il parametro --file
e specificare il file YAML che contiene le impostazioni di configurazione:
az ml workspace create --file workspace.yaml --resource-group rg --name ws
L'esempio YAML seguente definisce un'area di lavoro con una rete virtuale gestita:
name: myworkspace
location: EastUS
managed_network:
isolation_mode: allow_internet_outbound
Per configurare una rete virtuale gestita che consente le comunicazioni internet in uscita, usare la classe ManagedNetwork
per definire una rete con IsolationMode.ALLOW_INTERNET_OUTBOUND
. È quindi possibile usare l'oggetto ManagedNetwork
per creare una nuova area di lavoro o aggiornare una nuova area di lavoro esistente. Per definire le regole in uscita per i servizi di Azure su cui si basa l'area di lavoro, usare la classe PrivateEndpointDestination
per definire un nuovo endpoint privato per il servizio.
L'esempio seguente crea una nuova area di lavoro denominata myworkspace
, con una regola in uscita denominata myrule
che aggiunge un endpoint privato per un archivio BLOB di 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()
Accedere al portale di Azure e scegliere Azure Machine Learning dal menu Crea una risorsa.
Specificare le informazioni necessarie nella scheda Informazioni di base.
Dalla scheda Rete, selezionare Privato con uscita su Internet.
Per aggiungere una regola in uscita, selezionare Aggiungi regole in uscita definite dall'utente dalla scheda Rete. Nella barra laterale Regole in uscita dell'area di lavoro specificare le informazioni seguenti:
- Nome della regola: Il nome della regola. Il nome deve essere univoco per questa area di lavoro.
- Tipo di destinazione: Private Endpoint è l'unica opzione quando l'isolamento della rete è privato con Internet in uscita. La rete virtuale gestita di Azure Machine Learning non supporta la creazione di un endpoint privato per tutti i tipi di risorse di Azure. Per un elenco delle risorse supportate, vedere la sezione Endpoint privati.
- Sottoscrizione: la sottoscrizione contenente la risorsa di Azure per cui si vuole aggiungere un endpoint privato.
- Gruppo di risorse: gruppo di risorse contenente la risorsa di Azure per cui si vuole aggiungere un endpoint privato.
- Tipo di risorsa: tipo di risorsa di Azure.
- Nome della risorsa: nome della risorsa di Azure.
- Sotto Risorsa: sotto risorsa del tipo di risorsa di Azure.
- Spark abilitato: selezionare questa opzione se si desidera abilitare i processi Spark serverless per l'area di lavoro. Questa opzione è disponibile solo se il tipo di risorsa è Archiviazione di Azure.
Seleziona Salva per salvare la regola. È possibile continuare a usare Aggiungi regole in uscita definite dall'utente per aggiungere regole.
Continuare a creare l'area di lavoro come di consueto.
Configurare una rete virtuale gestita per consentire solo il traffico in uscita approvato
Suggerimento
Il provisioning della rete virtuale gestita viene eseguito automaticamente quando si crea una risorsa di calcolo. Quando si consente la creazione automatica, la creazione automatica può richiedere circa 30 minuti per creare la prima risorsa di calcolo perché esegue anche il provisioning della rete. Se sono state configurate regole in uscita FQDN, la prima regola FQDN aggiunge circa 10 minuti al tempo di provisioning. Per altre informazioni, vedere Effettuare manualmente il provisioning della rete.
Importante
Se si prevede di inviare processi Spark serverless, è necessario avviare manualmente il provisioning. Per ulteriori informazioni, consulta la sezione configurazione dei processi Spark serverless.
Per configurare una rete virtuale gestita che consenta solo le comunicazioni in uscita approvate, è possibile usare il parametro --managed-network allow_only_approved_outbound
o un file di configurazione YAML contenente le voci seguenti:
managed_network:
isolation_mode: allow_only_approved_outbound
È anche possibile definire regole in uscita per definire le comunicazioni in uscita approvate. È possibile creare una regola in uscita per un tipo di service_tag
, fqdn
e private_endpoint
. La regola seguente illustra l'aggiunta di un endpoint privato a una risorsa BLOB di Azure, un tag del servizio ad Azure Data Factory e un FQDN a pypi.org
:
Importante
- L'aggiunta di un outbound per un tag di servizio o FQDN è valida solo quando la VNet gestita è configurata su
allow_only_approved_outbound
. - Se si aggiungono regole in uscita, Microsoft non può garantire l'esfiltrazione di dati.
Avviso
Le regole FQDN in uscita vengono implementate tramite Azure Firewall. Se si usano regole FQDN in uscita, gli addebiti per Firewall di Azure vengono aggiunti alla fatturazione. Per altre informazioni, vedere Prezzi.
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
È possibile configurare una rete virtuale gestita usando i comandi az ml workspace create
o az ml workspace update
:
L'esempio seguente usa il parametro --managed-network allow_only_approved_outbound
per configurare la rete virtuale gestita:
az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound
Il file YAML seguente definisce un'area di lavoro con una rete virtuale gestita:
name: myworkspace
location: EastUS
managed_network:
isolation_mode: allow_only_approved_outbound
Per creare un'area di lavoro usando il file YAML, usare il parametro --file
:
az ml workspace create --file workspace.yaml --resource-group rg --name ws
Per configurare una rete virtuale gestita che consente solo le comunicazioni in uscita approvate, usare la classe ManagedNetwork
per definire una rete con IsolationMode.ALLOw_ONLY_APPROVED_OUTBOUND
. È quindi possibile usare l'oggetto ManagedNetwork
per creare una nuova area di lavoro o aggiornare una nuova area di lavoro esistente. Per definire le regole in uscita, usare le classi seguenti:
Destinazione | Classe |
---|---|
Servizio di Azure su cui si basa l'area di lavoro | PrivateEndpointDestination |
Tag del servizio di Azure | ServiceTagDestination |
Nome di dominio completo (FQDN) | FqdnDestination |
L'esempio seguente crea una nuova area di lavoro denominata myworkspace
, con diverse regole in uscita:
-
myrule
: aggiunge un endpoint privato per un archivio BLOB di Azure. -
datafactory
: aggiunge una regola di tag del servizio per comunicare con Azure Data Factory.
Importante
- L'aggiunta di un outbound per un tag di servizio o FQDN è valida solo quando la VNet gestita è configurata su
IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND
. - Se si aggiungono regole in uscita, Microsoft non può garantire l'esfiltrazione di dati.
Avviso
Le regole FQDN in uscita vengono implementate tramite Azure Firewall. Se si usano regole FQDN in uscita, gli addebiti per Firewall di Azure vengono aggiunti alla fatturazione. Per altre informazioni, vedere Prezzi.
# 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()
Accedere al portale di Azure e scegliere Azure Machine Learning dal menu Crea una risorsa.
Specificare le informazioni necessarie nella scheda Informazioni di base.
Dalla scheda Rete, selezionare Privato con traffico in uscita approvato.
Per aggiungere una regola in uscita, selezionare Aggiungi regole in uscita definite dall'utente dalla scheda Rete. Nella barra laterale Regole in uscita dell'area di lavoro specificare le informazioni seguenti:
- Nome della regola: Il nome della regola. Il nome deve essere univoco per questa area di lavoro.
- Tipo di destinazione: endpoint privato, tag del servizio o FQDN. I tag del servizio e il nome di dominio completo sono disponibili solo quando l'isolamento della rete è privato con traffico in uscita approvato.
Se il tipo di destinazione è Endpoint privato, fornire le informazioni seguenti:
- Sottoscrizione: la sottoscrizione contenente la risorsa di Azure per cui si vuole aggiungere un endpoint privato.
- Gruppo di risorse: gruppo di risorse contenente la risorsa di Azure per cui si vuole aggiungere un endpoint privato.
- Tipo di risorsa: tipo di risorsa di Azure.
- Nome della risorsa: nome della risorsa di Azure.
- Sotto Risorsa: sotto risorsa del tipo di risorsa di Azure.
- Spark abilitato: selezionare questa opzione se si desidera abilitare i processi Spark serverless per l'area di lavoro. Questa opzione è disponibile solo se il tipo di risorsa è Archiviazione di Azure.
Suggerimento
La rete virtuale gestita di Azure Machine Learning non supporta la creazione di un endpoint privato per tutti i tipi di risorse di Azure. Per un elenco delle risorse supportate, vedere la sezione Endpoint privati.
Se il tipo di destinazione è Tag del servizio, specificare le informazioni seguenti:
- Tag del servizio: il tag del servizio da aggiungere alle regole in uscita approvate.
- Protocollo: il protocollo da consentire per il tag di servizio.
- Intervalli porte: intervalli di porte da consentire per il tag del servizio.
Se il tipo di destinazione è FQDN, specificare le informazioni seguenti:
Avviso
Le regole FQDN in uscita vengono implementate tramite Azure Firewall. Se si usano regole FQDN in uscita, gli addebiti per Firewall di Azure vengono aggiunti alla fatturazione. Per altre informazioni, vedere Prezzi.
- Destinazione FQDN: il nome di dominio completo da aggiungere alle regole in uscita approvate.
Seleziona Salva per salvare la regola. È possibile continuare a usare Aggiungi regole in uscita definite dall'utente per aggiungere regole.
Continuare a creare l'area di lavoro come di consueto.
Configurare per i processi Spark serverless
Suggerimento
I passaggi descritti in questa sezione sono necessari solo se si prevede di inviare processi Spark serverless. Se non si intende inviare processi Spark serverless, è possibile ignorare questa sezione.
Per abilitare i processi Spark serverless per la rete virtuale gestita, è necessario eseguire le azioni seguenti:
- Configurare una rete virtuale gestita per l'area di lavoro e aggiungere un endpoint privato in uscita per l'account Archiviazione di Azure.
- Dopo aver configurato la rete virtuale gestita, eseguirne il provisioning e abilitarla per consentire i processi Spark.
Configurare un endpoint privato in uscita.
Usare un file YAML per definire la configurazione della rete virtuale gestita e aggiungere un endpoint privato per l'account Archiviazione di Azure. Impostare anche
spark_enabled: true
:Suggerimento
Questo esempio riguarda una rete virtuale gestita configurata usando
isolation_mode: allow_internet_outbound
per consentire il traffico Internet. Se si vuole consentire solo connessioni in uscita approvate, usareisolation_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
È possibile usare un file di configurazione YAML con il comando
az ml workspace update
specificando il parametro--file
e il nome del file YAML. Ad esempio, il comando seguente aggiorna un'area di lavoro esistente usando un file YAML denominatoworkspace_pe.yml
:az ml workspace update --file workspace_pe.yml --resource_group rg --name ws
Nota
Quando l'opzione Consenti solo l'uscita approvata è abilitata (
isolation_mode: allow_only_approved_outbound
), le dipendenze del pacchetto conda definite nella configurazione della sessione Spark non vengono installate. Per risolvere questo problema, caricare un pacchetto wheel Python completo senza dipendenze esterne in un account di archiviazione di Azure e creare un endpoint privato in questo account di archiviazione. Usare il percorso del pacchetto wheel Python come parametropy_files
nel processo Spark. L'impostazione di una regola in uscita FQDN non ignora questo problema perché la propagazione delle regole FQDN non è supportata da Spark.L'esempio seguente illustra come creare una rete virtuale gestita per un'area di lavoro di Azure Machine Learning esistente denominata
myworkspace
. Aggiunge anche un endpoint privato per l'account di archiviazione di Azure e impostaspark_enabled=true
:Suggerimento
L'esempio seguente è relativo a una rete virtuale gestita configurata usando
IsolationMode.ALLOW_INTERNET_OUTBOUND
per consentire il traffico Internet. Se si vuole consentire solo connessioni in uscita approvate, usareIsolationMode.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)
Nota
- Quando l'opzione Consenti solo l'uscita approvata è abilitata (
isolation_mode: allow_only_approved_outbound
), le dipendenze del pacchetto conda definite nella configurazione della sessione Spark non vengono installate. Per risolvere questo problema, caricare un pacchetto wheel Python completo senza dipendenze esterne in un account di archiviazione di Azure e creare un endpoint privato in questo account di archiviazione. Usare il percorso del pacchetto wheel Python come parametropy_files
nel processo Spark. - Se l'area di lavoro è stata creata con
IsolationMode.ALLOW_INTERNET_OUTBOUND
, non può essere aggiornata in un secondo momento per usareIsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND
.
Accedere al portale di Azure e selezionare l'area di lavoro di Azure Machine Learning.
Selezionare Rete, quindi Aggiungi regole in uscita definite dall'utente. Aggiungere una regola per l'account di archiviazione di Azure e assicurarsi che Spark abilitato sia selezionato.
Selezionare Salva per salvare la regola, quindi selezionare Salva nella parte superiore di Rete per salvare le modifiche apportate alla rete virtuale gestita.
- Quando l'opzione Consenti solo l'uscita approvata è abilitata (
Configurare la rete virtuale gestita.
Nota
Se l'area di lavoro dispone dell'accesso alla rete pubblica abilitata, è necessario disabilitarla prima del provisioning della rete virtuale gestita. Se non si disabilita l'accesso alla rete pubblica durante il provisioning della rete virtuale gestita, gli endpoint privati per l'area di lavoro potrebbero non essere creati automaticamente nella rete virtuale gestita. In caso contrario, è necessario configurare manualmente la regola in uscita dell'endpoint privato per l'area di lavoro dopo il provisioning.
L'esempio seguente illustra come effettuare il provisioning di una rete virtuale gestita per i processi Spark serverless usando il
--include-spark
parametro .az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-spark
L'esempio seguente illustra come effettuare il provisioning di una rete virtuale gestita per i processi Spark serverless:
# 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()
Dal portale di Azure è possibile selezionare solo per effettuare il provisioning della rete gestita durante la creazione dell'area di lavoro. A tale scopo, selezionare Effettuare il provisioning della rete virtuale gestita dalla scheda Accesso in uscita . Per effettuare il provisioning della rete gestita per i processi Spark serverless per un'area di lavoro esistente, è necessario usare l'interfaccia della riga di comando di Azure o Python SDK.
Effettuare manualmente il provisioning di una rete virtuale gestita
Il provisioning della rete virtuale gestita viene eseguito automaticamente quando si crea un'istanza di calcolo. Quando si fa affidamento sul provisioning automatico, possono essere necessari circa 30 minuti per creare la prima istanza di calcolo perché viene effettuato anche il provisioning della rete. Se sono state configurate regole in uscita FQDN (disponibili solo con la modalità Consenti solo il traffico approvato), la prima regola FQDN aggiunge circa 10 minuti al tempo di provisioning. Se si ha un set di regole in uscita di grandi dimensioni di cui eseguire il provisioning nella rete gestita, il completamento del provisioning può richiedere più tempo. Un tempo di provisioning più elevato può causare il timeout della creazione della prima istanza di calcolo.
Per ridurre il tempo di attesa ed evitare potenziali errori di timeout, è consigliabile effettuare manualmente il provisioning della rete gestita. Attendere quindi il completamento del provisioning prima di creare un'istanza di calcolo.
In alternativa, è possibile usare il provision_network_now
flag per effettuare il provisioning della rete gestita come parte della creazione dell'area di lavoro.
Nota
Per creare una distribuzione online, è necessario effettuare manualmente il provisioning della rete gestita o creare prima un'istanza di calcolo che ne effettui automaticamente il provisioning.
Nell'esempio seguente viene illustrato come effettuare il provisioning di una rete virtuale gestita durante la creazione dell'area di lavoro.
az ml workspace create -n myworkspace -g my_resource_group --managed-network AllowInternetOutbound --provision-network-now
Nell'esempio seguente viene illustrato come effettuare manualmente il provisioning di una rete virtuale gestita.
Suggerimento
Se si prevede di inviare processi Spark serverless, aggiungere il parametro --include-spark
.
az ml workspace provision-network -g my_resource_group -n my_workspace_name
Per verificare che il provisioning sia stato completato, usare il comando seguente:
az ml workspace show -n my_workspace_name -g my_resource_group --query managed_network
Per effettuare il provisioning della rete gestita durante la creazione dell'area di lavoro, impostare il provision_network_now
flag su True
.
provision_network_now: True
L'esempio seguente illustra come effettuare il provisioning di una rete virtuale gestita:
# 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()
Per verificare che sia stato effettuato il provisioning dell'area di lavoro, usare ml_client.workspaces.get()
per ottenere le informazioni sull'area di lavoro. La proprietà managed_network
contiene lo stato della rete gestita.
ws = ml_client.workspaces.get()
print(ws.managed_network.status)
Durante la creazione dell'area di lavoro, selezionare Provisionare la rete gestita proattivamente per la configurazione della rete gestita. Una volta effettuato il provisioning della rete virtuale, le risorse di rete come gli endpoint privati iniziano a generare addebiti. Questa opzione di configurazione è disponibile solo durante la creazione dell'area di lavoro.
Configurare la creazione di immagini
Quando il Registro Azure Container per l'area di lavoro si trova dietro una rete virtuale, non può essere usato per creare direttamente immagini Docker. Configurare invece l'area di lavoro per usare un cluster di elaborazione o un'istanza di ambiente calcolo per compilare immagini.
Importante
La risorsa di elaborazione usato per compilare le immagini Docker deve essere in grado di accedere ai repository di pacchetti utilizzati per eseguire il training e la distribuzione dei modelli. Se si usa una rete configurata per consentire solo l'approvazione in uscita, potrebbe essere necessario aggiungere regole che consentano l'accesso ai repository pubblici o usare pacchetti Python privati.
Per aggiornare un'area di lavoro per usare un cluster di elaborazione o un'istanza di ambiente calcolo per compilare immagini Docker, usare il comando az ml workspace update
con il parametro --image-build-compute
:
az ml workspace update --name ws --resource-group rg --image-build-compute mycompute
L'esempio seguente illustra come aggiornare un'area di lavoro per usare un cluster di elaborazione per compilare immagini:
# 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)
Non è possibile impostare il calcolo di compilazione delle immagini dal portale di Azure. Utilizza l'interfaccia della riga di comando di Azure o l'SDK di Python invece.
Gestire le regole in uscita
Per elencare le regole in uscita della rete virtuale gestita per un'area di lavoro, usare il comando seguente:
az ml workspace outbound-rule list --workspace-name ws --resource-group rg
Per visualizzare i dettagli di una regola in uscita della rete virtuale gestita, usare il comando seguente:
az ml workspace outbound-rule show --rule rule-name --workspace-name ws --resource-group rg
Per rimuovere una regola in uscita dalla rete virtuale gestita, usare il comando seguente:
az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg
L'esempio seguente illustra come gestire le regole in uscita per un'area di lavoro denominata 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()
Accedere al portale di Azure e selezionare l'area di lavoro di Azure Machine Learning per cui si vuole abilitare l'isolamento della rete virtuale gestita.
Selezionare Rete. La sezione Accesso in uscita dell'area di lavoro consente di gestire le regole in uscita.
Per aggiungere una regola in uscita, selezionare Aggiungi regole in uscita definite dall'utente dalla schedaRete. Nella barra laterale Regole in uscita dell'area di lavoro specificare le informazioni seguenti:
Per abilitare o disabilitare una regola, usare l'interruttore nella colonna Attiva.
Per eliminare una regola in uscita, selezionare elimina per la regola.
Elenco delle regole obbligatorie
Endpoint privati:
- Quando la modalità di isolamento per la rete virtuale gestita è
Allow internet outbound
, le regole in uscita dell'endpoint privato vengono create automaticamente come regole necessarie dalla rete virtuale gestita per l'area di lavoro e le risorse associate con accesso alla rete pubblica disabilitata (Insieme di credenziali delle chiavi, account di archiviazione, Registro Contenitori, area di lavoro di Azure Machine Learning). - Quando la modalità di isolamento per la rete virtuale gestita è
Allow only approved outbound
, le regole in uscita dell'endpoint privato vengono create automaticamente come regole necessarie dalla rete virtuale gestita per l'area di lavoro e le risorse associate indipendentemente dalla modalità di accesso alla rete pubblica per tali risorse (Key Vault, Account di archiviazione, Registro Contenitori, area di lavoro di Azure Machine Learning). - Queste regole vengono aggiunte automaticamente alla rete virtuale gestita.
Per l'esecuzione normale di Azure Machine Learning, è necessario un set di tag di servizio necessari in una rete virtuale gestita o personalizzata. Non esistono alternative alla sostituzione di determinati tag di servizio necessari. La tabella seguente descrive ogni tag di servizio richiesto e il relativo scopo all'interno di Azure Machine Learning.
Regola tag del servizio | In ingresso o in uscita | Scopo |
---|---|---|
AzureMachineLearning |
In ingresso | Creare, aggiornare ed eliminare l'istanza di ambiente di calcolo o il cluster di elaborazione di Azure Machine Learning. |
AzureMachineLearning |
In uscita | Uso dei servizi Azure Machine Learning. Nei notebook Python IntelliSense utilizza la porta 18881. La creazione, l'aggiornamento e l'eliminazione di un'istanza di ambiente di calcolo di Azure Machine Learning usa la porta 5831. |
AzureActiveDirectory |
In uscita | Autenticazione usando Microsoft Entra ID. |
BatchNodeManagement.region |
In uscita | Comunicazione con il back-end di Azure Batch per istanze di ambiente di calcolo e cluster di elaborazione di Azure Machine Learning. |
AzureResourceManager |
In uscita | Creazione di risorse di Azure con Azure Machine Learning, l’interfaccia della riga di comando di Azure e Azure Machine Learning SDK. |
AzureFrontDoor.FirstParty |
In uscita | Accedere alle immagini Docker fornite da Microsoft. |
MicrosoftContainerRegistry |
In uscita | Accedere alle immagini Docker fornite da Microsoft. Configurare il router di Azure Machine Learning per il servizio Azure Kubernetes. |
AzureMonitor |
In uscita | Usato per registrare attività di monitoraggio e metriche su Azure Monitor. Solo necessario se Azure Monitor per l'area di lavoro non è protetto. Questo traffico in uscita viene usato anche per registrare le informazioni per gli eventi di supporto. |
VirtualNetwork |
In uscita | Obbligatorio quando gli endpoint privati sono presenti nella rete virtuale o nelle reti virtuali interconnesse. |
Nota
Usare i tag del servizio come unico limite di sicurezza non è sufficiente. Per l'isolamento a livello di tenant, usare gli endpoint privati quando possibile.
Elenco di regole in uscita specifiche dello scenario
Scenario: accedere ai pacchetti di apprendimento automatico pubblici
Per consentire l'installazione di pacchetti Python per il training e la distribuzione, aggiungere regole FQDN in uscita per consentire il traffico verso i nomi host seguenti:
Avviso
Le regole FQDN in uscita vengono implementate tramite Azure Firewall. Se si usano regole FQDN in uscita, gli addebiti per Firewall di Azure vengono aggiunti alla fatturazione. Per altre informazioni, vedere Prezzi.
Nota
L'elenco seguente non contiene tutti gli host necessari per tutte le risorse Python in Internet, ma solo gli host usati più di frequente. Ad esempio, se è necessario accedere a un repository GitHub o a un altro host, occorre identificare e aggiungere gli host necessari per tale scenario.
Nome host | Scopo |
---|---|
anaconda.com *.anaconda.com |
Usato per installare i pacchetti predefiniti. |
*.anaconda.org |
Usato per ricevere i dati del repository. |
pypi.org |
Usato per elencare le dipendenze dall'indice predefinito, se presenti e se l'indice non viene sovrascritto dalle impostazioni utente. Se l'indice viene sovrascritto, è necessario consentire anche *.pythonhosted.org . |
pytorch.org *.pytorch.org |
Usato da alcuni esempi basati su PyTorch. |
*.tensorflow.org |
Usato da alcuni esempi basati su TensorFlow. |
Scenario: usare il Visual Studio Code per desktop o web con l'istanza di ambiente calcolo
Se si prevede di usare Visual Studio Code con Azure Machine Learning, aggiungere regole FQDN in uscita per consentire il traffico agli host seguenti:
Nota
L'elenco seguente non è un elenco completo degli host necessari per tutte le risorse di Visual Studio Code in Internet, ma solo per l'uso più comune. Ad esempio, se è necessario accedere a un repository GitHub o a un altro host, occorre identificare e aggiungere gli host necessari per tale scenario. Per un elenco completo dei nomi host, vedere Connessioni di rete in Visual Studio Code.
Nome host | Scopo |
---|---|
*.vscode.dev *.vscode-unpkg.net *.vscode-cdn.net *.vscodeexperiments.azureedge.net default.exp-tas.com |
Obbligatorio per accedere a vscode.dev (Visual Studio Code per il Web) |
code.visualstudio.com |
Obbligatorio per scaricare e installare VS Code desktop. Questo host non è necessario per VS Code Web. |
update.code.visualstudio.com *.vo.msecnd.net |
Usato per recuperare i bit del server vs Code installati nell'istanza di calcolo tramite uno script di installazione. |
marketplace.visualstudio.com vscode.blob.core.windows.net *.gallerycdn.vsassets.io |
Obbligatorio per scaricare e installare le estensioni di VS Code. Questi host consentono la connessione remota alle istanze di calcolo. Per altre informazioni, vedere Gestire le risorse di Azure Machine Learning in VS Code. |
vscode.download.prss.microsoft.com |
Usato per la rete CDN di download di Visual Studio Code |
Scenario: Usare gli endpoint batch o il ParallelRunStep
Se si prevede di usare endpoint batch di Azure Machine Learning per la distribuzione o ParallelRunStep, aggiungere regole di endpoint privato in uscita per consentire il traffico verso le risorse secondarie seguenti per l'account di archiviazione predefinito:
queue
table
Scenario: usare il prompt flow con OpenAI di Azure, la sicurezza dei contenuti e Azure AI Search
- Endpoint privato per Servizi di Azure AI
- Endpoint privato in Azure AI Search
Scenario: usare modelli HuggingFace
Se si prevede di usare modelli HuggingFace con Azure Machine Learning, aggiungere regole di FQDN in uscita per consentire il traffico verso gli host seguenti:
Avviso
Le regole FQDN in uscita vengono implementate tramite Azure Firewall. Se si usano regole FQDN in uscita, gli addebiti per Firewall di Azure vengono aggiunti alla fatturazione. Per altre informazioni, vedere Prezzi.
docker.io
*.docker.io
*.docker.com
production.cloudflare.docker.com
cdn.auth0.com
cdn-lfs.huggingface.co
Scenario: abilitare l'accesso da indirizzi IP selezionati
Se si vuole abilitare l'accesso da indirizzi IP specifici, usare le azioni seguenti:
Aggiungere una regola di endpoint privato in uscita per consentire il traffico all'area di lavoro di Azure Machine Learning. Questa regola consente alle istanze di calcolo create nella rete virtuale gestita di accedere all'area di lavoro.
Suggerimento
Non è possibile aggiungere questa regola durante la creazione dell'area di lavoro, perché l'area di lavoro non esiste ancora.
Abilitare l'accesso alla rete pubblica all'area di lavoro. Per altre informazioni, vedere l’accesso alla rete pubblica abilitato.
Aggiungere gli indirizzi IP al firewall per Azure Machine Learning. Per altre informazioni, vedere abilitare l'accesso solo dagli intervalli IP.
Nota
Sono supportati solo gli indirizzi IPv4.
Per altre informazioni, vedere Configurare il collegamento privato.
Endpoint privati
Gli endpoint privati sono attualmente supportati per i servizi di Azure seguenti:
- Azure Machine Learning (Apprendimento Automatico di Azure)
- Registri di Azure Machine Learning
- Archiviazione di Azure (tutti i tipi di risorse secondarie)
- Registro dei Container di Azure
- Azure Key Vault (Archivio chiavi di Azure)
- Servizi di Azure AI
- Azure AI Search (in precedenza Ricerca cognitiva)
- Azure SQL Server
- Azure Data Factory
- Azure Cosmos DB (tutti i tipi di risorse secondarie)
- Hub eventi di Azure
- Cache di Azure per Redis
- Azure Databricks
- Database di Azure per MariaDB
- Database di Azure per PostgreSQL - Server singolo
- Database di Azure per PostgreSQL - Server flessibile
- Database di Azure per MySQL
- Gestione API di Azure
- Supporta solo il livello classico senza iniezione VNET e il livello Standard V2 con integrazione della rete virtuale. Per altre informazioni sulle reti virtuali di Gestione API, vedere Concetti relativi alla rete virtuale
- Application Insights (tramite PrivateLinkScopes)
Quando si crea un endpoint privato, si specifica il tipo di risorsa e la risorsa secondaria a cui si connette l'endpoint. Alcune risorse hanno più tipi e risorse secondarie. Per altre informazioni, vedere che cos'è un endpoint privato.
Quando si crea un endpoint privato per le risorse di dipendenza di Azure Machine Learning, ad esempio Archiviazione di Azure, Registro Azure Container e Azure Key Vault, la risorsa può trovarsi in una sottoscrizione di Azure diversa. Tuttavia, la risorsa deve trovarsi nello stesso tenant dell'area di lavoro di Azure Machine Learning.
Gli endpoint privati per l'area di lavoro non vengono creati automaticamente. Vengono creati solo quando viene creato il primo calcolo o quando viene forzato il provisioning della rete virtuale gestita. Per altre informazioni su come forzare il provisioning della rete virtuale gestita, vedere Effettuare manualmente il provisioning della rete.
Approvazione di endpoint privati
Per stabilire connessioni endpoint privati nelle reti virtuali gestite usando Azure Machine Learning, l'identità gestita dell'area di lavoro, assegnata dal sistema o assegnata dall'utente, deve disporre delle autorizzazioni per approvare le connessioni endpoint privato nelle risorse di destinazione. In precedenza, questa assegnazione è stata eseguita tramite assegnazioni di ruolo automatiche dal servizio Azure Machine Learning. Esistono tuttavia problemi di sicurezza relativi all'assegnazione automatica dei ruoli. Per migliorare la sicurezza, a partire dal 30 aprile 2025, questa assegnazione di ruolo non è automatica.
È consigliabile assegnare il ruolo di approvatore della connessione di rete di Azure AI Enterprise o un ruolo personalizzato con le autorizzazioni necessarie per la connessione all'endpoint privato sui tipi di risorse di destinazione. Per consentire ai servizi di Azure Machine Learning di approvare le connessioni di endpoint privato alle risorse di Azure di destinazione, concedere questo ruolo all'identità gestita dell'area di lavoro di Azure Machine Learning.
** Di seguito è riportato l'elenco dei tipi di risorse di destinazione dell'endpoint privato coperti dal ruolo di Approvazione della connessione di rete dell'Enterprise di Azure AI:
- Gateway applicativo di Azure
- Monitoraggio di Azure
- Ricerca di intelligenza artificiale di Azure
- Hub eventi
- Database SQL di Microsoft Azure
- Archiviazione di Azure
- Area di lavoro di Azure Machine Learning
- Registro di Azure Machine Learning
- Azure AI Foundry
- Azure Key Vault (Archivio chiavi di Azure)
- Azure Cosmos DB, un servizio di database distribuito globale di Microsoft
- Database di Azure per MySQL
- Database di Azure per PostgreSQL
- Servizi di intelligenza artificiale di Azure
- Cache di Azure per Redis
- Registro dei Contenitori
- Gestione API
Per creare regole dell'endpoint privato per la comunicazione in uscita rivolte a tipi di risorse non coperte dal ruolo di approvazione della connessione di rete aziendale per Azure AI, è consigliabile un ruolo personalizzato con ambito limitato. La regola deve definire le azioni necessarie per approvare le connessioni all'endpoint privato nei tipi di risorse di destinazione. Esempi di questi tipi di risorse sono Azure Data Factory, Azure Databricks e App per le funzioni di Azure.
Per creare regole in uscita dell'endpoint privato per le risorse predefinite dell'area di lavoro, le autorizzazioni necessarie vengono coperte automaticamente dalle assegnazioni di ruolo concesse durante la creazione dell'area di lavoro, quindi non sono necessarie altre azioni.
Selezionare una versione di Firewall di Azure per consentire solo il traffico in uscita approvato
Un firewall di Azure viene distribuito se viene creata una regola in uscita FQDN in modalità Consenti solo il traffico in uscita approvato. Gli addebiti per il Firewall di Azure sono inclusi nella fatturazione. Per impostazione predefinita, viene creata una versione Standard di AzureFirewall. Facoltativamente, è possibile selezionare per usare una versione di base . È possibile modificare la versione del firewall usata in base alle esigenze. Per capire quale versione è migliore per te, visita Scegliere la versione Firewall di Azure corretta.
Importante
Il firewall non viene creato fino a quando non si aggiunge una regola FQDN in uscita. Per altre informazioni sui prezzi, vedere Prezzi di Firewall di Azure e visualizzare i prezzi per la versione standard. Il filtro basato su URL è supportato solo con Firewall di Azure con SKU Premium, non con Firewall di Azure con SKU Basic o Standard. La rete virtuale gestita non supporta SKU Premium di Azure Firewall.
Dopo aver selezionato l'opzione Consenti solo la modalità in uscita approvata, viene visualizzata un'opzione per selezionare la versione Firewall di Azure (SKU). Selezionare Standard per usare la versione standard o Basic per usare la versione di base. Selezionare Salva per salvare la configurazione.
Per configurare la versione del firewall dall'interfaccia della riga di comando, usare un file YAML e specificare .firewall_sku
L'esempio seguente illustra un file YAML che imposta lo SKU del firewall su 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: {}
Per configurare la versione del firewall da Python SDK, impostare la proprietà firewall_sku
dell'oggetto ManagedNetwork
. L'esempio seguente illustra come impostare lo SKU del firewall su basic
:
network = ManagedNetwork(isolation_mode=IsolationMode.ALLOW_INTERNET_OUTBOUND,
firewall_sku='basic')
Prezzi
La funzionalità di rete virtuale gestita di Azure Machine Learning è gratuita. Tuttavia, vengono addebitati i costi per le seguenti risorse usate dalla rete virtuale gestita:
Collegamento privato di Azure: gli endpoint privati usati per proteggere le comunicazioni tra la rete virtuale gestita e le risorse di Azure si basano sul collegamento privato di Azure. Per altre informazioni sui prezzi, vedere Prezzi di Collegamento privato di Azure.
Regole in uscita FQDN: le regole in uscita FQDN vengono implementate tramite Firewall di Azure. Se si usano regole FQDN in uscita, gli addebiti per Firewall di Azure vengono aggiunti alla fatturazione. Per impostazione predefinita, viene usata una versione standard di Firewall di Azure. Per informazioni sulla selezione della versione di base, vedere Selezionare una versione Firewall di Azure.
Importante
Il firewall non viene creato fino a quando non si aggiunge una regola FQDN in uscita. Per altre informazioni sui prezzi, vedere Prezzi di Firewall di Azure e visualizzare i prezzi per la versione standard.
Limiti
- Dopo aver abilitato l'isolamento della rete virtuale gestita dell'area di lavoro (consentire internet in uscita o consentire solo l'uscita approvata), non è possibile disabilitarlo.
- La rete virtuale gestita usa la connessione dell'endpoint privato per accedere alle risorse private. Non è possibile avere un endpoint privato e un endpoint di servizio contemporaneamente per le risorse di Azure, ad esempio un account di archiviazione. È consigliabile usare gli endpoint privati in tutti gli scenari.
- La rete virtuale gestita viene eliminata quando l'area di lavoro viene eliminata.
- Assicurarsi che non siano presenti blocchi di ambito per le risorse e il gruppo di risorse di Azure Machine Learning. Le operazioni interne correlate alla rete virtuale gestita potrebbero essere bloccate.
- La protezione dall'esfiltrazione di dati è abilitata automaticamente per l'unica modalità di uscita approvata. Se si aggiungono altre regole in uscita, come i nomi di dominio completamente qualificati, Microsoft non può garantire la protezione dall'esfiltrazione di dati verso tali destinazioni.
- La creazione di un cluster di elaborazione in un'area diversa da quella dell'area di lavoro non è supportata quando si usa una rete virtuale gestita.
- Kubernetes e macchine virtuali collegate non sono supportate in una rete virtuale gestita di Azure Machine Learning.
- L'uso delle regole in uscita FQDN aumenta il costo della rete virtuale gestita perché le regole FQDN usano Firewall di Azure. Per altre informazioni, vedere Prezzi.
- Le regole in uscita FQDN supportano solo le porte 80 e 443.
- Se l'istanza di calcolo si trova in una rete gestita ed è configurata per nessun indirizzo IP pubblico, usare il comando
az ml compute connect-ssh
per connettersi tramite SSH. - Quando si usa la rete virtuale gestita, non è possibile distribuire risorse di calcolo all'interno della rete virtuale personalizzata. Le risorse di calcolo possono essere create solo all'interno della rete virtuale gestita.
- Se la rete gestita è configurata per consentire solo l'approvazione in uscita, non è possibile usare una regola FQDN per accedere agli account Archiviazione di Azure. È invece necessario usare un endpoint privato.
- Assicurarsi di aggiungere all'elenco elementi consentiti gli endpoint privati gestiti da Microsoft creati per la rete virtuale gestita nei criteri personalizzati.
Migrazione delle risorse di calcolo
Se si dispone di un'area di lavoro esistente e si vuole abilitare la rete virtuale gestita, non è attualmente disponibile alcun percorso di migrazione supportato per le risorse di calcolo gestite esistenti. È necessario eliminare tutte le risorse di calcolo gestite esistenti e ricrearle dopo aver abilitato la rete virtuale gestita. L'elenco seguente contiene le risorse di calcolo che devono essere eliminate e ricreate:
- Cluster di elaborazione
- Istanza di ambiente di calcolo
- Endpoint online gestiti