Verificare e gestire Azure Machine Learning

Quando i team collaborano su Azure Machine Learning, possono dover soddisfare requisiti differenti per configurare e organizzare le risorse. I team di apprendimento automatico possono desiderare flessibilità per organizzare le aree di lavoro per la collaborazione o per dimensionare i cluster di calcolo in base ai requisiti dei loro casi d'uso. In tali scenari la produttività potrebbe aumentare se i team responsabili delle applicazioni sono in grado di gestire la propria infrastruttura.

Gli amministratori della piattaforma possono usare i criteri di definizione delle protezioni per consentire ai team di gestire le proprie risorse. Criteri di Azure consente di controllare e gestire lo stato delle risorse. Questo articolo illustra come è possibile usare i controlli di audit e le procedure di governance per Azure Machine Learning.

Criteri per Azure Machine Learning

Criteri di Azure è uno strumento di governance che consente di garantire la conformità delle risorse Azure ai criteri.

Criteri di Azure offre un set di criteri che è possibile usare per scenari comuni con Azure Machine Learning. È possibile assegnare queste definizioni di criteri alla sottoscrizione esistente o usarle come base per creare definizioni personalizzate.

La tabella seguente elenca i criteri predefiniti che è possibile assegnare con Azure Machine Learning. Per un elenco di tutti i criteri predefiniti di Azure, vedere Criteri predefiniti.

