Applicazione di patch al sistema operativo e al runtime del servizio app di Azure

Questo articolo illustra come il servizio app di Azure aggiorna il sistema operativo e il software di runtime, come ottenere informazioni sulla versione e come è possibile eseguire manualmente l'aggiornamento alle nuove versioni.

Il servizio app è un servizio paaS (Platform-as-a-Service), quindi Azure gestisce automaticamente il sistema operativo e lo stack di applicazioni. Si gestiscono solo l'applicazione e i relativi dati. Se è necessario un maggiore controllo sul sistema operativo e sullo stack di applicazioni, è possibile usare macchine virtuali di Azure.

È comunque utile che l'utente del servizio app conosca informazioni come:

Questo articolo fornisce trasparenza sul processo e consente di rimanere aggiornati sugli annunci relativi alla sicurezza e sugli aggiornamenti di runtime. Per motivi di sicurezza, alcune informazioni di sicurezza specifiche non sono pubblicate.

Come e quando vengono applicati gli aggiornamenti del sistema operativo?

Azure gestisce l'applicazione di patch del sistema operativo sia per i server fisici che per le macchine virtuali guest che eseguono le risorse del servizio app. Entrambi i livelli della macchina vengono aggiornati mensilmente, in linea con il programma mensile Patch Tuesday.

Questi aggiornamenti vengono applicati automaticamente, garantendo al tempo stesso il contratto di servizio a disponibilità elevata per i servizi di Azure. L'applicazione delle patch del sistema operativo di Servizio app di Azure segue Safe Deployment Practices (SDP) e un approccio incentrato sulla disponibilità. Le patch più recenti vengono applicate il prima possibile, ma l'applicazione di patch del sistema operativo potrebbe essere rallentata o sospesa a volte per evitare effetti e interruzioni dell'app.

Per informazioni dettagliate su come vengono applicati gli aggiornamenti, vedere Demystifying the magic behind App Service OS updates (I segreti sugli aggiornamenti del sistema operativo del servizio app svelati).

Come vengono gestite in Azure le vulnerabilità significative?

Quando problemi ad alta priorità come vulnerabilità zero-day richiedono patch immediate, Azure gestisce gli aggiornamenti caso per caso. Per rimanere aggiornati con gli annunci critici sulla sicurezza di Azure, vedere il blog sulla sicurezza di Azure.

Quando vengono aggiornati, aggiunti o deprecati i runtime di linguaggio supportati?

Le nuove versioni principali, secondarie o patch stabili dei runtime del linguaggio supportati vengono aggiunte periodicamente alle istanze del servizio app. Alcuni aggiornamenti sovrascrivono l'installazione esistente, mentre altri vengono installati side-by-side con le versioni esistenti.

Un'installazione di sovrascrittura indica che l'app viene eseguita automaticamente nel runtime aggiornato. Un'installazione side-by-side significa che è necessario eseguire manualmente la migrazione dell'app per sfruttare i vantaggi di una nuova versione di runtime. Per altre informazioni, vedere le sezioni seguenti.

Nota

Queste informazioni si applicano ai runtime del linguaggio integrati in un'app di App Service. Un runtime personalizzato caricato nel servizio app, ad esempio, rimane invariato a meno che non lo si aggiorni manualmente.

Nuovi aggiornamenti delle patch

Gli aggiornamenti delle patch per .NET, PHP, Java SDK o Tomcat vengono applicati automaticamente sovrascrivendo l'installazione esistente con la versione più recente. Gli aggiornamenti patch di Node.js vengono installati affiancati alle versioni esistenti, come avviene per le versioni principali e secondarie. Le nuove versioni delle patch Python possono essere installate manualmente tramite estensioni del sito, affiancate alle installazioni predefinite di Python.

Nuove versioni principali e secondarie

Le nuove versioni principali o secondarie vengono installate side-by-side con le versioni esistenti. È possibile aggiornare manualmente l'app alla nuova versione.

Se è stata configurata la versione di runtime in un file di configurazione, ad esempio web.config o package.json, è necessario eseguire l'aggiornamento usando lo stesso metodo. Se è stata usata un'impostazione del servizio app per configurare la versione di runtime, è possibile modificarla nel portale di Azure o eseguendo un comando dell'interfaccia della riga di comando di Azure in Azure Cloud Shell.

Gli esempi seguenti illustrano i comandi di configurazione dell'interfaccia della riga di comando di Azure per vari runtime del linguaggio supportati. Sostituisci <appname> e <groupname> con i nomi della tua app e del gruppo di risorse corrispondente.

