Vous pouvez chiffrer de manière sécurisée toutes les données qui transitent entre vos applications clientes et Memorystore pour Valkey. Il s'agit du chiffrement en transit. En utilisant le chiffrement en transit, tout le trafic Valkey est chiffré à l'aide du protocole TLS (Transport Layer Security). Cela garantit que toutes les données qui transitent entre vos applications et Memorystore pour Valkey restent confidentielles et intactes.
Lorsque le chiffrement en transit est activé, les clients Valkey communiquent exclusivement via une connexion sécurisée. Les clients Valkey 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 Valkey peut utiliser le protocole TLS.
Les instances qui utilisent le chiffrement en transit disposent d'autorités de certification (CA). Vous utilisez les CA pour authentifier les certificats des machines de vos instances.
Vous pouvez utiliser un mode CA par instance. Memorystore pour Valkey provisionne chaque instance avec sa propre infrastructure d'autorité de certification unique. Pour accéder à une instance de manière sécurisée, vous devez configurer votre application cliente pour qu'elle approuve cette hiérarchie d'AC. Cela implique de télécharger et d'installer des certificats CA sur chaque client qui accède à l'instance.
Créer une instance qui utilise une autorité de certification par instance
Console
Suivez la procédure Créer des instances.
gcloud
Pour créer une instance qui utilise une autorité de certification par instance, exécutez la commande gcloud memorystore instances create.
gcloud memorystore instances create INSTANCE_ID \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_ID/global/networks/NETWORK_ID", "projectId": "PROJECT_ID"}}]}]' \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--engine-version=ENGINE_VERSION \
--mode=MODE \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca
Effectuez les remplacements suivants :
INSTANCE_ID : ID de l'instance que vous créez. L'ID d'instance 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 placer l'instance.
PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instance.
NETWORK_ID : ID du réseau que vous souhaitez utiliser pour créer l'instance.
REPLICA_COUNT : nombre de réplicas (par segment). Les valeurs acceptées sont
0-5.NODE_TYPE : type de nœud. Les valeurs acceptées sont les suivantes :
shared-core-nanostandard-smallhighmem-mediumhighmem-xlarge
SHARD_COUNT : nombre de partitions dans l'instance. Le nombre de shards détermine la capacité de mémoire totale pour stocker les données d'instance. Pour en savoir plus sur les spécifications des instances, consultez Spécifications des instances et des nœuds.
ENGINE_VERSION : version de l'instance. Les valeurs acceptées pour ce paramètre sont
VALKEY_7_2,VALKEY_8_0etVALKEY_9_0. Si vous ne spécifiez pas de valeur, la valeur par défaut estVALKEY_9_0.MODE : détermine si le mode cluster est activé ou désactivé pour l'instance. Si ce champ est omis, l'instance est définie par défaut sur "Mode cluster activé". Pour en savoir plus, consultez Activer et désactiver le mode cluster.
Le paramètre server-ca-mode représente le mode CA pour l'instance. Pour une CA par instance, google-managed-per-instance-ca correspond à la valeur du paramètre. Si vous n'utilisez pas ce paramètre, le mode CA par défaut est "par instance".
Exemple :
gcloud memorystore instances create my-instance \
--location=us-central1 \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/my-project/global/networks/my-network", "projectId": "my-project"}}]}] \
--replica-count=1 \
--node-type=highmem-medium \
--shard-count=3 \
--engine-version=VALKEY_9_0 \
--mode=CLUSTER \
--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 une instance, les certificats des autorités de certification s'affichent lorsque vous utilisez la commande get-certificate-authority.
gcloud memorystore instances get-certificate-authority INSTANCE_ID
Remplacez INSTANCE_ID par l'ID de l'instance.
Le corps de la réponse inclut les certificats de toutes les autorités de certification applicables.
Installer des certificats CA sur le client
Vous devez installer les certificats CA sur le client qui se connecte à l'instance. L'installation du certificat de l'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 fichier
server_ca.pem.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-----
Pour mettre en forme correctement le texte du fichier, suivez 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 CA.
Configurer le client pour le chiffrement en transit
Le client avec lequel vous vous connectez à l'instance doit être compatible avec le protocole TLS ou utiliser un side-car tiers pour activer la compatibilité TLS.
Si votre client est compatible avec le protocole TLS, configurez-le pour qu'il pointe vers l'adresse IP, le port 6379 et le fichier contenant l'autorité de certification de l'instance. Vous trouverez des exemples de connexion à une instance Memorystore pour Valkey en mode cluster activé ou en mode cluster désactivé pour laquelle le chiffrement en transit est activé.
Gérer la rotation des autorités de certification
Nous vous recommandons d'installer tous les certificats CA téléchargeables sur les clients qui accèdent à l'instance.
L'installation périodique des derniers certificats CA vous permet de disposer des certificats nécessaires lorsque Memorystore for Valkey fait tourner les CA. Pendant cette rotation, les autorités de certification existantes et les nouvelles sont actives.
Exemple de code pour se connecter à une instance qui utilise le chiffrement en transit
Pour afficher un exemple de code expliquant comment configurer une bibliothèque cliente pour se connecter à une instance qui utilise le chiffrement en transit, consultez Exemple de code pour l'authentification IAM et le chiffrement en transit.