Nome
(Portale di Azure)
Descrizione Effetti Versione
(GitHub)
[Anteprima]: Le distribuzioni di Azure Machine Learning devono usare solo modelli di Registro di sistema approvati Limitare la distribuzione dei modelli del Registro di sistema per controllare i modelli creati esternamente usati all'interno dell'organizzazione Audit, Deny, Disabled 1.0.0-preview
[Anteprima]: Le distribuzioni del Registro modelli di Azure Machine Learning sono limitate ad eccezione del Registro di sistema consentito Distribuire solo i modelli del Registro di sistema nel Registro di sistema consentito e che non sono limitati. Deny, Disabled 1.0.0-preview
L'istanza di calcolo dell’ambiente di calcolo di Machine Learning di Azure deve avere un arresto per inattività.. La pianificazione di un per inattività riduce i costi arrestando le risorse di calcolo inattive dopo un periodo di attività prestabilito. Audit, Deny, Disabled 1.0.0
È necessario ricreare le istanza di ambiente di calcolo di Azure Machine Learning per ottenere gli aggiornamenti software più recenti Verificare che le istanze di calcolo di Azure Machine Learning vengano eseguite nel sistema operativo più recente disponibile. La sicurezza è migliorata e le vulnerabilità sono ridotte eseguendo con le patch di sicurezza più recenti. Per altre informazioni, vedere https://aka.ms/azureml-ci-updates/. [parameters('effects')] 1.0.3
Gli ambienti di calcolo di Azure Machine Learning devono essere in una rete virtuale Le reti virtuali di Azure offrono sicurezza e isolamento avanzati per i cluster di calcolo e le istanze di Azure Machine Learning, nonché le subnet, i criteri di controllo di accesso e altre funzionalità per limitare ulteriormente l'accesso. Quando un ambiente di calcolo è configurato con una rete virtuale, non è indirizzabile pubblicamente e può essere accessibile solo da macchine virtuali e applicazioni all'interno della rete virtuale. Audit, Disabled 1.0.1
Gli ambienti di calcolo di Machine Learning devono avere i metodi di autenticazione locale disabilitati La disabilitazione dei metodi di autenticazione locale migliora la sicurezza, garantendo che Machine Learning Computes richieda esclusivamente le identità di Azure Active Directory per l'autenticazione. Per altre informazioni, vedere https://aka.ms/azure-ml-aad-policy. Audit, Deny, Disabled 2.1.0
Le aree di lavoro di Azure Machine Learning devono essere crittografate con una chiave gestita dal cliente Gestire la crittografia inattiva dei dati dello spazio di lavoro Azure Machine Learning con chiavi gestite dal cliente. Per impostazione predefinita, i dati dei clienti sono crittografati tramite chiavi gestite dal servizio, ma in genere sono richieste chiavi gestite dal cliente per soddisfare gli standard di conformità alle normative. Le chiavi gestite dal cliente consentono di crittografare i dati con una chiave di Azure Key Vault creata dall'utente e di sua proprietà. L'utente dispone del controllo completo e della piena responsabilità in merito al ciclo di vita della chiave, incluse le operazioni di rotazione e gestione. Per ulteriori informazioni, vedi https://aka.ms/azureml-workspaces-cmk. Audit, Deny, Disabled 1.1.0
Le aree di lavoro di Azure Machine Learning devono disabilitare l'accesso alla rete pubblica La disabilitazione dell'accesso alla rete pubblica migliora la sicurezza assicurandosi che le aree di lavoro di Machine Learning non siano esposte su Internet pubblico. È possibile controllare l'esposizione delle aree di lavoro creando invece endpoint privati. Per altre informazioni, vedere: https://video2.skills-academy.com/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2& tabs=azure-portal. Audit, Deny, Disabled 2.0.1
Le aree di lavoro di Azure Machine Learning devono abilitare V1LegacyMode per supportare la compatibilità con le versioni precedenti dell'isolamento rete Azure ML sta effettuando una transizione a una nuova piattaforma API V2 in Azure Resource Manager ed è possibile controllare la versione della piattaforma API usando il parametro V1LegacyMode. L'abilitazione del parametro V1LegacyMode consentirà di mantenere le aree di lavoro nello stesso isolamento di rete della versione 1, anche se non si avranno a disposizione le nuove funzionalità V2. È consigliabile attivare la modalità legacy V1 solo quando si desidera mantenere i dati del piano di controllo AzureML all'interno delle reti private. Per altre informazioni, vedere https://aka.ms/V1LegacyMode. Audit, Deny, Disabled 1.0.0
Le aree di lavoro di Azure Machine Learning devono usare collegamenti privati Collegamento privato di Azure consente di connettere la rete virtuale ai servizi di Azure senza un indirizzo IP pubblico nell'origine o nella destinazione. La piattaforma del collegamento privato gestisce la connettività tra il consumer e i servizi tramite la rete backbone di Azure. Eseguendo il mapping degli endpoint privati alle aree di lavoro di Azure Machine Learning, i rischi di perdita dei dati vengono ridotti. È possibile trovare altre informazioni sui collegamenti privati all’indirizzo: https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. Audit, Disabled 1.0.0
Le aree di lavoro di Azure Machine Learning devono usare un'identità gestita assegnata dall'utente Accesso manange all'area di lavoro di Azure ML e alle risorse associate, Registro Azure Container, KeyVault, Archiviazione e App Insights usando l'identità gestita assegnata dall'utente. Per impostazione predefinita, l'identità gestita assegnata dal sistema viene usata dall'area di lavoro di Azure ML per accedere alle risorse associate. L'identità gestita assegnata dall'utente consente di creare l'identità come risorsa di Azure e di mantenere il ciclo di vita di tale identità. Per ulteriori informazioni, vedi https://docs.microsoft.com/azure/machine-learning/how-to-use-managed-identities?tabs=python. Audit, Deny, Disabled 1.0.0
Configurare i calcoli di Machine Learning per disabilitare i metodi di autenticazione locale Disabilitare i metodi di autenticazione della posizione in modo che i computer di Machine Learning richiedano identità di Azure Active Directory esclusivamente per l'autenticazione. Per altre informazioni, vedere https://aka.ms/azure-ml-aad-policy. Modifica, disattivato 2.1.0
Configurare l'area di lavoro di Azure Machine Learning per usare zone private DNS È possibile usare zone DNS privato per eseguire l'override della risoluzione DNS per un endpoint privato. Una zona DNS privata collega alla rete virtuale per risolvere le aree di lavoro di Azure Machine Learning. Per altre informazioni, vedere https://docs.microsoft.com/azure/machine-learning/how-to-network-security-overview. DeployIfNotExists, Disabled 1.1.0
Configurare le aree di lavoro di Azure Machine Learning per disabilitare l'accesso alla rete pubblica Disabilitare l'accesso alla rete pubblica per le aree di lavoro di Azure Machine Learning in modo che le aree di lavoro non siano accessibili tramite La rete Internet pubblica. Ciò consente di proteggere le aree di lavoro da rischi di perdita di dati. È possibile controllare l'esposizione delle aree di lavoro creando invece endpoint privati. Per altre informazioni, vedere: https://video2.skills-academy.com/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2& tabs=azure-portal. Modifica, disattivato 1.0.3
Configurare le aree di lavoro di Azure Machine Learning con endpoint privati Gli endpoint privati connettono la rete virtuale ai servizi di Azure senza un indirizzo IP pubblico all'origine o alla destinazione. Eseguendo il mapping di endpoint privati all'area di lavoro di Azure Machine Learning, è possibile ridurre i rischi di perdita dei dati. È possibile trovare altre informazioni sui collegamenti privati all’indirizzo: https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. DeployIfNotExists, Disabled 1.0.0
Configurare le impostazioni di diagnostica per le aree di lavoro di Azure Machine Learning nell'area di lavoro Log Analytics Consente di distribuire le impostazioni di diagnostica per le Aree di lavoro di Azure Machine Learning per trasmettere i log delle risorse a un'Area di lavoro Log Analytics quando viene creata o aggiornata un'Area di lavoro di Azure Machine Learning in cui manca questa impostazione di diagnostica. DeployIfNotExists, Disabled 1.0.1
I log delle risorse nell'area di lavoro di Azure Machine Learning devono essere abilitati I registri delle risorse consentono di ricreare i tracciati delle attività da utilizzare per le indagini quando si verifica un incidente di sicurezza o quando la rete è compromessa. AuditIfNotExists, Disabled 1.0.1

