Proteggere la distribuzione di Redis gestita di Azure

Redis gestito di Azure offre un archivio dati in memoria completamente gestito basato sul software Redis Enterprise. Quando si distribuisce questo servizio, è importante seguire le procedure consigliate per la sicurezza per proteggere i dati, le configurazioni e l'infrastruttura memorizzati nella cache.

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.

Questo articolo fornisce raccomandazioni sulla sicurezza per proteggere la distribuzione di Redis gestita di Azure.

Protezione dei dati

La protezione dei dati inattivi e in transito è fondamentale per mantenere la riservatezza e l'integrità della cache.

  • Mantenere disabilitato l'accesso non TLS: Azure Managed Redis richiede TLS 1.2 o 1.3 per tutte le connessioni per impostazione predefinita, assicurando che i dati in transito siano crittografati. Mantenere disabilitato l'accesso non TLS per impedire la comunicazione non crittografata. Se si abilita l'accesso non TLS per le applicazioni legacy, pianificare la migrazione di tali applicazioni ai client abilitati per TLS. Vedere Configurazione TLS per Redis gestito di Azure.

  • Usare le chiavi gestite dal cliente per la crittografia del disco: Azure Managed Redis crittografa i dati di persistenza e i dischi del sistema operativo usando le chiavi gestite da Microsoft (MMK) per impostazione predefinita. Per un controllo aggiuntivo, configurare chiavi gestite dal cliente per eseguire il wrapping delle chiavi di crittografia usando Azure Key Vault. La CMK richiede un'identità gestita assegnata dall'utente e un'istanza di Azure Key Vault con protezione dalla eliminazione e cancellazione temporanea abilitate. Vedere Configurare la crittografia del disco per le istanze di Redis gestite da Azure usando chiavi gestite dal cliente.

  • Abilitare la persistenza dei dati per il ripristino: configurare la persistenza RDB o AOF per proteggersi dalla perdita di dati da errori imprevisti. La persistenza scrive i dati su dischi gestiti crittografati a riposo. La persistenza dei dati non è una funzionalità di backup o ripristino temporizzato. Se i dati danneggiati vengono scritti in Redis, vengono mantenuti. Per i backup reali, usare la funzionalità di esportazione. Vedere Configurare la persistenza dei dati per un'istanza di Redis gestita di Azure.

  • Usare l'esportazione per i backup dei dati: creare backup periodici dei dati Redis usando la funzionalità Esporta negli account di archiviazione di Azure. L'esportazione fornisce copie dei dati allo stato attuale che possono essere importate in nuove istanze della cache per il ripristino di emergenza. Vedere Importare ed esportare dati in Redis gestito di Azure.

Sicurezza della rete

Isolare l'istanza di Redis gestita di Azure dalla rete Internet pubblica e controllare l'accesso alla rete.

  • Usare gli endpoint privati: distribuire il collegamento privato di Azure per connettersi all'istanza di Redis gestita di Azure tramite un indirizzo IP privato nella rete virtuale. Gli endpoint privati eliminano l'esposizione alla rete Internet pubblica e mantengono il traffico sulla rete backbone Microsoft. Gli endpoint privati sono la soluzione consigliata per proteggere la risorsa Redis gestita di Azure a livello di rete. Vedere Azure Managed Redis with collegamento privato di Azure (Redis gestito di Azure con collegamento privato di Azure).

  • Disabilitare l'accesso alla rete pubblica: quando si usano endpoint privati, disabilitare l'accesso alla rete pubblica usando la publicNetworkAccess proprietà per garantire che tutto il traffico passi attraverso la rete virtuale. Questa configurazione impedisce l'accesso non autorizzato da Internet. La disabilitazione publicNetworkAccess e la protezione della cache tramite una rete virtuale insieme all'endpoint privato e ai collegamenti privati è l'opzione più sicura. Vedere Abilitazione dell'accesso alla rete pubblica.

Gestione delle identità e degli accessi

