Vous pouvez chiffrer de manière sécurisée toutes les données qui transitent entre vos applications clientes et Memorystore pour Redis Cluster. Il s'agit du chiffrement en transit. En utilisant le chiffrement en transit, tout le trafic Redis est chiffré à l'aide du protocole TLS (Transport Layer Security). Cela permet de garantir que toutes les données qui transitent entre vos applications et Memorystore pour Redis Cluster restent confidentielles et intactes.
Lorsque le chiffrement en transit est activé, les clients Redis communiquent exclusivement via une connexion sécurisée. Les clients Redis qui ne sont pas configurés pour TLS sont bloqués. Si vous choisissez d'utiliser le chiffrement en transit, il vous incombe de vous assurer que votre client Redis peut utiliser le protocole TLS.
Voici des exemples de cas d'utilisation du chiffrement en transit :
- Protéger les données sensibles mises en cache : si vous utilisez Memorystore pour Redis Cluster pour stocker des informations à forte valeur ajoutée, telles que des jetons de session, des informations permettant d'identifier personnellement l'utilisateur ou des clés API, le chiffrement en transit empêche les pirates informatiques ayant accès au VPC d'accéder à vos données.
- Respectez les normes du secteur : de nombreux frameworks de sécurité, y compris HIPAA pour les données de santé et PCI DSS pour les données financières, exigent que les informations sensibles soient chiffrées au repos et en transit à des fins de conformité réglementaire et sectorielle.
- Authentification IAM (Identity and Access Management) sécurisée : lorsque vous utilisez l'authentification IAM pour gérer l'accès à vos données, Memorystore pour Redis Cluster nécessite TLS pour éviter l'exposition ou la fuite de jetons d'authentification lors de la transmission.
- Éviter les attaques de type "person-in-the-middle" : TLS authentifie le point de terminaison du serveur à l'aide des autorités de certification. Les CA protègent votre application contre l'usurpation d'identité du serveur et la modification non autorisée des données lorsque les données se déplacent entre votre application et le cluster Memorystore pour Redis.
Prérequis pour le chiffrement en transit
Pour utiliser le chiffrement en transit avec Memorystore for Redis Cluster, vous avez besoin des éléments suivants :
Un client Redis compatible avec TLS ou un side-car TLS tiers.
Certificats CA installés sur la machine cliente qui accède à votre cluster.
Le protocole TLS intégré n'était compatible qu'avec Redis, version 6.0 et ultérieure. Par conséquent, les bibliothèques clientes Redis ne sont pas toutes compatibles avec TLS. Si vous utilisez un client non compatible avec TLS, nous vous recommandons d'utiliser un plug-in tiers qui active TLS pour votre client. Vous trouverez un exemple de connexion à un cluster Memorystore for Redis Cluster pour lequel le chiffrement en transit est activé.
Autorités de certification
Un cluster qui utilise le chiffrement en transit possède des autorités de certification qui authentifient les certificats des machines du cluster. Memorystore for Redis Cluster vous permet de choisir un mode d'autorité de certification du serveur. Le mode CA détermine la hiérarchie d'autorité de certification utilisée pour émettre les certificats numériques d'un cluster.
Memorystore for Redis Cluster propose les modes d'autorité de certification suivants :
- AC par instance : Memorystore for Redis Cluster provisionne chaque cluster avec sa propre infrastructure d'AC unique. Pour accéder à un cluster de manière sécurisée, vous devez configurer vos clients pour qu'ils fassent confiance à cette hiérarchie d'AC. Cela implique de télécharger et d'installer des certificats CA sur chaque client qui accède au cluster.
- CA partagée : infrastructure d'AC gérée et régionalisée. Pour chaque région, vous pouvez télécharger un seul bundle de certificats d'autorité de certification. Ce bundle est valide pour tous les clusters situés dans une région que vous configurez pour utiliser la CA partagée. L'utilisation d'une CA partagée réduit le nombre de certificats que les clients doivent gérer.
- AC gérée par le client : utilisez votre propre pool d'AC hébergé sur Certificate Authority Service. Si vos applications clientes sont configurées pour faire confiance à cette CA, elles peuvent se connecter à un cluster sans que vous ayez à télécharger et installer des certificats CA supplémentaires. Cela vous donne plus de contrôle et vous aide à respecter les exigences de conformité.
Rotation des certificats de serveur
Chaque semaine, Memorystore pour Redis Cluster effectue une rotation des certificats côté serveur pour les clusters qui utilisent les modes d'autorité de certification par instance, d'autorité de certification partagée et d'autorité de certification gérée par le client. Les nouveaux certificats de serveur ne s'appliquent qu'aux nouvelles connexions. Les connexions existantes restent actives pendant cette rotation.
En plus de la rotation hebdomadaire des certificats côté serveur effectuée par Memorystore pour Redis Cluster, vous pouvez alterner les certificats à la demande pour le mode AC gérée par le client.
Impact du chiffrement en transit sur les performances
La fonctionnalité de chiffrement en transit chiffre et déchiffre les données, ce qui entraîne une surcharge de traitement. L'activation du chiffrement en transit peut donc réduire les performances de vos clients. En outre, lorsque vous utilisez le chiffrement en transit, chaque connexion supplémentaire entraîne un coût de ressource associé.
Pour déterminer la latence associée à l'utilisation du chiffrement en transit, comparez les performances de vos clients. Pour ce faire, comparez les performances d'un cluster pour lequel le chiffrement en transit est activé à celles d'un cluster pour lequel il est désactivé.
Consignes pour améliorer les performances
Pour améliorer les performances d'un cluster, suivez les consignes suivantes :
Réduisez le nombre de connexions client lorsque cela est possible. Au lieu de créer des connexions de courte durée à la demande, établissez et réutilisez des connexions de longue durée.
Augmentez la taille du cluster.
Augmentez les ressources de processeur de la machine hôte de votre client. Les machines clientes ayant davantage de processeurs offrent de meilleures performances. Si vous utilisez une VM Compute Engine, nous vous recommandons d'utiliser des clusters optimisés.
Réduisez la taille de la charge utile associée au trafic de votre client. Les charges utiles volumineuses nécessitent davantage d'allers-retours.