Procedure consigliate per la sicurezza e la conformità di Batch

Questo articolo fornisce indicazioni e procedure consigliate per migliorare la sicurezza quando si usa Azure Batch.

Per impostazione predefinita, gli account Azure Batch hanno un endpoint pubblico e sono accessibili pubblicamente. Quando viene creato un pool di Azure Batch, viene effettuato il provisioning del pool in una subnet specificata di una rete virtuale di Azure. Le macchine virtuali nel pool di Batch sono accessibili, per impostazione predefinita, tramite indirizzi IP pubblici creati da Batch. I nodi di calcolo in un pool possono comunicare tra loro quando necessario, ad esempio per eseguire attività a istanze multiple, ma i nodi in un pool non possono comunicare con macchine virtuali all'esterno del pool.

Diagramma che mostra un tipico ambiente Batch.

Sono disponibili molte funzionalità che consentono di creare una distribuzione di Azure Batch più sicura. È possibile limitare l'accesso ai nodi e ridurre l'individuabilità dei nodi da Internet effettuando il provisioning del pool senza indirizzi IP pubblici. I nodi di calcolo possono comunicare in modo sicuro con altre macchine virtuali o con una rete locale effettuando il provisioning del pool in una subnet di una rete virtuale di Azure. È anche possibile abilitare l'accesso privato dalle reti virtuali da un servizio basato su collegamento privato di Azure.

Diagramma che mostra un ambiente Batch più sicuro.

Configurazione del pool

I pool possono essere configurati in una delle due modalità di comunicazione dei nodi, classica o semplificata. Nel modello di comunicazione dei nodi classico, il servizio Batch avvia la comunicazione con i nodi di calcolo e anche i nodi di calcolo richiedono la comunicazione con Archiviazione di Azure. Nel modello di comunicazione semplificata dei nodi, i nodi di calcolo avviano la comunicazione con il servizio Batch. A causa dell'ambito ridotto delle connessioni in ingresso/in uscita necessarie e non è necessario Archiviazione di Azure l'accesso in uscita per l'operazione di base, è consigliabile usare il modello di comunicazione semplificata dei nodi. Il modello di comunicazione dei nodi classico verrà ritirato il 31 marzo 2026.

I pool devono anche essere configurati con impostazioni di sicurezza avanzate, tra cui Avvio attendibile (richiede immagini vm Gen2 e dimensioni di vm compatibili), abilitazione dell'avvio protetto, vTPM e crittografia nell'host (richiede una dimensione di macchina virtuale compatibile).

Autenticazione dell'account Batch

L'accesso all'account Batch supporta due metodi di autenticazione: Chiave condivisa e ID Microsoft Entra.

È consigliabile usare Microsoft Entra ID per l'autenticazione dell'account Batch, Alcune funzionalità di Batch richiedono questo metodo di autenticazione, incluse molte delle funzionalità correlate alla sicurezza descritte qui. Il meccanismo di autenticazione dell'API del servizio per un account Batch può essere limitato solo all'ID Microsoft Entra usando la proprietà allowedAuthenticationModes . Quando questa proprietà è impostata, le chiamate API che usano l'autenticazione con chiave condivisa vengono rifiutate.

Modalità di allocazione pool di account Batch

Quando si crea un account Batch, è possibile scegliere tra due modalità di allocazione del pool:

  • Servizio Batch: opzione predefinita, in cui le risorse del set di scalabilità di macchine virtuali sottostanti usate per allocare e gestire i nodi del pool vengono create nelle sottoscrizioni di proprietà di Batch e non sono direttamente visibili nella portale di Azure. Sono visibili solo i pool e i nodi di Batch.
  • Sottoscrizione utente: le risorse del set di scalabilità di macchine virtuali sottostanti vengono create nella stessa sottoscrizione dell'account Batch. Queste risorse sono quindi visibili nella sottoscrizione, oltre alle risorse batch corrispondenti.