Configurare correttamente l'autenticazione e l'autorizzazione per controllare l'accesso all'istanza di Redis gestita di Azure.

  • Usare l'autenticazione microsoft Entra ID: configurare l'ID Entra di Microsoft per l'autenticazione senza password anziché le chiavi di accesso. L'autenticazione di Microsoft Entra offre sicurezza avanzata, gestione centralizzata delle identità e aggiornamento automatico dei token. Azure Managed Redis abilita l'identità gestita per impostazione predefinita quando si crea una nuova cache. I gruppi di Microsoft Entra non sono supportati, quindi aggiungere singoli utenti o principali del servizio all'elenco di utenti di Redis. Consulta Usare Microsoft Entra ID per l'autenticazione della cache con Azure Managed Redis.

  • Disabilitare l'autenticazione con chiave di accesso: dopo aver configurato l'autenticazione dell'ID Entra di Microsoft, disabilitare l'autenticazione della chiave di accesso per eliminare il rischio di esposizione delle credenziali. Le chiavi di accesso sono credenziali statiche che possono essere compromesse in caso di perdita. Quando si modifica questa impostazione, tutte le connessioni client esistenti vengono terminate indipendentemente dal metodo di autenticazione, quindi implementare meccanismi di ripetizione dei tentativi appropriati per la riconnessione. Vedere Disabilitare l'autenticazione della chiave di accesso nella cache.

  • Aggiungere utenti autorizzati o entità servizio: configurare gli utenti o le entità servizio di Microsoft Entra che possono accedere alla cache aggiungendoli all'elenco utenti Redis nel portale di Azure. Seguire il principio dei privilegi minimi concedendole l'accesso solo alle identità che lo richiedono. Vedere Aggiungere utenti o entità servizio alla cache.

  • Applicare l'accesso a privilegi minimi con il controllo degli accessi in base al ruolo (RBAC): utilizzare il controllo degli accessi basato sui ruoli di Azure per gestire chi può amministrare le risorse di Azure Managed Redis nel portale di Azure e tramite le API. Assegnare ruoli nell'ambito appropriato per limitare le autorizzazioni solo a ciò che è necessario. Vedere Controllo di accesso (IAM).

  • Usare le identità gestite per l'accesso alle risorse di Azure: quando l'istanza di Redis gestita di Azure deve accedere ad altre risorse di Azure, ad esempio Azure Key Vault per le chiavi gestite dal cliente, usare le identità gestite. Le identità gestite eliminano la necessità di gestire le credenziali. Vedere Configurare la crittografia del disco.

  • Rigenerare regolarmente le chiavi di accesso: se è necessario usare le chiavi di accesso, rigenerarle regolarmente per limitare l'impatto della potenziale esposizione delle chiavi. Redis gestito di Azure supporta due chiavi di accesso in modo da poter ruotare le chiavi senza tempi di inattività. Vedere Autenticazione.

Registrazione e monitoraggio

Implementare la registrazione e il monitoraggio completi per rilevare le minacce alla sicurezza e risolvere i problemi.

  • Abilitare i log di connessione: configurare le impostazioni di diagnostica di Azure per registrare le connessioni client alla cache. I log di connessione registrano chi si connette e il timestamp di tali connessioni, consentendo di identificare l'ambito delle violazioni della sicurezza ed eseguire il controllo della sicurezza. Consultare le impostazioni di diagnostica di Monitoraggio di Azure.

  • Monitorare il log attività: esaminare il log attività di Azure per tenere traccia delle operazioni di gestione eseguite sulle risorse di Redis gestite di Azure. I log attività consentono di determinare quali operazioni sono state eseguite, chi le ha avviate e quando si sono verificate a scopo di controllo della sicurezza. Vedi Registro attività.

  • Creare avvisi di sicurezza: configurare gli avvisi di Monitoraggio di Azure per notificare modelli di utilizzo anomali, anomalie di connessione o potenziali violazioni della sicurezza che interessano la cache. Configurare gli avvisi in base ai picchi di conteggio delle connessioni, agli errori di autenticazione o a modelli di trasferimento dati insoliti. Vedere Avvisi.

  • Integrazione con Monitoraggio di Azure: configurare Monitoraggio di Azure per raccogliere e analizzare log e metriche dall'istanza di Redis gestita di Azure. Usare le aree di lavoro Log Analytics per eseguire query sui log di connessione e identificare i modelli di sicurezza. Vedere Monitoraggio.

Conformità e governance

