Puoi criptare in modo sicuro tutti i dati che si spostano tra le applicazioni client e Memorystore for Redis Cluster. Si tratta della crittografia dei dati in transito. Utilizzando la crittografia in transito, tutto il traffico Redis viene criptato tramite il protocollo Transport Layer Security (TLS). In questo modo, tutti i dati che si spostano tra le applicazioni e Memorystore for Redis Cluster rimangono riservati e integri.
Se la crittografia in transito è abilitata, i client Redis comunicano esclusivamente tramite una connessione sicura. I client Redis non configurati per TLS vengono bloccati. Se scegli di utilizzare la crittografia dei dati in transito, è tua responsabilità assicurarti che il client Redis possa utilizzare il protocollo TLS.
Di seguito sono riportati alcuni esempi di casi d'uso per l'utilizzo della crittografia in transito:
- Proteggi i dati sensibili memorizzati nella cache: se utilizzi Memorystore for Redis Cluster per archiviare informazioni di alto valore, come token di sessione, informazioni che consentono l'identificazione personale (PII) o chiavi API, la crittografia in transito impedisce agli attaccanti con accesso VPC di accedere ai tuoi dati.
- Conformità agli standard di settore: molti framework di sicurezza, tra cui HIPAA per il settore sanitario e PCI DSS per i dati finanziari, impongono la crittografia delle informazioni sensibili sia a riposo che in transito per scopi di conformità normativa e di settore.
- Autenticazione sicura di Identity and Access Management (IAM): Quando utilizzi l'autenticazione IAM per gestire l'accesso ai tuoi dati, Memorystore for Redis Cluster richiede TLS per impedire l'esposizione o la perdita di token di autenticazione durante la trasmissione.
- Prevenire gli attacchi man-in-the-middle: TLS autentica l'endpoint del server utilizzando le autorità di certificazione (CA). Le CA proteggono l'applicazione dallo spoofing del server e dalla modifica non autorizzata dei dati man mano che i dati vengono spostati tra l'applicazione e Memorystore for Redis Cluster.
Prerequisiti per la crittografia dei dati in transito
Per utilizzare la crittografia in transito con Memorystore for Redis Cluster, devi disporre di quanto segue:
Un client Redis che supporta TLS o un sidecar TLS di terze parti.
Certificati CA installati sulla macchina client che accede al cluster.
TLS integrato era supportato solo per Redis, versioni 6.0 e successive. Di conseguenza, non tutte le librerie client Redis supportano TLS. Se utilizzi un client che non supporta TLS, ti consigliamo di utilizzare un plug-in di terze parti che attiva TLS per il tuo client. Puoi vedere un esempio di come connetterti a un cluster in Memorystore for Redis Cluster in cui è attivata la crittografia in transito.
Autorità di certificazione (CA)
Un cluster che utilizza la crittografia in transito ha autorità di certificazione (CA) che autenticano i certificati delle macchine nel cluster. Memorystore for Redis Cluster ti consente di scegliere una modalità CA server. La modalità CA determina quale gerarchia di CA viene utilizzata per emettere i certificati digitali per un cluster.
Memorystore for Redis Cluster offre le seguenti modalità CA:
- CA per istanza: Memorystore for Redis Cluster esegue il provisioning di ogni cluster con una propria infrastruttura CA unica. Per accedere in modo sicuro a un cluster, devi configurare i client in modo che considerino attendibile questa gerarchia di CA. Ciò comporta il download e l'installazione dei certificati CA su ciascun client che accede al cluster.
- CA condivisa: un'infrastruttura CA gestita e regionalizzata. Per ogni regione, puoi scaricare un singolo bundle di certificati CA. Questo pacchetto è valido per tutti i cluster che si trovano in una regione che configuri per utilizzare la CA condivisa. L'utilizzo di una CA condivisa riduce il numero di certificati che i client devono gestire. Questa modalità CA è disponibile in anteprima.
- CA gestita dal cliente: utilizza il tuo pool di CA ospitato su Certificate Authority Service. Se le tue applicazioni client sono configurate per considerare attendibile questa CA, le tue applicazioni possono connettersi a un cluster senza che tu debba scaricare e installare certificati CA aggiuntivi. In questo modo hai un maggiore controllo e puoi soddisfare i requisiti di conformità. Questa modalità CA è disponibile in anteprima.
Rotazione del certificato del server
Ogni settimana, Memorystore for Redis Cluster esegue la rotazione dei certificati lato server per i cluster che utilizzano le modalità CA per istanza, CA condivisa e CA gestita dal cliente. I nuovi certificati del server si applicano solo alle nuove connessioni e le connessioni esistenti rimangono attive durante questa rotazione.
Oltre alla rotazione settimanale dei certificati lato server eseguita da Memorystore for Redis Cluster, per la modalità CA gestita dal cliente puoi ruotare i certificati on demand.
Impatto sulle prestazioni dell'abilitazione della crittografia in transito
La funzionalità di crittografia in transito cripta e decripta i dati, il che comporta un sovraccarico di elaborazione. Di conseguenza, l'attivazione della crittografia in transito può ridurre le prestazioni dei tuoi client. Inoltre, quando utilizzi la crittografia in transito, ogni connessione aggiuntiva comporta un costo delle risorse associato.
Per determinare la latenza associata all'utilizzo della crittografia in transito, confronta il rendimento dei tuoi client. A questo scopo, confronta il rendimento di un cluster con la crittografia in transito abilitata con quello di un cluster con la crittografia in transito disattivata.
Linee guida per migliorare il rendimento
Per migliorare le prestazioni di un cluster, segui queste linee guida:
Se possibile, riduci il numero di connessioni client. Anziché creare connessioni on demand di breve durata, stabilisci e riutilizza connessioni di lunga durata.
Aumenta le dimensioni del cluster.
Aumenta le risorse della CPU della macchina host del tuo cliente. Le macchine client con un numero maggiore di CPU offrono prestazioni migliori. Se utilizzi una VM Compute Engine, ti consigliamo di utilizzare cluster ottimizzati.
Ridurre le dimensioni del payload associate al traffico del tuo cliente. Payload più grandi richiedono più round trip.