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. Grâce au chiffrement en transit, tout le trafic Redis est chiffré via le 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.
Les clusters qui utilisent le chiffrement en transit disposent d'autorités de certification. Vous utilisez les autorités de certification pour authentifier les certificats des machines de vos clusters.
Un mode d'autorité de certification que vous pouvez utiliser est une 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 votre application cliente pour qu'elle approuve cette hiérarchie d'autorités de certification. Pour ce faire, vous devez télécharger et installer des certificats d'autorité de certification sur chaque client qui accède au cluster.
Créer un cluster qui utilise une autorité de certification par instance
Console
Suivez les étapes décrites dans Créer des instances.
gcloud
Pour créer un cluster qui utilise une autorité de certification par instance, utilisez la gcloud redis clusters create commande.
gcloud redis clusters create CLUSTER_ID \ --region=REGION_ID \ --network=NETWORK \ --replica-count=REPLICA_COUNT \ --node-type=NODE_TYPE \ --shard-count=SHARD_COUNT \ --transit-encryption-mode=server-authentication \ --server-ca-mode=google-managed-per-instance-ca
Effectuez les remplacements suivants :
CLUSTER_ID : ID du cluster que vous créez. L'ID du cluster doit comporter entre 1 et 63 caractères, et ne contenir que des lettres minuscules, des chiffres ou des traits d'union. Il doit commencer par une lettre minuscule et se terminer par une lettre minuscule ou un chiffre.
REGION_ID : région dans laquelle vous souhaitez que le cluster soit situé.
NETWORK : réseau que vous utilisez pour créer le cluster. Il doit utiliser le format suivant :
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. L'ID de réseau que vous utilisez doit correspondre à celui utilisé par la stratégie de connexion de service. Sinon, vous ne pouvez pas créer le cluster.REPLICA_COUNT : nombre d'instances répliquées (par segment). Les valeurs acceptées sont comprises entre
0et5.NODE_TYPE : type de nœud. Les valeurs acceptées sont les suivantes :
redis-shared-core-nanoredis-standard-smallredis-highmem-mediumredis-highmem-xlarge
SHARD_COUNT : nombre de segments dans le cluster. Le nombre de segments détermine la capacité de mémoire totale pour stocker les données du cluster. Pour en savoir plus sur les spécifications du cluster, consultez Spécifications du cluster et des nœuds.
Le paramètre server-ca-mode représente le mode d'autorité de certification pour le cluster. Pour une autorité de certification par instance, google-managed-per-instance-ca est la valeur du paramètre. Si vous n'utilisez pas ce paramètre, le mode d'autorité de certification par défaut est par instance.
Exemple :
gcloud redis clusters create my-cluster \ --region=us-central1 \ --network=projects/my-network-project/global/networks/default \ --replica-count=1 \ --node-type=redis-highmem-medium \ --shard-count=3 \ --transit-encryption-mode=server-authentication \ --server-ca-mode=google-managed-per-instance-ca
Télécharger les autorités de certification
Si vous activez le chiffrement en transit pour un cluster, les certificats des autorités de certification s'affichent lorsque vous utilisez la commande get-cluster-certificate-authority.
gcloud redis clusters get-cluster-certificate-authority CLUSTER_ID
Remplacez CLUSTER_ID par l'ID du cluster.
Le corps de la réponse inclut les certificats de toutes les autorités de certification applicables.
Installer des certificats d'autorité de certification sur le client
Vous devez installer les certificats d'autorité de certification sur le client qui se connecte au cluster. L'installation du certificat d'autorité de certification peut varier en fonction du type de client.
Pour installer un certificat d'autorité de certification sur une VM Linux Compute Engine, procédez comme suit :
Connectez-vous en SSH à un client Linux Compute Engine.
Dans le client, utilisez la commande suivante pour créer un fichier
server_ca.pem:sudo vim /tmp/server_ca.pem
Téléchargez les autorités de certification et collez-les dans le
server_ca.pemfichier.Vous devez mettre en forme correctement le texte des autorités de certification. Le fichier
server_ca.pempeut se présenter comme suit :-----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1 MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H 8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0 3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh 1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3 84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7 xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn 662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g lEtWs4V/YBhKA56CW6ASZS8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkYjg4 ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdhMzM4NmIwZmU4MTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE4MjEzMTI3WhcNMzAwOTE2 MjEzMjI3WjCBhTEtMCsGA1UELhMkYjg4ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdh MzM4NmIwZmU4MTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEO4Zs/So5DA6wtftkAElD 8BVREob4gby2mGBYAtd3JJQKFC+zIqCf2DhrWihrCeXhsdsZqJUF16E3MsCCWS2T UWt6T37zObU2fzKmb7X+TSw1tunIUcIXwWzoMhqdGrIvfI9guMbF+KssQIjDMs9M G/hY6cY1NB5THOxXqcxzYrwSKB1EE160EDz4RgKAYQhw7AyVOBBAbWqA5pTEDuUy qpsz+NFpKYTwaeTpzil0xIl0JJS3DOd4G7ZnMG2wFT2j3wt+P0SkAPuOWgmX82iO gGmKoaCh3KcICie/rZRTfsRPjMm+yswRQRDeLB5eoMmH+gbUInVZU0qOJ/7gOYEb AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AF4xlEbwLUK5VjoKlJBtKXLYrYcW+AbQLhZQFP8exE8bOW7p39h+5J0nl3ItPxu6 97BCt1P5TFisba8pBxaExiDsYmjKQrhtizMkzl5h9hGksOgoLlAqaaxfA97+Q9Tq 5gaYChESur/159Z3jiM47obKoZmHfgSgr//7tjII7yZxUGhOjIVffv/fEa4aixqM 0yH1V1s8hWHZeui2VFrHmTxY20IH9ktyedjSUgnFXzsEH6sbR18p0wBZqyrrtURs DaUIeoOHfHgEJM8k/wphSJI0V6pMC6nax2JhexLTRiUsiGTLRDe3VtsdWqS2DLa9 9DmrfdF0eFrfWw3VRNLwwXg= -----END CERTIFICATE-----
Votre fichier, comme illustré dans l'exemple précédent, doit respecter les consignes suivantes :
Copiez l'intégralité de l'autorité de certification, y compris les lignes
-----BEGIN CERTIFICATE-----et
-----END CERTIFICATE-----.Assurez-vous que le texte des autorités de certification est complètement justifié à gauche. Vérifiez qu'aucun espace n'apparaît devant une ligne des autorités de certification.
Ajoutez chaque autorité de certification sur une nouvelle ligne. Vérifiez qu'il n'y a pas de lignes vides entre les autorités de certification.
Configurer le client pour le chiffrement en transit
Le client que vous utilisez pour vous connecter au cluster doit être compatible avec le protocole TLS ou utiliser un side-car tiers pour activer TLS.
Si votre client est compatible avec TLS, configurez-le pour qu'il pointe vers l'adresse IP du cluster, le port 6379 et le fichier contenant l'autorité de certification. Vous pouvez voir un exemple de connexion à un cluster pour lequel le chiffrement en transit est activé.
Gérer la rotation des autorités de certification
Nous vous recommandons d'installer tous les certificats d'autorité de certification téléchargeables sur les clients qui accèdent au cluster.
L'installation périodique des derniers certificats d'autorité de certification vous permet de disposer des certificats nécessaires lorsque Memorystore for Redis Cluster fait tourner les autorités de certification. Lors de cette rotation, les autorités de certification existantes et les nouvelles sont actives.
Exemple de code pour se connecter à un cluster qui utilise le chiffrement en transit
Pour afficher un exemple de code sur la configuration d'une bibliothèque cliente pour se connecter à un cluster qui utilise le chiffrement en transit, consultez Exemple de code de bibliothèque cliente pour le chiffrement en transit.