Con la modalità di sottoscrizione utente, le macchine virtuali Batch e altre risorse vengono create direttamente nella sottoscrizione quando viene creato un pool. La modalità sottoscrizione utente è necessaria se si vogliono creare pool di Batch usando istanze di macchine virtuali riservate di Azure, usare Criteri di Azure nelle risorse del set di scalabilità di macchine virtuali e/o gestire la quota di core nella sottoscrizione (condivisa tra tutti gli account Batch nella sottoscrizione). Per creare un account Batch in modalità Sottoscrizione utente, è anche necessario registrare la sottoscrizione in Azure Batch e associare l'account ad Azure Key Vault.

Limitare l'accesso agli endpoint di rete

Endpoint di rete batch

Per impostazione predefinita, per comunicare con gli account Batch, i pool di Batch e i nodi del pool, vengono usati indirizzi IP pubblici.

API dell'account Batch

Quando viene creato un account Batch, viene creato un endpoint pubblico usato per richiamare la maggior parte delle operazioni per l'account usando un'API REST. L'endpoint dell'account ha un URL di base usando il formato https://{account-name}.{region-id}.batch.azure.com. L'accesso all'account Batch è protetto, con la comunicazione con l'endpoint dell'account crittografato tramite HTTPS e ogni richiesta autenticata usando la chiave condivisa o l'autenticazione di Microsoft Entra.

Azure Resource Manager

Oltre alle operazioni specifiche di un account Batch, le operazioni di gestione si applicano a un account Batch singolo e a più account Batch. Queste operazioni di gestione sono accessibili tramite Azure Resource Manager.

Le operazioni di gestione batch tramite Azure Resource Manager vengono crittografate tramite HTTPS e ogni richiesta viene autenticata usando l'autenticazione Microsoft Entra.

Nodi di calcolo del pool di Batch

Il servizio Batch comunica con un agente del nodo Batch eseguito in ogni nodo del pool. Ad esempio, il servizio indica all'agente del nodo di eseguire un'attività, arrestarla o ottenere i file necessari. La comunicazione con l'agente del nodo è abilitata da uno o più servizi di bilanciamento del carico, il cui numero dipende dal numero di nodi in un pool. Il servizio di bilanciamento del carico inoltra la comunicazione al nodo desiderato, con ogni nodo indirizzato da un numero di porta univoco. Per impostazione predefinita, i servizi di bilanciamento del carico hanno indirizzi IP pubblici associati. È anche possibile accedere in remoto ai nodi del pool tramite RDP o SSH (questo accesso è abilitato per impostazione predefinita, con la comunicazione tramite servizi di bilanciamento del carico).

Sistema operativo del nodo di calcolo batch

Batch supporta sia sistemi operativi Linux che Windows. Batch supporta Linux con un agente del nodo allineato per un subset di distribuzioni del sistema operativo Linux. È consigliabile mantenere aggiornato il sistema operativo con le patch più recenti fornite dall'editore del sistema operativo.

È consigliabile abilitare l'aggiornamento automatico del sistema operativo per i pool di Batch, che consente all'infrastruttura di Azure sottostante di coordinare gli aggiornamenti nel pool. Questa opzione può essere configurata in modo che non sia irreversibile per l'esecuzione dell'attività. L'aggiornamento automatico del sistema operativo non supporta tutti i sistemi operativi supportati da Batch. Per altre informazioni, vedere matrice di supporto dell'aggiornamento automatico del sistema operativo set di scalabilità di macchine virtuali. Per i sistemi operativi Windows, assicurarsi di non abilitare la proprietà virtualMachineConfiguration.windowsConfiguration.enableAutomaticUpdates quando si usa l'aggiornamento automatico del sistema operativo nel pool di Batch.