È possibile impostare criteri in ambiti diversi, ad esempio a livello di sottoscrizione o di gruppo di risorse. Per altre informazioni, vedere la documentazione di Criteri di Azure.

Assegnazione di criteri predefiniti

Procedere come segue per visualizzare le definizioni di criteri predefinite correlate ad Azure Machine Learning:

  1. Andare a Criteri di Azure nel portale di Azure.
  2. Selezionare Definizioni.
  3. Per Tiposelezionare Predefinito. Per Categoria selezionare Machine Learning.

Da qui è possibile selezionare le definizioni dei criteri per visualizzarle. Durante la visualizzazione di una definizione, è possibile usare il collegamento Assegna per assegnare i criteri a un ambito specifico e configurare i parametri per i criteri. Per altre informazioni, vedere Creare un'assegnazione di criteri per identificare le risorse non conformi usando il portale di Azure.

È anche possibile assegnare criteri usando Azure PowerShell, l'interfaccia della riga di comando di Azure o i modelli.

Criteri di accesso condizionale

Per controllare chi può accedere all'area di lavoro di Azure Machine Learning, usare l'accesso condizionale Microsoft Entra. Per usare l'accesso condizionale per le aree di lavoro di Azure Machine Learning, assegnare i criteri di accesso condizionale all'app denominata Azure Machine Learning. L'ID app è 0736f41a-0425-bdb5-1563eff02385.

Abilitare la modalità self-service usando le zone di destinazione

Le zone di destinazione sono un criterio architetturale che tiene conto di scalabilità, governance, sicurezza e produttività per la configurazione degli ambienti di Azure. Una zona di destinazione dei dati è un ambiente configurato dall'amministratore che un team responsabile delle applicazioni usa per ospitare un carico di lavoro di dati e analisi.

Lo scopo della zona di destinazione è garantire che, quando un team inizia a usare l'ambiente Azure, tutto il lavoro di configurazione dell'infrastruttura sia stato completato. Ad esempio, i controlli di sicurezza vengono configurati in conformità agli standard dell'organizzazione e la connettività di rete è configurata.

Usando il criterio di zone di destinazione, i team di apprendimento automatico possono distribuire e gestire le proprie risorse in modalità self-service. Usando Criteri di Azure come amministratore, è possibile controllare e gestire le risorse di Azure per la conformità.

Azure Machine Learning si integra con le zone di destinazione dei dati nello scenario di analisi e gestione dei dati di Cloud Adoption Framework. Questa implementazione di riferimento fornisce un ambiente ottimizzato per eseguire la migrazione dei carichi di lavoro di apprendimento automatico ad Azure Machine Learning e include criteri preconfigurati.

Configurare i criteri predefiniti

