Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce indicazioni sulla protezione dei segreti e sulla riduzione del rischio di accesso non autorizzato. Seguire queste indicazioni per assicurarsi di non archiviare informazioni riservate, ad esempio le credenziali nel codice, i repository GitHub, i log, le pipeline di integrazione continua/distribuzione continua (CI/CD) e così via. Le linee guida contenute in questo articolo vengono compilate in base alle raccomandazioni dei singoli servizi, nonché dal Microsoft Cloud Security Benchmark (MCSB).
Questo articolo è allineato al modello di sicurezza Microsoft Zero Trust, che richiede la verifica esplicita, l'accesso con privilegi minimi e il presupposto di violazione. Per i controlli di sicurezza prescrittivi con imposizione Criteri di Azure, vedere Microsoft Cloud Security Benchmark v2 - Privileged Access e MCSB v2 - Protezione dei dati.
Individuazione e prevenzione dei segreti
Prima di poter proteggere i segreti, è necessario avere visibilità sulla posizione in cui esistono e impedire che vengano esposti in primo luogo.
Eseguire un controllo per identificare i segreti: condurre un controllo approfondito dei sistemi e delle applicazioni consente di identificare tutte le informazioni riservate necessarie per la protezione. Sono incluse password, chiavi API, stringhe di connessione e altre credenziali. I controlli regolari assicurano che i nuovi segreti siano riconosciuti e che quelli esistenti siano gestiti correttamente. Anche i segreti creati dinamicamente, ad esempio i token OAuth, che possono essere temporanei, devono comunque essere protetti con lo stesso rigore dei segreti a lungo termine.
Evitare la codifica diretta dei segreti: l'inclusione dei segreti direttamente nel codice o nei file di configurazione rappresenta un rischio significativo per la sicurezza. Se la codebase viene compromessa, lo stesso accade ai segreti. Usare invece variabili di ambiente o strumenti di gestione della configurazione che mantengono i segreti fuori dal codice sorgente. Questa procedura riduce al minimo il rischio di esposizione accidentale e semplifica il processo di aggiornamento dei segreti. Inoltre, l'integrazione del recupero dei segreti nella pipeline di distribuzione automatizzata e l'uso dei modelli di inserimento dei segreti può impedire che i segreti vengano accidentalmente esposti nei log o nel controllo della versione. Per altre informazioni, vedere Raccomandazioni per la protezione dei segreti dell'applicazione.
Implementare gli strumenti di analisi dei segreti: l'analisi regolare della codebase per i segreti incorporati può impedire l'esposizione accidentale. Strumenti come Azure DevOps Credential Scanner e GitHub l'analisi dei segreti possono rilevare e avvisare automaticamente gli eventuali segreti trovati nei repository. L'integrazione di questi strumenti nella pipeline CI/CD garantisce il monitoraggio continuo. Considera qualsiasi segreto trovato da questi strumenti di analisi come compromesso, il che significa che deve essere immediatamente revocato e sostituito per mantenere l'integrità del comportamento di sicurezza.
Archiviazione sicura e crittografia
La protezione dei segreti richiede meccanismi di archiviazione sicuri e la crittografia appropriata in tutte le fasi.
Use secure key stores: Servizi come Azure Key Vault e Azure Managed HSM offrono funzionalità di sicurezza affidabili, tra cui controllo di accesso, registrazione e rotazione automatica. Questo approccio centralizza la gestione dei segreti e riduce il rischio di accesso non autorizzato. Per una maggiore sicurezza, in particolare per segreti estremamente sensibili o critici, è consigliabile crittografare il segreto con un archivio chiavi in un modulo di protezione hardware (HSM), che offre una protezione avanzata rispetto agli archivi segreti basati su software. Per gli scenari di chiavi gestite dal cliente, utilizzare almeno la versione Premium di Azure Key Vault (con supporto HSM) o Azure Managed HSM per i requisiti di sovranità delle chiavi. Per una panoramica di tutte le offerte di gestione delle chiavi in Azure e indicazioni su quali scegliere, vedere Gestione delle chiavi in Azure e Come scegliere la soluzione di gestione delle chiavi corretta.
Crittografa i segreti inattivi e in transito: Azure Key Vault archivia in modo sicuro i segreti usando la crittografia envelope, in cui le chiavi di crittografia dei dati (DEK) vengono crittografate tramite chiavi di crittografia delle chiavi (KEK), fornendo un ulteriore livello di sicurezza. Utilizza protocolli di comunicazione sicuri come HTTPS per crittografare i dati in transito tra le tue applicazioni e il key vault. In Azure la crittografia dei dati inattivi viene implementata in vari servizi usando la crittografia AES 256, mentre i dati in transito sono protetti tramite TLS e MACsec. Per altri dettagli, vedere Crittografia dei dati a riposo e in transito.
Implementare l'isolamento della rete: configurare firewall e gruppi di sicurezza di rete per limitare l'accesso agli insiemi di credenziali delle chiavi. Consentire solo alle applicazioni e ai servizi attendibili di accedere ai segreti, riducendo al minimo la superficie di attacco e impedendo l'accesso non autorizzato. Valutare di utilizzare più insiemi di credenziali delle chiavi per creare limiti di isolamento per componenti diversi, assicurandosi che, se un componente è compromesso, non possa ottenere il controllo di altri segreti o dell'intero carico di lavoro.
Controllo di accesso e identità
La gestione di chi e cosa può accedere ai segreti è fondamentale per la gestione della sicurezza.
Leverage managed identities: Managed identities in Azure offrire alle applicazioni un modo sicuro per l'autenticazione ai servizi Azure senza archiviare le credenziali nel codice. Abilitando le identità gestite per le risorse Azure, è possibile accedere in modo sicuro a Azure Key Vault e ad altri servizi, riducendo la necessità di gestire manualmente i segreti. Questo approccio non solo riduce al minimo la creazione di segreti, ma riduce anche la superficie di attacco per potenziali violazioni, in quanto la responsabilità della gestione delle credenziali viene delegata alla piattaforma.
Applicare un controllo di accesso granulare: seguire il principio dei privilegi minimi applicando un controllo di accesso granulare ai segreti. Usare Azure controllo degli accessi in base al ruolo (RBAC) per garantire che solo le entità autorizzate abbiano accesso a determinati segreti. Esaminare e aggiornare regolarmente le autorizzazioni di accesso per impedire l'accesso non autorizzato. Implementare ruoli distinti, ad esempio utente, amministratore e revisore per gestire l'accesso ai segreti, assicurando che solo le identità attendibili abbiano il livello di autorizzazione appropriato. Vedere la guida Azure Key Vault RBAC.
Gestione del ciclo di vita dei segreti
I segreti richiedono una gestione continuativa per tutto il ciclo di vita, dalla creazione al ritiro.
Aggiornare regolarmente i segreti: i segreti sono soggetti a perdite o esposizione nel tempo. La rotazione regolare dei segreti riduce il rischio di accesso non autorizzato. È possibile ruotare i segreti in Azure Key Vault per determinati segreti; per quelli che non possono essere ruotati automaticamente, stabilire un processo di rotazione manuale e assicurarsi che vengano eliminati quando non sono più in uso. L'automazione del processo di rotazione dei segreti e l'integrazione della ridondanza nella gestione dei segreti possono garantire che la rotazione non interrompa la disponibilità del servizio. L'implementazione della logica di ripetizione dei tentativi e dei modelli di accesso simultanei nel codice consente di ridurre al minimo i problemi durante la finestra di rotazione.
Distribuire i segreti in modo sicuro: quando si distribuiscono segreti, assicurarsi che vengano condivisi in modo sicuro all'interno e all'esterno dell'organizzazione. Usare strumenti progettati per una condivisione sicura e includere procedure di recupero dei segreti nei piani di ripristino di emergenza. Se una chiave viene compromessa o persa, deve essere rigenerata immediatamente. Usare chiavi distinte per ogni consumer anziché condividere le chiavi, anche se hanno modelli di accesso simili. Questa procedura semplifica la gestione e la revoca delle chiavi, assicurandosi che le chiavi compromesse possano essere revocate senza influire sugli altri utenti.
Monitoraggio e registrazione
Il monitoraggio continuo consente il rilevamento di attività sospette e supporta i requisiti di conformità.
- Monitorare e registrare l'accesso: abilitare la registrazione e il monitoraggio per il sistema di gestione dei segreti per tenere traccia dell'accesso e dell'utilizzo. Usare la registrazione di Key Vault e/o servizi come Monitoraggio di Azure e Griglia di eventi di Azure per monitorare tutte le attività relative ai tuoi segreti. Ciò offre visibilità sugli utenti che hanno eseguito l'accesso ai segreti e consente di rilevare eventuali comportamenti sospetti o potenziali eventi imprevisti di sicurezza. La gestione di audit trail dettagliati è fondamentale per controllare e convalidare l'accesso ai segreti, che può aiutare a prevenire il furto di identità, evitare casi di ripudio e ridurre l'esposizione non necessaria.
Linee guida specifiche del servizio per la gestione dei segreti
I singoli servizi possono avere procedure consigliate aggiuntive e indicazioni per la protezione dei segreti. Di seguito sono riportati alcuni esempi.
- Gestione API: Usare i valori denominati nei criteri di Gestione API di Azure con integrazione Key Vault
- Servizio App: Usare riferimenti Key Vault per App Service e Funzioni di Azure
- Gateway applicativo: Configurare il gateway applicativo con terminazione TLS usando il Portale di Azure
- Automazione: Gestire le credenziali in Automazione di Azure
- Configurazione app di Azure: Tutorial: utilizzare riferimenti a Key Vault in un'app ASP.NET Core
- Azure servizio Bot: crittografia Azure servizio Bot per i dati inattivi
- Azure Center per soluzioni SAP: Azure Center for SAP Solutions - Distribuzione - Preparare la rete per la distribuzione
- Gateway di comunicazioni di Azure: Creare e archiviare segreti
- Azure Communications Service: Creare e gestire i token di accesso
- App contenitore di Azure: Gestisci le credenziali in App contenitore di Azure
- Azure Cosmos DB: Configurare le chiavi gestite dal cliente per l'account Azure Cosmos DB
- Database di Azure per PostgreSQL - Server flessibile: Database di Azure per PostgreSQL - Crittografia dei dati del server flessibile con una chiave gestita dal cliente
- Azure Databricks: Integrazione di Key Vault in Databricks
- Azure DevTest Labs: Abilitare le identità gestite assegnate dall'utente nelle macchine virtuali del laboratorio in Azure DevTest Labs
- Hub eventi di Azure: Configurare le chiavi gestite dal cliente per crittografare i dati inattivi di Hub eventi di Azure
- Frontdoor di Azure: Frontdoor di Azure Secrets
- Azure HDInsight nel servizio Azure Kubernetes: Prerequisiti delle risorse - Creazione di Azure Key Vault
- Azure Information Protection: Dettagli per il supporto di Azure Information Protection Key Vault
- Servizio Azure Kubernetes (AKS): CSI Secret Store
- Applicazioni gestite di Azure: Accedere al segreto di Key Vault durante la distribuzione di Applicazioni gestite di Azure
- Azure OpenAI: Sviluppare applicazioni Foundry Tools con Key Vault
- Azure Pipelines: Protezione dei segreti in Azure Pipelines
- Azure Purview: Credentials per l'autenticazione di origine in Microsoft Purview
- bus di servizio di Azure: Integra bus di servizio con Service Connector
- Servizio Azure SignalR: Riferimento al segreto di Key Vault nelle impostazioni del modello URL
- Azure Spring Apps: Integrate Azure Key Vault con Service Connector
- Azure Stack Edge: Gestire i segreti di Azure Stack Edge utilizzando Azure Key Vault
- hub di Azure Stack: Ruotare i segreti
- Azure Web PubSub: Aggiungi un certificato personalizzato
- Backup: configurare un vault per la crittografia usando chiavi gestite dal cliente
- Servizi cognitivi: Sviluppa applicazioni dei Servizi cognitivi di Azure con Key Vault
- Data Factory: Archivia credenziali in Azure Key Vault
- ExpressRoute: configurare la crittografia MACsec per ExpressRoute Direct.
- Funzioni: Usare i riferimenti a Key Vault per il servizio app e le Funzioni di Azure
- Key Vault: Informazioni sui segreti Azure Key Vault
- Logica App: Impostazioni standard dell'app Logica
- servizio Machine Learning: Usare i segreti delle credenziali di autenticazione nei processi di Azure Machine Learning
- Service Fabric: Supporto KeyVaultReference per le applicazioni Service Fabric
- SQL IaaS: Configurare l'integrazione Azure Key Vault per SQL Server in macchine virtuali Azure (Resource Manager)
- Archiviazione: Autorizzare l'accesso ai dati in Archiviazione di Azure
Passaggi successivi
Ridurre al minimo il rischio di sicurezza è una responsabilità condivisa. È necessario essere proattivi nell'adottare misure per proteggere i carichi di lavoro. Altre informazioni sulla responsabilità condivisa nel cloud.
- Vedere Azure procedure consigliate e modelli di sicurezza per altre procedure consigliate per la sicurezza da usare durante la progettazione, la distribuzione e la gestione delle soluzioni cloud usando Azure.
- Esaminare i controlli Microsoft Cloud Security Benchmark v2 - Privileged Access per una guida completa su segreti e accesso con privilegi, insieme alle mappature di Criteri di Azure.
- Scopri le Microsoft Secure Future Initiative (SFI), le migliori pratiche di sicurezza interna di Microsoft per la protezione delle identità e dei segreti, che consigliamo anche ai clienti.
- Esplora distribuzione Zero Trust per l'identità per indicazioni sull'implementazione dei principi di Zero Trust per la gestione degli accessi e delle identità.