Proteggere la distribuzione delle app di Azure Container

App Contenitore di Azure offre funzionalità per eseguire applicazioni in contenitori senza gestire un'infrastruttura complessa fornendo al tempo stesso funzionalità di sicurezza di livello aziendale. Quando si distribuisce questo servizio, seguire le procedure consigliate per la sicurezza per proteggere dati, configurazioni e infrastruttura.

Questo articolo fornisce raccomandazioni sulla sicurezza per proteggere la distribuzione delle app contenitore di Azure.

Le raccomandazioni sulla sicurezza in questo articolo implementano i principi Zero Trust: "Verificare in modo esplicito", "Usare l'accesso con privilegi minimi" e "Presupporre violazione". Per indicazioni complete su Zero Trust, vedere Zero Trust Guidance Center.

Sicurezza specifica del servizio

Container Apps offre funzionalità di sicurezza progettate in modo univoco per carichi di lavoro containerizzati, architetture di microservizi e applicazioni cloud-native.

  • Configurare i limiti di sicurezza a livello di ambiente: usare gli ambienti app contenitore per creare limiti di sicurezza tra applicazioni e carichi di lavoro diversi. Separare gli ambienti di produzione e non produzione per impedire accessi non autorizzati e deviazioni della configurazione. Per maggiori informazioni, vedi Panoramica sull'ambiente.

  • Implementare limiti di scalabilità e risorse appropriati: configurare le regole di ridimensionamento e i limiti delle risorse appropriati per evitare attacchi di esaurimento delle risorse e garantire un'allocazione equa delle risorse tra le applicazioni. Monitorare gli eventi di ridimensionamento per individuare modelli insoliti che possano indicare problemi di sicurezza. Per altre informazioni, vedere Impostare le regole di ridimensionamento in App contenitore di Azure.

Sicurezza della rete

I controlli di sicurezza di rete impediscono l'accesso non autorizzato agli endpoint dell'app contenitore e stabiliscono limiti di comunicazione sicuri tra le applicazioni e i servizi esterni.

  • Distribuisci app container in una rete virtuale: per controllare il traffico di rete e garantire l'accesso sicuro alle risorse backend, integra l'ambiente delle app container con le Reti Virtuali Azure. L'integrazione della rete virtuale consente alle app di accedere alle risorse nelle reti private proteggendo al tempo stesso dagli attacchi basati su Internet. Per altre informazioni, vedere Configurazione della rete virtuale.

  • Abilitare gli endpoint privati per l'accesso in ingresso: eliminare l'esposizione a Internet pubblico usando il collegamento privato di Azure per instradare il traffico client attraverso la rete virtuale. Gli endpoint privati forniscono un indirizzo IP privato dalla rete virtuale, portando in modo efficace l'app contenitore nel perimetro di rete. Per maggiori informazioni, vedi Usa un endpoint privato con un ambiente App contenitore di Azure.

  • Configurare gli ambienti interni per l'isolamento completo: distribuire ambienti interni di App contenitore per limitare l'accesso in ingresso ai client all'interno della rete virtuale. Gli ambienti interni offrono un isolamento completo dalla rete Internet pubblica e consentono la comunicazione sicura tra app contenitore e altre risorse di rete. Per altre informazioni, vedere Networking in App contenitore di Azure environment.

  • Disabilitare l'accesso alla rete pubblica: configurare gli ambienti di App contenitore per disabilitare l'accesso alla rete pubblica quando si usano endpoint privati, assicurando che tutta la connettività si verifichi tramite l'ambiente di rete virtuale controllato. Questa configurazione impedisce tentativi di accesso esterno non autorizzati. Per altre informazioni, vedere Endpoint privati e DNS per reti virtuali negli ambienti di App contenitore di Azure.

  • Implementare Firewall di Azure per il controllo del traffico in uscita: usare Firewall di Azure con route definite dall'utente (UDR) per controllare e monitorare tutto il traffico in uscita dalle app contenitore per garantire che le comunicazioni si verifichino solo con destinazioni approvate. Per ulteriori informazioni, vedi Abilita le Rotte Definite dall'Utente (UDR).

  • Configura i gruppi di sicurezza di rete con regole restrittive: applica i gruppi di sicurezza di rete per controllare il flusso di traffico da e verso le tue sottoreti Container Apps implementando policy di negazione per default con regole specifiche di permesso per i modelli di comunicazione richiesti. Per ulteriori informazioni, vedi Proteggere una rete virtuale esistente con un gruppo di sicurezza di rete.

  • Configurare le restrizioni a livello di app: configurare le impostazioni di ingresso con controlli di sicurezza appropriati, tra cui l'autenticazione del certificato client e le restrizioni IP per l'esposizione sicura delle applicazioni contenitore. Usare l'ingresso interno per le applicazioni che non devono essere accessibili da Internet. Per ulteriori informazioni, vedi panoramica su Ingress.