Il supporto batch per immagini e agenti del nodo esce gradualmente nel tempo, in genere allineato alle sequenze temporali di supporto dell'editore. È consigliabile evitare di usare immagini con date o immagini EOL (End-of-Life) in sospeso che superano la data EOL. È responsabilità dell'utente aggiornare periodicamente la visualizzazione delle date EOL pertinenti ai pool ed eseguire la migrazione dei carichi di lavoro prima che si verifichi la data EOL. Se si usa un'immagine personalizzata con un agente del nodo specificato, assicurarsi di seguire le date di fine del ciclo di vita di Batch per l'immagine con cui l'immagine personalizzata è derivata o allineata. Un'immagine senza una data specificata batchSupportEndOfLife indica che tale data non è stata ancora determinata dal servizio Batch. L'assenza di una data non indica che la rispettiva immagine sarà supportata per un periodo illimitato. Una data EOL può essere aggiunta o aggiornata in futuro in qualsiasi momento. Le date EOL possono essere individuate tramite l'API, PowerShell o l'interfaccia della ListSupportedImages riga di comando di Azure.

Windows OS Transport Layer Security (TLS)

L'agente del nodo Batch non modifica le impostazioni predefinite a livello di sistema operativo per le versioni SSL/TLS o l'ordinamento della suite di crittografia. In Windows, le versioni SSL/TLS e l'ordine della suite di crittografia sono controllati a livello di sistema operativo e pertanto l'agente del nodo Batch adotta le impostazioni impostate dall'immagine usata da ogni nodo di calcolo. Anche se l'agente del nodo Batch tenta di usare le impostazioni più sicure disponibili quando possibile, può comunque essere limitato dalle impostazioni a livello di sistema operativo. È consigliabile esaminare le impostazioni predefinite a livello di sistema operativo e impostarle in modo appropriato per la modalità più sicura utilizzabile per i requisiti del flusso di lavoro e dell'organizzazione. Per altre informazioni, vedere Gestire TLS per l'imposizione dell'ordine della suite di crittografia e le impostazioni del Registro di sistema TLS per il controllo della versione SSL/TLS per SSP Schannel. Si noti che alcune modifiche alle impostazioni richiedono un riavvio per rendere effettivo il riavvio. È consigliabile usare un sistema operativo più recente con impostazioni predefinite di sicurezza moderne o un'immagine personalizzata con impostazioni modificate anziché l'applicazione di tali impostazioni con un'attività di avvio di Batch.

Limitazione dell'accesso agli endpoint batch

Sono disponibili diverse funzionalità per limitare l'accesso ai vari endpoint batch, soprattutto quando la soluzione usa una rete virtuale.

Usare endpoint privati

collegamento privato di Azure consente l'accesso ai servizi PaaS di Azure e ai servizi di proprietà del cliente/partner ospitati in Azure tramite un endpoint privato nella rete virtuale. È possibile usare collegamento privato per limitare l'accesso a un account Batch dall'interno della rete virtuale o da qualsiasi rete virtuale con peering. Le risorse mappate al collegamento privato sono accessibili anche in locale tramite peering privato attraverso la VPN o Azure ExpressRoute.

Per usare gli endpoint privati, è necessario configurare un account Batch in modo appropriato al momento della creazione; la configurazione dell'accesso alla rete pubblica deve essere disabilitata. Dopo la creazione, gli endpoint privati possono essere creati e associati all'account Batch. Per altre informazioni, vedere Usare endpoint privati con account Azure Batch.

Creare pool in reti virtuali

I nodi di calcolo in un pool di Batch possono comunicare tra loro, ad esempio per eseguire attività a istanze multiple, senza richiedere una rete virtuale. Tuttavia, per impostazione predefinita, i nodi in un pool non possono comunicare con macchine virtuali esterne al pool in una rete virtuale e hanno indirizzi IP privati, ad esempio server licenze o file server.

Per consentire ai nodi di calcolo di comunicare in modo sicuro con altre macchine virtuali o con una rete locale, è possibile configurare un pool in modo che si trovi in una subnet di una rete virtuale di Azure.

