À propos du chiffrement en transit

Vous pouvez chiffrer de manière sécurisée toutes les données qui transitent entre vos applications clientes et Memorystore for Redis Cluster. Il s'agit du chiffrement en transit. Lorsque vous utilisez le chiffrement en transit, tout le trafic Redis est chiffré à l'aide du protocole TLS (Transport Layer Security). Cela garantit que toutes les données qui transitent entre vos applications et Memorystore for Redis Cluster restent confidentielles et ne sont pas altérées.

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, vous devez 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 mises en cache sensibles : si vous utilisez Memorystore for Redis Cluster pour stocker des informations de grande valeur, telles que des jetons de session, des informations personnelles ou des clés API, le chiffrement en transit empêche les pirates ayant accès au VPC d'accéder à vos données.
  • Respecter les normes du secteur : de nombreux cadres de sécurité, y compris HIPAA pour les soins 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.
  • Sécuriser l'authentification Identity and Access Management (IAM): lorsque vous utilisez l'authentification IAM pour gérer l'accès à vos données, Memorystore for Redis Cluster nécessite TLS pour empêcher l'exposition ou la fuite de jetons d'authentification lors de la transmission.
  • Empêcher les attaques de l'intercepteur : TLS authentifie le point de terminaison du serveur à l'aide d'autorités de certification. Les autorités de certification protègent votre application contre l'usurpation d'identité du serveur et la modification non autorisée des données lors de leur transfert entre votre application et Memorystore for Redis Cluster.

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 :

  1. Un client Redis compatible avec TLS ou un side-car TLS tiers.

  2. Des certificats CA installés sur la machine cliente qui accède à votre cluster.

Le protocole TLS intégré n'était compatible qu'avec Redis, versions 6.0 et ultérieures. 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 pouvez voir un exemple de connexion à un cluster dans Memorystore for Redis Cluster pour lequel le chiffrement en transit est activé.

Autorités de certification

Un cluster qui utilise le chiffrement en transit comporte 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 de serveur. Le mode d'autorité de certification détermine la hiérarchie d'autorités 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 :

  • Autorité de certification par instance: Memorystore for Redis Cluster provisionne chaque cluster avec sa propre infrastructure d'autorité de certification 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'autorités de certification. Pour cela, vous devez télécharger et installer des certificats CA sur chaque client qui accède au cluster.
  • Autorité de certification partagée : infrastructure d'autorité de certification gérée, régionalisée. Pour chaque région, vous pouvez télécharger un seul bundle de certificats CA. Ce bundle est valide pour tous les clusters situés dans une région que vous configurez pour utiliser l'autorité de certification partagée. L'utilisation d'une autorité de certification partagée réduit le nombre de certificats que les clients doivent gérer.
  • Autorité de certification gérée par le client : utilisez votre propre pool d'autorités de certification hébergé sur Certificate Authority Service. Si vos applications clientes sont configurées pour faire confiance à cette autorité de certification, elles peuvent se connecter à un cluster sans que vous ayez à télécharger et installer des certificats CA supplémentaires. Cela vous offre un meilleur contrôle et vous aide à respecter les exigences de conformité.

Rotation des certificats de serveur

Chaque semaine, Memorystore for 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, et les connexions existantes restent actives pendant cette rotation.

En plus de la rotation hebdomadaire des certificats côté serveur effectuée par Memorystore for Redis Cluster, vous pouvez faire pivoter les certificats à la demande pour le mode d'autorité de certification 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 ci-dessous :

  • Si possible, réduisez le nombre de connexions client. 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.