Gestione delle identità e degli accessi

I controlli di gestione delle identità e degli accessi assicurano che solo gli utenti e le applicazioni autorizzati possano accedere alle risorse di App contenitore con autorizzazioni e meccanismi di autenticazione appropriati.

  • Abilitare l'autenticazione e l'autorizzazione: configurare l'autenticazione predefinita usando Microsoft Entra ID e altri provider di identità per proteggere gli endpoint dell'app contenitore oltre ai controlli di accesso di base. Questa configurazione fornisce la gestione centralizzata delle identità e supporta regole di autorizzazione personalizzate. Per altre informazioni, vedere Authentication and authorization in App contenitore di Azure.

  • Usare le identità gestite per le connessioni al servizio: configurare le identità gestite assegnate dal sistema o assegnate dall'utente per l'autenticazione ad altri servizi di Azure senza archiviare le credenziali nel codice o nella configurazione. Le identità gestite eliminano il sovraccarico di gestione delle credenziali e forniscono la rotazione automatica dei segreti. Per maggiori informazioni, vedi Usa le identità gestite in App contenitore di Azure.

  • Implementare il controllo di accesso basato sui ruoli (RBAC): assegnare solo i permessi richiesti per ogni compito di gestione delle Container App. I ruoli integrati specifici delle app container possono fornire un accesso più ristretto rispetto alle assegnazioni ampie di Contributor o Owner, ma alcune usano permessi jolly che includono azioni per leggere valori segreti. Se nessun ruolo integrato fornisce il confine di accesso di cui hai bisogno, crea un ruolo personalizzato con permessi espliciti. Per maggiori informazioni, vedi Permessi per la gestione dei segreti e ruoli integrati Azure per i container.

  • Configurare l'autenticazione di Microsoft Entra ID: usare Microsoft Entra ID per la gestione centralizzata delle identità e abilitare i criteri di accesso condizionale per controllare l'accesso in base a condizioni utente, posizione e dispositivo. Questa configurazione offre funzionalità di autenticazione di livello aziendale con supporto per l'autenticazione a più fattori. Per ulteriori informazioni, vedi Abilita autenticazione e autorizzazione in App contenitore di Azure con Microsoft Entra ID.

  • Abilitare l'archivio token per l'autenticazione sicura: usare la funzionalità dell'archivio token predefinito per gestire i token di autenticazione in modo sicuro indipendente dal codice dell'applicazione. L'archivio token fornisce l'aggiornamento automatico dei token e riduce la superficie di attacco eliminando il codice di gestione dei token personalizzato. Per ulteriori informazioni, consulta Abilitare un archivio dei token di autenticazione.

Protezione dei dati