Quando i pool hanno endpoint IP pubblici, la subnet deve consentire la comunicazione in ingresso dal servizio Batch per poter pianificare le attività ed eseguire altre operazioni sui nodi di calcolo e la comunicazione in uscita per comunicare con Archiviazione di Azure o altre risorse in base alle esigenze del carico di lavoro. Per i pool nella configurazione della macchina virtuale, Batch aggiunge gruppi di sicurezza di rete (NSG) a livello di interfaccia di rete collegato ai nodi di calcolo. Questi gruppi di sicurezza di rete hanno regole per abilitare:

  • Traffico TCP in ingresso da indirizzi IP del servizio Batch
  • Traffico TCP in ingresso per l'accesso remoto
  • Traffico in uscita su qualsiasi porta verso la rete virtuale (può essere modificato in base alle regole del gruppo di sicurezza di rete a livello di subnet)
  • Traffico in uscita su qualsiasi porta verso Internet (può essere modificato in base alle regole del gruppo di sicurezza di rete a livello di subnet)

Non è necessario specificare gruppi di sicurezza di rete a livello di subnet della rete virtuale, perché Batch configura i propri gruppi di sicurezza di rete. Se si dispone di un gruppo di sicurezza di rete associato alla subnet in cui vengono distribuiti i nodi di calcolo batch o se si desidera applicare regole del gruppo di sicurezza di rete personalizzate per eseguire l'override delle impostazioni predefinite applicate, è necessario configurare questo gruppo di sicurezza di rete con almeno le regole di sicurezza in ingresso e in uscita per consentire la comunicazione del servizio Batch ai nodi del pool e alla comunicazione dei nodi del pool a Archiviazione di Azure.

Per altre informazioni, vedere Creare un pool di Azure Batch in una rete virtuale.

Creare pool con indirizzi IP pubblici statici

Per impostazione predefinita, gli indirizzi IP pubblici associati ai pool sono dinamici; vengono creati quando viene creato un pool e gli indirizzi IP possono essere aggiunti o rimossi quando viene ridimensionato un pool. Quando le applicazioni di attività in esecuzione nei nodi del pool devono accedere a servizi esterni, potrebbe essere necessario limitare l'accesso a tali servizi a indirizzi IP specifici. In questo caso, la presenza di indirizzi IP dinamici non sarà gestibile.

È possibile creare risorse di indirizzi IP pubblici statici nella stessa sottoscrizione dell'account Batch prima della creazione del pool. È quindi possibile specificare questi indirizzi durante la creazione del pool.

Per altre informazioni, vedere Creare un pool di Azure Batch con indirizzi IP pubblici specificati.

Creare pool senza indirizzi IP pubblici

Per impostazione predefinita, a tutti i nodi di calcolo in un pool di configurazione di macchine virtuali di Azure Batch vengono assegnati uno o più indirizzi IP pubblici. Questi endpoint vengono usati dal servizio Batch per pianificare le attività e per la comunicazione con i nodi di calcolo, incluso l'accesso in uscita a Internet.

Per limitare l'accesso a questi nodi e ridurne l'individuabilità da Internet, è possibile effettuare il provisioning del pool senza indirizzi IP pubblici.

Per altre informazioni, vedere Creare un pool senza indirizzi IP pubblici.

Limitare l'accesso remoto ai nodi del pool

Per impostazione predefinita, Batch consente a un utente del nodo con connettività di rete di connettersi esternamente a un nodo di calcolo in un pool di Batch tramite RDP o SSH.

Per limitare l'accesso remoto ai nodi, usare uno dei metodi seguenti:

  • Configurare PoolEndpointConfiguration per negare l'accesso. Il gruppo di sicurezza di rete appropriato verrà associato al pool.
  • Creare il pool senza indirizzi IP pubblici. Per impostazione predefinita, questi pool non possono essere accessibili all'esterno della rete virtuale.
  • Associare un gruppo di sicurezza di rete alla rete virtuale per negare l'accesso alle porte RDP o SSH.
  • Non creare utenti nel nodo. Senza alcun utente nodo, l'accesso remoto non sarà possibile.

Crittografia dei dati

Crittografare i dati in movimento

