Isolamento rete con i registri di sistema di Azure Machine Learning
Questo articolo mostra come proteggere il registro di sistema di Azure Machine Learning usando la rete virtuale di Azuree gliendpoint privati.
Gli endpoint privati in Azure forniscono l'isolamento rete abilitando l'accesso ai servizi di Azure tramite un indirizzo IP privato all'interno di una rete virtuale. La rete virtuale protegge le connessioni tra le risorse di Azure e impedisce l'esposizione dei dati sensibili alla rete Internet pubblica.
L'uso dell'isolamento rete con endpoint privati impedisce al traffico di rete di passare dalla rete Internet pubblica e porta il servizio di registro di sistema di Azure Machine Learning alla rete virtuale. Tutto il traffico di rete avviene tramite collegamento privato di Azure quando vengono usati endpoint privati.
Prerequisiti
- Un Registro di sistema di Azure Machine Learning. Per crearne uno, seguire i passaggi descritti nell'articolo Come creare e gestire registri di sistema.
- Familiarità con gli articoli seguenti:
Proteggere il registro di sistema di Azure Machine Learning
Nota
Per semplicità, si farà riferimento all'area di lavoro, alle risorse associate e alla rete virtuale di cui fanno parte come configurazione sicura dell'area di lavoro. Verrà mostrato come aggiungere registri di sistema di Azure Machine Learning come parte della configurazione esistente.
Il diagramma seguente mostra una configurazione di rete di base e come adattare il registro di sistema di Azure Machine Learning. Se si usa già l'area di lavoro di Azure Machine Learning e si dispone di una configurazione sicura dell'area di lavoro dove tutte le risorse fanno parte della rete virtuale, è possibile creare un endpoint privato dalla rete virtuale esistente nel registro di sistema di Azure Machine Learning e nelle risorse associate (risorsa di archiviazione e Registro Azure Container).
Se non si ha una configurazione sicura dell'area di lavoro, è possibile crearla usando l’articolo Creare un'area di lavoro sicura nel portale di Azure, modello Bicep o modello Terraform.
Limiti
Se si sta usando un registro di Azure Machine Learning con isolamento rete, è possibile visualizzare le risorse del modello in studio di Azure Machine Learning. Non sarà possibile visualizzare altri tipi di risorse. Non sarà possibile eseguire operazioni sul registro di Azure Machine Learning o nelle risorse sottostanti usando Studio. Usare, invece, l'interfaccia della riga di comando di Azure Machine Learning o l'SDK.
Scenario: la configurazione dell'area di lavoro è sicura e il registro di sistema di Azure Machine Learning è pubblico
Questa sezione descrive gli scenari e la configurazione di rete necessaria, se si dispone di una configurazione sicura dell'area di lavoro, ma si usa un registro pubblico.
Creare asset nel registro di sistema da file locali
All'identità (ad esempio, l'identità utente di uno scienziato dei dati di Microsoft Entra) usata per creare asset nel registro di sistema deve essere assegnato il ruolo di utente, proprietarioo collaboratore del registro di sistema di AzureML nel controllo degli accessi in base al ruolo di Azure. Per altre informazioni, vedere l’articolo Gestire gli accessi ad Azure Machine Learning.
Condividere gli asset dall'area di lavoro al registro di sistema
Nota
La condivisione di un componente dall'area di lavoro di Azure Machine Learning al registro di sistema di Azure Machine Learning non è attualmente supportata.
A causa della protezione dell'esfiltrazione dei dati non è possibile condividere un asset dall'area di lavoro sicura a un registro pubblico, se l'account di archiviazione contenente l'asset ha l’accesso pubblico disabilitato. Per abilitare la condivisione di asset dall'area di lavoro al registro di sistema:
- Passare alla sezione Rete dell'account di archiviazione collegato all'area di lavoro (da dove si vuole consentire la condivisione delle risorse al registro)
- Impostare Accesso alla rete pubblica su Abilitato da reti virtuali e indirizzi IP selezionati
- Scorrere verso il basso e passare alla sezione Istanze di risorse. Selezionare Tipo di risorsa in Microsoft.MachineLearningServices/registries e impostare Nome istanza sul nome della risorsa del registro di sistema di Azure Machine Learning dove si vuole abilitare la condivisione dall'area di lavoro.
- Assicurarsi di controllare le altre impostazioni in base alla configurazione di rete.
Usare gli asset dal registro di sistema nell'area di lavoro
Operazioni di esempio:
- Inviare un processo che usa un asset dal registro di sistema.
- Usare un componente dal registro di sistema in una pipeline.
- Usare un ambiente dal registro di sistema in un componente.
Per usare asset dal registro di sistema a un'area di lavoro sicura è necessario configurare l'accesso in uscita al registro di sistema.
Distribuire un modello dal registro di sistema all'area di lavoro
Per distribuire un modello da un registro di sistema a un endpoint online gestito sicuro, la distribuzione deve essere impostata egress_public_network_access=disabled
. Azure Machine Learning crea gli endpoint privati necessari al registro di sistema durante la distribuzione dell'endpoint. Per altre informazioni, vedere Creare endpoint online gestiti sicuri.
Configurazione di rete in uscita per accedere a qualsiasi registro di sistema di Azure Machine Learning
Tag di servizio | Protocollo e porte | Scopo |
---|---|---|
AzureMachineLearning |
TCP: 443, 877, 18881 UDP: 5831 |
Uso dei servizi Azure Machine Learning. |
Storage.<region> |
TCP: 443 | Accedere ai dati archiviati nell'account di archiviazione di Azure per i cluster di elaborazione e le istanze dell’ambiente di calcolo. Questo valore in uscita può essere usato per esfiltrare i dati. Per altre informazioni, vedere Protezione dell'esfiltrazione dei dati. |
MicrosoftContainerRegistry.<region> |
TCP: 443 | Accedere alle immagini Docker fornite da Microsoft. |
AzureContainerRegistry.<region> |
TCP: 443 | Accedere alle immagini Docker per gli ambienti. |
Scenario: la configurazione dell'area di lavoro è sicura e il registro di sistema di Azure Machine Learning è connesso alle reti virtuali tramite endpoint privati
Questa sezione descrive gli scenari e la configurazione di rete necessaria, se si dispone di una configurazione dell'area di lavoro sicura con i registri di Azure Machine Learning connessi tramite endpoint privato a una rete virtuale.
Il registro di sistema di Azure Machine Learning ha istanze del servizio di archiviazione/Registro Azure Container associate. Queste istanze del servizio possono anche essere connesse alla rete virtuale tramite endpoint privati per proteggere la configurazione. Per altre informazioni, vedere la sezione Come creare un endpoint privato.
Come trovare l'account di archiviazione di Azure e il registro Azure Container usato dal registro di sistema
L'account di archiviazione e il registro Azure Container usati dal registro di sistema di Azure Machine Learning vengono creati in un gruppo di risorse gestite nella sottoscrizione di Azure. Il nome del gruppo di risorse gestite segue il criterio di azureml-rg-<name-of-your-registry>_<GUID>
. Il GUID è una stringa generata in modo casuale. Ad esempio, se il nome del registro è "contosoreg", il nome del gruppo di risorse gestito sarà azureml-rg-contosoreg_<GUID>
.
Nel portale di Azure è possibile trovare questo gruppo di risorse cercando azureml_rg-<name-of-your-registry>
. Tutte le risorse di archiviazione e del Registro Azure Container per il registro di sistema sono disponibili in questo gruppo di risorse.
Creare asset nel registro di sistema da file locali
Nota
La creazione di un asset di ambiente non è supportata in un registro privato dove il Registro Azure Container associato ha l’accesso pubblico disabilitato. Come soluzione alternativa è possibile creare un ambiente nell'area di lavoro di Azure Machine Learning e condividerlo con il registro di sistema di Azure Machine Learning.
I client devono essere connessi alla rete virtuale a cui è connesso il registro di sistema con un endpoint privato.
Connettersi in modo sicuro al registro di sistema
Per connettersi a un registro di sistema protetto da una rete virtuale, utilizzare uno dei metodi seguenti:
Gateway VPN di Azure - Connette le reti locali alla rete virtuale tramite una connessione privata. La connessione viene stabilita nella rete Internet pubblica. Ci sono due tipi di gateway VPN che è possibile usare:
Da punto a sito: ogni computer client usa un client VPN per connettersi alla rete virtuale.
Da sito a sito: un dispositivo VPN connette la rete virtuale alla rete locale.
ExpressRoute - Connette le reti locali al cloud tramite una connessione privata. La connessione viene stabilita usando un provider di connettività.
Azure Bastion - In questo scenario si crea una macchina virtuale di Azure (talvolta denominata jump box) nella rete virtuale. Si stabilisce quindi la connessione alla macchina virtuale usando Azure Bastion. Bastion consente di connettersi alla macchina virtuale usando una sessione RDP o SSH dal Web browser locale. Usare quindi il dispositivo jump box come ambiente di sviluppo. Poiché si trova all'interno della rete virtuale, può accedere direttamente al registro di sistema.
Condividere gli asset dall'area di lavoro al registro di sistema
Nota
La condivisione di un componente dall'area di lavoro di Azure Machine Learning al registro di sistema di Azure Machine Learning non è attualmente supportata.
A causa della protezione dell'esfiltrazione dei dati non è possibile condividere un asset dall'area di lavoro sicura a un registro privato, se l'account di archiviazione contenente l'asset ha l’accesso pubblico disabilitato. Per abilitare la condivisione di asset dall'area di lavoro al registro di sistema:
- Passare alla sezione Rete dell'account di archiviazione collegato all'area di lavoro (da dove si vuole consentire la condivisione delle risorse al registro)
- Impostare Accesso alla rete pubblica su Abilitato da reti virtuali e indirizzi IP selezionati
- Scorrere verso il basso e passare alla sezione Istanze di risorse. Selezionare Tipo di risorsa in Microsoft.MachineLearningServices/registries e impostare Nome istanza sul nome della risorsa del registro di sistema di Azure Machine Learning dove si vuole abilitare la condivisione dall'area di lavoro.
- Assicurarsi di controllare le altre impostazioni in base alla configurazione di rete.
Usare gli asset dal registro di sistema nell'area di lavoro
Operazioni di esempio:
- Inviare un processo che usa un asset dal registro di sistema.
- Usare un componente dal registro di sistema in una pipeline.
- Usare un ambiente dal registro di sistema in un componente.
Creare un endpoint privato nel registro di sistema, nella risorsa di archiviazione e nel Registro Azure Container dalla rete virtuale dell'area di lavoro. Se si sta provando a connettersi a più registri, creare un endpoint privato per ogni registro di sistema, risorsa di archiviazione e ACR associati. Per altre informazioni, vedere la sezione Come creare un endpoint privato.
Distribuire un modello dal registro di sistema all'area di lavoro
Per distribuire un modello da un registro di sistema a un endpoint online gestito sicuro, la distribuzione deve essere impostata egress_public_network_access=disabled
. Azure Machine Learning crea gli endpoint privati necessari al registro di sistema durante la distribuzione dell'endpoint. Per altre informazioni, vedere Creare endpoint online gestiti sicuri.
Come creare un endpoint privato
Usare le schede per visualizzare le istruzioni per aggiungere un endpoint privato a un registro di sistema esistente o creare un nuovo registro di sistema con un endpoint privato:
Nel portale di Azure cercare Endpoint privato e selezionare la voce Endpoint privati per passare al Centro collegamento privato.
Nella pagina di panoramica Centro collegamento privato selezionare + Crea.
Fornire le informazioni richieste. Per il campo Area selezionare la stessa area della rete virtuale di Azure. Selezionare Avanti.
Nella scheda Risorsa quando si seleziona Tipo di risorsa, selezionare
Microsoft.MachineLearningServices/registries
. Impostare il campo Risorsa sul nome del registro di sistema di Azure Machine Learning e quindi selezionare Avanti.Nella scheda Virtual network selezionare la rete virtuale e la subnet per le risorse di Azure Machine Learning. Selezionare Avanti per continuare.
Nella scheda DNS lasciare i valori predefiniti a meno che non si disponga di specifici requisiti di integrazione DNS privato. Selezionare Avanti per continuare.
Nella scheda Rivedi e crea selezionare Crea per creare l'endpoint privato.
Usare il comando seguente per impostare l'accesso alla rete pubblica su disabilitato. Verificare che anche la risorsa di archiviazione e il Registro Azure Container hanno l'accesso alla rete pubblica disabilitato.
az ml registry update --set publicNetworkAccess=Disabled --name <name-of-registry>
Come trovare l'account di archiviazione di Azure e il registro Azure Container usato dal registro di sistema
L'account di archiviazione e il registro Azure Container usati dal registro di sistema di Azure Machine Learning vengono creati in un gruppo di risorse gestite nella sottoscrizione di Azure. Il nome del gruppo di risorse gestite segue il criterio di azureml-rg-<name-of-your-registry>_<GUID>
. Il GUID è una stringa generata in modo casuale. Ad esempio, se il nome del registro è "contosoreg", il nome del gruppo di risorse gestito sarà azureml-rg-contosoreg_<GUID>
.
Nel portale di Azure è possibile trovare questo gruppo di risorse cercando azureml_rg-<name-of-your-registry>
. Tutte le risorse di archiviazione e del Registro Azure Container per il registro di sistema sono disponibili in questo gruppo di risorse.
Come creare un endpoint privato per l'account di archiviazione di Azure
Per creare un endpoint privato per l'account di archiviazione usato dal registro di sistema, seguire i passaggi seguenti:
- Nel portale di Azure cercare Endpoint privato e selezionare la voce Endpoint privati per passare al Centro collegamento privato.
- Nella pagina di panoramica Centro collegamento privato selezionare + Crea.
- Fornire le informazioni richieste. Per il campo Area selezionare la stessa area della rete virtuale di Azure. Selezionare Avanti.
- Nella scheda Risorsa quando si seleziona Tipo di risorsa, selezionare
Microsoft.Storage/storageAccounts
. Impostare il campo Risorsa sul nome dell'account di archiviazione. Impostare Risorsa secondaria su BLOB, quindi selezionare Avanti. - Nella scheda Virtual network selezionare la rete virtuale e la subnet per le risorse di Azure Machine Learning. Selezionare Avanti per continuare.
- Nella scheda DNS lasciare i valori predefiniti a meno che non si disponga di specifici requisiti di integrazione DNS privato. Selezionare Avanti per continuare.
- Nella scheda Rivedi e crea selezionare Crea per creare l'endpoint privato.
Protezione dall'esfiltrazione di dati
Per un registro di sistema di Azure Machine Learning creato dall’utente, si consiglia di usare un endpoint privato per il registro di sistema, l'account di archiviazione gestito e il Registro Azure Container gestito.
Per il registro di sistema si consiglia di creare i criteri dell’endpoint di servizio per l'account di archiviazione usando l'alias /services/Azure/MachineLearning
. Per altre informazioni, vedere Configurare la prevenzione dell'esfiltrazione dei dati.
Come trovare il nome di dominio completo del registro di sistema
Nota
Assicurarsi che il DNS sia in grado di risolvere il nome di dominio completo (FQDN) privato del Registro di sistema, in questo formato: <registry-guid>.registry.<region>.privatelink.api.azureml.ms
poiché non è presente un FQDN specifico della risorsa pubblica risolto in modo ricorsivo da DNS di Azure.
Gli esempi seguenti mostrano come usare l'URL di individuazione per ottenere il nome di dominio completo (FQDN) del registro di sistema. Quando si chiama l'URL di individuazione è necessario fornire un token di accesso di Azure nell'intestazione della richiesta. Gli esempi seguenti mostrano come ottenere un token di accesso e chiamare l'URL di individuazione:
Suggerimento
Il formato dell'URL di individuazione è https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery
, dove <region>
è l'area dove si trova il registro di sistema e <registry_name>
è il nome del registro di sistema. Per chiamare l'URL, effettuare una richiesta GET:
GET https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery
$region = "<region>"
$registryName = "<registry_name>"
$accessToken = (az account get-access-token | ConvertFrom-Json).accessToken
(Invoke-RestMethod -Method Get `
-Uri "https://$region.api.azureml.ms/registrymanagement/v1.0/registries/$registryName/discovery" `
-Headers @{ Authorization="Bearer $accessToken" }).registryFqdns
- REST API
Nota
Per altre informazioni sull'uso delle API REST di Azure, vedere le informazioni di riferimento sulle API REST di Azure REST.
Recuperare il token di accesso. Usare il seguente comando dell’ Interfaccia della riga di comando di Azure per recuperare un token:
az account get-access-token --query accessToken
Usare un client REST, ad esempio Curl, per effettuare una richiesta GET all'URL di individuazione. Usare il token di accesso recuperato nel passaggio precedente per l'autorizzazione. Nell'esempio seguente sostituire
<region>
con l'area dove si trova il registro di sistema e<registry_name>
con il nome del registro di sistema. Sostituire<token>
con il token di accesso recuperato nel passaggio precedente:curl -X GET "https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery" -H "Authorization: Bearer <token>" -H "Content-Type: application/json"
Passaggio successivo
Informazioni su come Condividere modelli, componenti e ambienti tra aree di lavoro con i registri.