L'istanza di ambiente calcolo deve avere l'arresto per inattività abilitato

Questo criterio controlla se un'istanza di ambiente di calcolo di Azure Machine Learning deve avere l'arresto per inattiva abilitato. L'arresto per inattività inattiva arresta automaticamente l'istanza di ambiente di calcolo quando è inattiva per un periodo di tempo specificato. Questo criterio è utile per risparmiare sui costi e per garantire che le risorse non vengano usate inutilmente.

Per configurare questo criterio, impostare il parametro dell'effetto su Audit, Deny o Disabled. Se impostato su Audit, è possibile creare un'istanza di ambiente di calcolo senza l'arresto per inattività abilitato e nel log attività viene creato un evento di avviso.

Le istanze di ambiente di calcolo devono essere ricreate per ottenere gli aggiornamenti software

Controlla se le istanze di ambiente di calcolo di Azure Machine Learning devono essere controllate per verificare che eseguano gli aggiornamenti software più recenti disponibili. Questo criterio è utile per garantire che le istanze di ambiente calcolo eseguano gli aggiornamenti software più recenti per mantenere la sicurezza e le prestazioni. Per altre informazioni, vedere Gestione delle vulnerabilità per Azure Machine Learning.

Per configurare questo criterio, impostare il parametro dell'effetto su Audit o Disabled. Se impostato su Audit, viene creato un evento di avviso nel log attività quando un ambiente di calcolo non esegue gli aggiornamenti software più recenti.

Il cluster di elaborazione e l'istanza di ambiente di calcolo devono trovarsi dietro una rete virtuale

Controlla la verifica delle risorse del cluster di elaborazione e dell'istanza di ambiente di calcolo dietro una rete virtuale.

Per configurare questo criterio, impostare il parametro dell'effetto su Audit o Disabled. Se impostato su Audit, è possibile creare un ambiente di calcolo non configurato dietro una rete virtuale e nel log attività viene creato un evento di avviso.

Gli ambienti di calcolo devono avere i metodi di autenticazione locale disabilitati.

Controlla se un cluster di elaborazione o un'istanza di ambiente di calcolo di Azure Machine Learning deve disabilitare l'autenticazione locale (SSH).

Per configurare questo criterio, impostare il parametro dell'effetto su Audit, Deny o Disabled. Se impostato su Audit, è possibile creare un ambiente di calcolo con SSH abilitato e nel log attività viene creato un evento di avviso.

Se il criterio è impostato su Deny, non è possibile creare un ambiente calcolo, a meno che SSH non sia disabilitato. Il tentativo di creare un ambiente di calcolo con SSH abilitato genera un errore. L'errore viene registrato anche nel log attività. L'identificatore dei criteri viene restituito come parte di questo errore.

Le aree di lavoro devono essere crittografate con una chiave gestita dal cliente

Controlla se un'area di lavoro deve essere crittografata con una chiave gestita dal cliente o con una chiave gestita da Microsoft per crittografare metriche e metadati. Per altre informazioni sull'uso della chiave gestita dal cliente, vedere la sezione Azure Cosmos DB dell'articolo relativo alla crittografia dei dati.

Per configurare questo criterio, impostare il parametro dell'effetto su Audit o Deny. Se impostato su Audit, è possibile creare un'area di lavoro senza una chiave gestita dal cliente e nel log attività viene creato un evento di avviso.

Se il criterio è impostato su Deny, non è possibile creare un'area di lavoro a meno che non specifichi una chiave gestita dal cliente. Il tentativo di creare un'area di lavoro senza una chiave gestita dal cliente genera un errore simile a Resource 'clustername' was disallowed by policy e crea un errore nel log attività. Anche l'identificatore dei criteri viene restituito come parte di questo errore.

Configurare le aree di lavoro per disabilitare l'accesso da rete pubblica

Controlla se un'area di lavoro deve disabilitare l'accesso di rete dalla rete Internet pubblica.

Per configurare questo criterio, impostare il parametro dell'effetto su Audit, Deny o Disabled. Se impostato su Audit, è possibile creare un'area di lavoro con accesso pubblico e nel log attività viene creato un evento di avviso.

Se il criterio è impostato su Deny, non è possibile creare un'area di lavoro che consenta l'accesso alla rete da Internet pubblico.