I meccanismi di protezione dei dati proteggono le informazioni riservate elaborate dalle app contenitore tramite crittografia, archiviazione sicura e corretta gestione dei segreti e dei dati di configurazione.

  • Imponi HTTPS per tutte le comunicazioni: configurare il proxy Envoy per reindirizzare tutto il traffico HTTP a HTTPS per garantire che tutte le trasmissioni di dati usino la crittografia TLS. Impostare allowInsecure: false nella configurazione in ingresso per impedire connessioni non crittografate. Per altre informazioni, vedere Configurare l'ingresso HTTPS o TCP nelle app contenitore di Azure.

  • Usare Azure Key Vault per la gestione dei segreti: archiviare stringhe di connessione, chiavi API e altri segreti in Azure Key Vault anziché le impostazioni dell'applicazione. Usare i riferimenti a Key Vault per recuperare i segreti in runtime, mantenendo al tempo stesso la gestione centralizzata dei segreti con funzionalità avanzate di sicurezza e controllo. Per ulteriori informazioni, vedere Gestire i segreti in App contenitore di Azure.

  • Abilitare mTLS (Mutual Transport Layer Security): usare mTLS per autenticare e crittografare il traffico tra i servizi, fornendo l'autenticazione bidirezionale che verifica le identità client e server. Questa funzionalità migliora la sicurezza per la comunicazione da servizio a servizio all'interno dell'ambiente dell'app contenitore. Per ulteriori informazioni, vedi Usa la Sicurezza del Mutuo Livello di Trasporto (mTLS).

  • Implementa una corretta gestione dei segreti: Usa lo storage di segreti integrato Container Apps per conservare valori sensibili con un adeguato isolamento e controlli di accesso, ed evita di memorizzare i segreti direttamente nelle immagini del container o nelle variabili dell'ambiente. Per maggiori informazioni, vedi Permessi per la gestione dei segreti.

  • Archiviazione sicura delle immagini del contenitore: archiviare le immagini del contenitore in Registro Azure Container con l'autenticazione abilitata e configurare la replica geografica per il ripristino di emergenza. Usare registri privati anziché repository pubblici per i carichi di lavoro di produzione per mantenere il controllo sull'accesso alle immagini. Per altre informazioni, vedere Eseguire l'autenticazione con un registro Azure Container.

Registrazione e monitoraggio

La registrazione e il monitoraggio completi offrono visibilità sulle operazioni delle app contenitore, sugli eventi di sicurezza e sulle metriche delle prestazioni per abilitare il rilevamento delle minacce e la supervisione operativa.

  • Abilitare l'integrazione di Monitoraggio di Azure Log Analytics: configurare l'integrazione dell'area di lavoro di Log Analytics per raccogliere e analizzare i log di sistema e delle applicazioni da tutte le applicazioni container nell'ambiente. Questa configurazione offre una gestione centralizzata dei log e supporta il monitoraggio della sicurezza e il controllo della conformità. Per altre informazioni, vedere Monitorare i log in App Contenitore di Azure con Log Analytics.

  • Configurare le impostazioni di diagnostica: abilitare le impostazioni di diagnostica per trasmettere i log e le metriche delle app del contenitore ai log di Monitoraggio di Azure, agli account di archiviazione o a Hub eventi per l'analisi centralizzata e la conservazione a lungo termine. Questa configurazione supporta le indagini sulla sicurezza e i requisiti di conformità. Per altre informazioni, vedere Observability in App contenitore di Azure.

  • Configurare gli avvisi di Monitoraggio di Azure: configurare avvisi per attività sospette, tra cui autenticazioni non riuscite, modelli di traffico insoliti, tassi di errore elevati e anomalie di consumo delle risorse. Usare i gruppi di azioni per abilitare la risposta automatica a potenziali eventi imprevisti di sicurezza. Per altre informazioni, vedere Avvisi di Monitoraggio di Azure.

  • Abilitare lo streaming dei log per il monitoraggio in tempo reale: usare le funzionalità di streaming dei log per visualizzare i log di sistema e console quasi in tempo reale dai contenitori per la risoluzione dei problemi immediata e il rilevamento degli eventi di sicurezza. Questa capacità consente una risposta rapida durante incidenti di sicurezza. Per altre informazioni, vedere Flusso di log.

  • Implementare l'integrazione di Application Insights: configurare l'integrazione di Application Insights per acquisire dati di telemetria dettagliati, metriche delle prestazioni e tracce personalizzate dalle applicazioni contenitore. Questa integrazione offre un'osservabilità completa per l'analisi della sicurezza e l'ottimizzazione delle prestazioni. Per maggiori informazioni, consultare la sezione Panoramica di Application Insights.

Conformità e governance