Implementare i controlli di governance per garantire che le distribuzioni di Redis gestite di Azure soddisfino i requisiti aziendali e normativi.

  • Usare Criteri di Azure per la conformità: distribuire Criteri di Azure per applicare gli standard dell'organizzazione e valutare la conformità su larga scala. Usare le definizioni di criteri predefinite per controllare e applicare le configurazioni di sicurezza.

  • Abilitare i blocchi delle risorse: applicare blocchi delle risorse per impedire l'eliminazione accidentale o la modifica delle risorse Redis gestite di Azure critiche. Usare i blocchi CanNotDelete per impedire l'eliminazione consentendo modifiche o blocchi ReadOnly per la protezione completa. Vedere Blocchi.

  • Usare i tag per l'organizzazione delle risorse: applicare tag alle risorse di Redis gestite di Azure per supportare la governance della sicurezza, il rilevamento dei costi e la creazione di report sulla conformità. I tag consentono di organizzare le risorse in base ai requisiti di classificazione, ambiente o conformità della sicurezza. Vedere Tag.

Backup e ripristino

Implementare meccanismi di backup e ripristino per garantire la continuità aziendale e la protezione dei dati.

  • Configurare la persistenza dei dati: abilitare la persistenza RDB o AOF per ripristinare automaticamente i dati dopo errori imprevisti. La persistenza RDB consente di risparmiare snapshot periodici con un impatto minimo sulle prestazioni ed è adatto per la maggior parte degli scenari. La persistenza AOF registra ogni operazione di scrittura per una perdita minima di dati, ma può influire sulla velocità effettiva. Vedere Configurare la persistenza dei dati per un'istanza di Redis gestita di Azure.

  • Usare la replica geografica attiva per il ripristino di emergenza: per i carichi di lavoro critici, abilitare la replica geografica attiva per replicare i dati in più aree di Azure. La replica geografica garantisce la continuità aziendale se un'intera area non è più disponibile. La replica geografica attiva non è compatibile con la persistenza dei dati, quindi scegliere la replica geografica per la resilienza tra aree o la persistenza per la durabilità a singola area. Vedere Configurare la replica geografica attiva.

  • Implementare una strategia di backup basata sull'esportazione: creare script automatizzati usando PowerShell o l'interfaccia della riga di comando di Azure per esportare periodicamente i dati a scopo di backup. I dati esportati possono essere importati in una nuova istanza della cache per il ripristino di emergenza. Vedere Importare ed esportare dati in Redis gestito di Azure.

Sicurezza specifica del servizio

Redis gestito di Azure ha considerazioni di sicurezza univoche in base all'architettura in memoria.

Architettura di Redis gestita di Azure

  • Selezionare il livello appropriato per i requisiti di sicurezza: diversi livelli di Redis gestiti di Azure offrono funzionalità diverse. Tutti i livelli supportano endpoint privati, crittografia TLS e autenticazione di Microsoft Entra. Il livello ottimizzato per flash archivia alcuni dati nei dischi NVMe crittografati con chiavi gestite da Microsoft. Redis gestito di Azure offre una disponibilità elevata integrata con partizioni primarie e di replica su due nodi; nelle regioni con più zone di disponibilità, il servizio è a ridondanza di zona. Vedere Confronto tra funzionalità.

Uso appropriato di Redis gestito di Azure

  • Non archiviare dati sensibili senza crittografia appropriata: mentre Azure Managed Redis crittografa i dati inattivi nei dischi di persistenza, i dati in memoria non vengono crittografati dal servizio. Implementare la crittografia a livello di applicazione per i dati altamente sensibili prima di scriverli nella cache o usare il servizio solo per i dati non sensibili memorizzati nella cache. Vedere Protezione dei dati.

  • Non esporre le chiavi di accesso nel codice dell'applicazione: archiviare le chiavi di accesso in Azure Key Vault o usare l'autenticazione di Microsoft Entra anziché incorporare chiavi di accesso nel codice dell'applicazione o nei file di configurazione. Le chiavi di accesso esposte possono causare l'accesso non autorizzato alla cache. Vedere Usare Microsoft Entra ID per l'autenticazione della cache.

  • Non usare Redis gestito di Azure come archivio dati primario: Redis gestito di Azure è progettato come cache e archivio dati temporaneo, non come database primario permanente. Mantenere sempre dati autorevoli in un archivio dati permanente, ad esempio il database SQL di Azure o Azure Cosmos DB. Vedere Scenari chiave.

Passaggi successivi