Le aree di lavoro devono abilitare V1LegacyMode per supportare la compatibilità con le versioni precedenti dell'isolamento rete

Controlla se un'area di lavoro deve abilitare V1LegacyMode per supportare la compatibilità con le versioni precedenti dell'isolamento rete. Questo criterio è utile se si vogliono mantenere i dati del piano di controllo di Azure Machine Learning all'interno delle reti private. Per altre informazioni, vedere Modifica dell'isolamento rete con la nuova piattaforma API.

Per configurare questo criterio, impostare il parametro dell'effetto su Audit, Deny o Disabled. Se impostato su Audit, è possibile creare un'area di lavoro senza abilitare V1LegacyMode e nel log attività viene creato un evento di avviso.

Se il criterio è impostato su Deny, non è possibile creare un'area di lavoro senza abilitare V1LegacyMode.

Controlla se un'area di lavoro deve usare il collegamento privato di Azure per comunicare con la rete virtuale di Azure. Per altre informazioni sull'uso del collegamento privato, vedere Configurare un endpoint privato per l'area di lavoro di Azure Machine Learning.

Per configurare questo criterio, impostare il parametro dell'effetto su Audit o Deny. Se impostato su Audit, è possibile creare un'area di lavoro senza usare un collegamento privato e nel log attività viene creato un evento di avviso.

Se il criterio è impostato su Deny, non è possibile creare un'area di lavoro a meno che non si usi un collegamento privato. Il tentativo di creare un'area di lavoro senza un collegamento privato genera un errore. L'errore viene registrato anche nel log attività. L'identificatore dei criteri viene restituito come parte di questo errore.

Le aree di lavoro devono usare l'identità gestita assegnata dall'utente

Controlla se un'area di lavoro viene creata usando un'identità gestita assegnata dal sistema (impostazione predefinita) o un'identità gestita assegnata dall'utente. L'identità gestita per l'area di lavoro viene usata per accedere alle risorse associate, ad esempio Archiviazione di Azure, Registro Azure Container, Azure Key Vault e Azure Application Insights. Per altre informazioni, vedere Configurare l'autenticazione tra Azure Machine Learning e altri servizi.

Per configurare questo criterio, impostare il parametro dell'effetto su Audit, Deny o Disabled. Se impostato su Audit, è possibile creare un'area di lavoro senza specificare un'identità gestita assegnata dall'utente. Viene usata un'identità assegnata dal sistema e viene creato un evento di avviso nel log attività.

Se il criterio è impostato su Deny, non è possibile creare un'area di lavoro a meno che non si fornisca un'identità assegnata dall'utente durante il processo di creazione. Il tentativo di creare un'area di lavoro senza fornire un'identità assegnata dall'utente genera un errore. L'errore viene registrato anche nel log attività. L'identificatore dei criteri viene restituito come parte di questo errore.

Configurare gli ambienti di calcolo per modificare/disabilitare l'autenticazione locale

Questo criterio modifica qualsiasi richiesta di creazione del cluster di elaborazione o dell'istanza di ambiente di calcolo di Azure Machine Learning per disabilitare l'autenticazione locale (SSH).

Per configurare questo criterio, impostare il parametro dell'effetto su Modifica o Disabilitato. Se si specifica Modifica, qualsiasi creazione di un cluster di elaborazione o di un'istanza all'interno dell'ambito in cui si applica il criterio ha automaticamente l'autenticazione locale disabilitata.

Configurare l'area di lavoro per l'uso di zone DNS privato

Questo criterio configura un'area di lavoro per l'uso di una zona DNS privato, sostituendo la risoluzione DNS predefinita per un endpoint privato.

Per configurare questo criterio, impostare il parametro dell'effetto su DeployIfNotExists. Impostare privateDnsZoneId sull'ID di Azure Resource Manager della zona DNS privata da usare.

Configurare le aree di lavoro per disabilitare l'accesso da rete pubblica

Configura un'area di lavoro per disabilitare l'accesso di rete da Internet pubblico. La disabilitazione dell'accesso alla rete pubblica consente di proteggere le aree di lavoro dai rischi di perdita di dati. È invece possibile accedere all'area di lavoro creando endpoint privati. Per altre informazioni, vedere Configurare un endpoint privato per l'area di lavoro di Azure Machine Learning.