Tutte le comunicazioni con l'endpoint dell'account Batch (o tramite Azure Resource Manager) devono usare HTTPS. È necessario usare https:// negli URL dell'account Batch specificati nelle API per la connessione al servizio Batch.

I client che comunicano con il servizio Batch devono essere configurati per l'uso di Transport Layer Security (TLS) 1.2.

Crittografare i dati batch inattivi

Alcune delle informazioni specificate nelle API batch, ad esempio i certificati dell'account, i metadati di processo e attività e le righe di comando delle attività, vengono crittografate automaticamente quando vengono archiviate dal servizio Batch. Per impostazione predefinita, questi dati vengono crittografati usando chiavi gestite dalla piattaforma Azure Batch univoci per ogni account Batch.

È anche possibile crittografare questi dati usando chiavi gestite dal cliente. Azure Key Vault viene usato per generare e archiviare la chiave, con l'identificatore di chiave registrato con l'account Batch.

Crittografare i dischi dei nodi di calcolo

Per impostazione predefinita, i nodi di calcolo batch hanno due dischi: un disco del sistema operativo e l'unità SSD temporanea locale. I file e le directory gestiti da Batch si trovano nell'unità SSD temporanea, ovvero il percorso predefinito per i file, ad esempio i file di output delle attività. Le applicazioni di attività batch possono usare il percorso predefinito nell'unità SSD o nel disco del sistema operativo.

Per una maggiore sicurezza, crittografare questi dischi usando una delle funzionalità di crittografia dischi di Azure seguenti:

Accedere in modo sicuro ai servizi dai nodi di calcolo

Usare le identità gestite del pool con le autorizzazioni di accesso appropriate configurate per l'identità gestita assegnata dall'utente per accedere ai servizi di Azure che supportano l'identità gestita, incluso Azure Key Vault. Se è necessario effettuare il provisioning dei certificati nei nodi batch, usare l'estensione di vm di Azure Key Vault disponibile con l'identità gestita del pool per installare e gestire i certificati nel pool di Batch. Per altre informazioni sulla distribuzione di certificati da Azure Key Vault con identità gestita nei pool di Batch, vedere Abilitare la rotazione automatica dei certificati in un pool di Batch.

Governance e conformità

Conformità

Per aiutare i clienti a soddisfare i propri obblighi di conformità in settori e mercati regolamentati in tutto il mondo, Azure gestisce un ampio portfolio di offerte di conformità.

Queste offerte si basano su vari tipi di garanzie, tra cui certificazioni formali, attestazioni, convalide, autorizzazioni e valutazioni prodotte da società di controllo indipendenti di terze parti, nonché modifiche contrattuali, autovalutazioni e documenti di materiale sussidiario dei clienti prodotto da Microsoft. Esaminare la panoramica completa delle offerte di conformità per determinare quali possono essere rilevanti per le soluzioni Batch.

Criteri di Azure

Criteri di Azure è un servizio che consente di applicare gli standard organizzativi e di valutare la conformità su vasta scala. I casi d'uso comuni per Criteri di Azure includono l'implementazione della governance per la coerenza delle risorse, la conformità alle normative, la sicurezza, i costi e la gestione.

A seconda della modalità di allocazione del pool e delle risorse a cui applicare un criterio, usare Criteri di Azure con Batch in uno dei modi seguenti:

  • Direttamente, usando la risorsa Microsoft.Batch/batchAccounts. È possibile usare un subset delle proprietà per un account Batch. Ad esempio, i criteri possono includere aree di account Batch valide, modalità di allocazione pool consentite e se una rete pubblica è abilitata per gli account.
  • Indirettamente, usando la risorsa Microsoft.Compute/virtualMachineScaleSets. Gli account Batch con la modalità di allocazione del pool di sottoscrizioni utente possono avere criteri impostati sulle risorse del set di scalabilità di macchine virtuali create nella sottoscrizione dell'account Batch. Ad esempio, le dimensioni consentite delle macchine virtuali e assicurarsi che determinate estensioni vengano eseguite in ogni nodo del pool.

Passaggi successivi