az webapp config set --net-framework-version v4.7 --resource-group <groupname> --name <appname>
az webapp config set --php-version 7.0 --resource-group <groupname> --name <appname>
az webapp config appsettings set --settings WEBSITE_NODE_DEFAULT_VERSION=~24 --resource-group <groupname> --name <appname>
az webapp config set --python-version 3.14 --resource-group <groupname> --name <appname>
az webapp config set --java-version 1.8 --java-container Tomcat --java-container-version 9.0 --resource-group <groupname> --name <appname>

Nota

Nell'esempio Node.js viene usata la sintassi tilde consigliata per specificare la versione più recente disponibile del runtime Node.js 24 nel servizio app di Windows.

Controlla il timing degli aggiornamenti della patch in runtime con il canale di rilascio della piattaforma

Nota

La funzione Platform Release Channel è disponibile solo per Linux App Service .

Di default, il sistema applica automaticamente gli aggiornamenti delle patch in tempo reale quando diventano disponibili. Per Linux App Service, l'impostazione Platform Release Channel ti permette di controllare la frequenza con cui gli aggiornamenti delle patch runtime vengono inviati alla tua app. Questo controllo è utile quando si desidera maggiore prevedibilità e tempo di validazione prima che venga adottata una nuova patch runtime in produzione.

Canali disponibili

Scegli tra tre canali:

Channel Description Consigliati per
Latest Consegna aggiornamenti di patch in tempo reale non appena sono disponibili. App in cui è necessario l'accesso immediato alle ultime correzioni di sicurezza. Non è generalmente consigliato per i carichi di lavoro in produzione.
Standard Gli aggiornamenti arrivano con la frequenza standard di rilascio, bilanciando valuta e stabilità. Questo canale è il predefinito. La maggior parte delle app di produzione.
Esteso Rimane tipicamente un rilascio indietro rispetto allo Standard, dando ai carichi di lavoro più tempo per la validazione prima di adottare una nuova patch runtime. Carichi di lavoro in produzione che richiedono tempo di validazione extra prima di adottare una nuova patch in runtime.

Quando viene rilasciata una nuova patch runtime, essa scorre attraverso i canali in ordine: UltimoStandardEsteso. Questo flusso significa che un aggiornamento immediatamente disponibile su Ultimo raggiunge Standard dopo ulteriori validazioni, e poi Esteso dopo ulteriori validazioni aggiuntive sopra.

Ad esempio, per .NET 10, lo stesso momento temporale potrebbe apparire come:

Channel Versione di .NET
Più recente 10.0.7
Standard 10.0.4
Esteso 10.0.2

Tip

Se la tua app ha requisiti di stabilità rigorosi, usa il canale Esteso per ridurre la frequenza degli aggiornamenti automatici delle patch a runtime. Se la tua app ha bisogno delle ultime correzioni di sicurezza il più rapidamente possibile, usa Latest.

Configura il canale di rilascio della piattaforma

  1. Nel portale di Azure, accedi alla tua applicazione del servizio App Service.
  2. Nel menu sinistro, seleziona Impostazioni stack.
  3. Sotto Canale di Rilascio Piattaforma, seleziona il canale che desideri: Ultimo, Standard o Esteso.
  4. Seleziona Salva.

Per maggiori informazioni su questa funzione, consulta l'annuncio del blog Platform Release Channel.

Come è possibile eseguire query relative allo stato di aggiornamento del sistema operativo e del runtime nelle istanze in uso?

La console Kudu consente di eseguire query sulla versione del sistema operativo e sulle versioni di runtime delle istanze del servizio app. Le informazioni critiche del sistema operativo sono bloccate dall'accesso. Per altre informazioni, vedere Funzionalità del sistema operativo nel servizio app di Azure.

La tabella seguente illustra come usare i comandi Kudu o Cloud Shell per trovare le versioni di Windows e del runtime del linguaggio che eseguono le app. Sostituire <appname> e <groupname> con i nomi dell'app e del gruppo di risorse.

Informazioni Dove trovarlo
Versione di Windows Vedi https://<appname>.scm.azurewebsites.net/Env#sysinfo.
Versione di .NET In https://<appname>.scm.azurewebsites.net/DebugConsoleeseguire il comando seguente al prompt dei comandi:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full".
Versione di .NET Core In https://<appname>.scm.azurewebsites.net/DebugConsole, eseguire dotnet --version.
Versione di PHP In https://<appname>.scm.azurewebsites.net/DebugConsole, eseguire php --version.
Versione predefinita di Node.js In Cloud Shell eseguire il comando seguente:
az webapp config appsettings list --resource-group <groupname> --name <appname> --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION']".
Versione di Python In https://<appname>.scm.azurewebsites.net/DebugConsole, eseguire python --version.
Versione Java In https://<appname>.scm.azurewebsites.net/DebugConsole, eseguire java -version.

Nota

L'accesso al percorso HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packagesdel Registro di sistema, in cui vengono archiviate le informazioni sui bollettini sulla sicurezza , viene bloccato.