Per configurare questo criterio, impostare il parametro dell'effetto su Modifica o Disabilitato. Se impostato su Modifica, qualsiasi tentativo di creazione di un'area di lavoro all'interno dell'ambito in cui si applica il criterio causerà automaticamente la disabilitazione dell'accesso alla rete pubblica.

Configurare le aree di lavoro con endpoint privati

Configura un'area di lavoro per creare un endpoint privato all'interno della subnet specificata di una rete virtuale di Azure.

Per configurare questo criterio, impostare il parametro dell'effetto su DeployIfNotExists. Impostare privateEndpointSubnetID sull'ID di Azure Resource Manager della subnet.

Configurare le aree di lavoro di diagnostica per l'invio di log ad aree di lavoro Log Analytics

Configura le impostazioni di diagnostica per l'area di lavoro di Azure Machine Learning in un'area di lavoro Log Analytics.

Per configurare questo criterio, impostare il parametro dell'effetto su DeployIfNotExists o Disabled. Se impostato su DeployIfNotExists, il criterio crea un'impostazione di diagnostica per inviare i log a un'area di lavoro Log Analytics, se non esiste già.

I log delle risorse devono essere abilitati nelle aree di lavoro

Controlla se i log delle risorse sono abilitati per un'area di lavoro di Azure Machine Learning. I log delle risorse forniscono informazioni dettagliate sulle operazioni eseguite sulle risorse nell'area di lavoro.

Per configurare questo criterio, impostare il parametro dell'effetto su AuditIfNotExists o Disabled. Se impostato su AuditIfNotExists, il criterio controlla se i log delle risorse non sono abilitati per l'area di lavoro.

Creare definizioni personalizzate

Quando è necessario creare criteri personalizzati per l'organizzazione, è possibile usare la struttura di definizione di Criteri di Azure per creare definizioni personalizzate. È possibile usare l'estensione Visual Studio Code di Criteri di Azure per creare e testare i criteri.

Per individuare gli alias dei criteri che è possibile usare nella definizione, usare il comando seguente dell'interfaccia della riga di comando di Azure per elencare gli alias per Azure Machine Learning:

az provider show --namespace Microsoft.MachineLearningServices --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"

Per individuare i valori consentiti per un alias specifico, consultare il riferimento per API REST di Azure Machine Learning.

Per un'esercitazione (non specifica di Azure Machine Learning) su come creare criteri personalizzati, vedere Creare una definizione di criterio personalizzata.

Esempio: bloccare processi di calcolo Spark serverless

{
    "properties": {
        "displayName": "Deny serverless Spark compute jobs",
        "description": "Deny serverless Spark compute jobs",
        "mode": "All",
        "policyRule": {
            "if": {
                "allOf": [
                    {
                        "field": "Microsoft.MachineLearningServices/workspaces/jobs/jobType",
                        "in": [
                            "Spark"
                        ]
                    }
                ]
            },
            "then": {
                "effect": "Deny"
            }
        },
        "parameters": {}
    }
}

Esempio: configurare nessun IP pubblico per i calcoli gestiti

{
    "properties": {
        "displayName": "Deny compute instance and compute cluster creation with public IP",
        "description": "Deny compute instance and compute cluster creation with public IP",
        "mode": "all",
        "parameters": {
            "effectType": {
                "type": "string",
                "defaultValue": "Deny",
                "allowedValues": [
                    "Deny",
                    "Disabled"
                ],
                "metadata": {
                    "displayName": "Effect",
                    "description": "Enable or disable the execution of the policy"
                }
            }
        },
        "policyRule": {
            "if": {
                "allOf": [
                  {
                    "field": "type",
                    "equals": "Microsoft.MachineLearningServices/workspaces/computes"
                  },
                  {
                    "allOf": [
                      {
                        "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
                        "notEquals": "AKS"
                      },
                      {
                        "field": "Microsoft.MachineLearningServices/workspaces/computes/enableNodePublicIP",
                        "equals": true
                      }
                    ]
                  }
                ]
              },
            "then": {
                "effect": "[parameters('effectType')]"
            }
        }
    }
}