I controlli di conformità e governance assicurano che le implementazioni delle applicazioni container rispettino i requisiti normativi e le politiche organizzative, tramite una gestione della configurazione e capacità di audit adeguate.

  • Applica definizioni di Criteri di Azure: usare le definizioni predefinite di Criteri di Azure per controllare e applicare configurazioni di sicurezza, ad esempio la distribuzione della rete virtuale, i requisiti di autenticazione e l'imposizione HTTPS. I criteri consentono di mantenere un comportamento di sicurezza coerente in tutti gli ambienti. Per ulteriori informazioni, vedere Criteri di Azure definizioni predefinite per App contenitore di Azure.

  • Implementare l'assegnazione di tag alle risorse: applicare tag di risorse coerenti alle risorse di App contenitore per la gestione dei costi, il monitoraggio della sicurezza, il rilevamento della conformità e la governance. Usare i tag per identificare la classificazione dei dati, le informazioni sul proprietario e i requisiti normativi. Per altre informazioni, vedere Usare i tag per organizzare le risorse di Azure.

  • Configurare le policy di accesso condizionato: applicare le policy di Accesso condizionale di Microsoft Entra che richiedono autenticazione multifattore e dispositivi conformi per le identità che gestiscono le Container Apps e i loro ambienti, e per l'accesso degli utenti finali protetti dalla funzione di autenticazione integrata. Per maggiori informazioni, vedi Richiedere MFA per la gestione Azure.

  • Gestire i audit trail e la documentazione sulla conformità: assicurarsi che la registrazione completa acquisisca tutte le azioni amministrative dell'app contenitore, le modifiche alla configurazione e i tentativi di accesso per le indagini sulla conformità alle normative e sulla sicurezza usando le impostazioni di diagnostica e i log attività. Per altre informazioni, vedere il Log delle attività di Azure.

Backup e ripristino

Le strategie di backup e recupero proteggono le configurazioni delle app container e garantiscono la continuità operativa attraverso una corretta pianificazione del disaster recovery e strategie di deployment multiregione.

  • Abilitare la ridondanza della zona per la disponibilità elevata: configurare la ridondanza della zona negli ambienti app contenitore per distribuire automaticamente le repliche tra più zone di disponibilità all'interno di un'area. Questa configurazione protegge da errori a livello di zona e migliora il tempo di attività dell'applicazione. Per altre informazioni, vedere Affidabilità nelle app contenitore di Azure.

  • Implementa implementazioni multiregione: Distribuisci Container Apps in più regioni Azure utilizzando Frontdoor di Azure o Gestione traffico di Azure per capacità di failover automatico durante interruzioni regionali. Questa strategia garantisce la disponibilità continua delle applicazioni per carichi di lavoro critici. Per altre informazioni, vedere Resilienza agli errori a livello di area.

  • Usare l'infrastruttura come codice per l'automazione della distribuzione: implementare processi di distribuzione automatizzati usando modelli di Azure Resource Manager, Bicep o un'altra infrastruttura come strumenti di codice per assicurarsi di ridistribuire rapidamente le configurazioni delle app contenitore dopo eventi imprevisti o in aree alternative. Per ulteriori informazioni, consulta Azure Resource Manager e la specifica API Bicep per App contenitore di Azure.

  • Configurare il registro contenitori con ridondanza geografica: usare Registro Azure Container con la replica geografica abilitata per assicurarsi che le immagini del contenitore siano disponibili in più aree per scenari di ripristino di emergenza. Questa configurazione protegge dalle interruzioni del registro e supporta implementazioni multiregione. Per altre informazioni, vedere Geo-replication in Registro Azure Container.

  • Testare le procedure di ripristino di emergenza: testare regolarmente le procedure di backup e ripristino, tra cui la distribuzione dell'applicazione, il ripristino della configurazione e i processi di failover per convalidare l'efficacia e identificare le lacune nella pianificazione del ripristino di emergenza. Documentare i risultati dei test e aggiornare le procedure in base alle lezioni apprese. Per altre informazioni, consulta Soluzioni multiregione personalizzate per la resilienza.

Passaggi successivi