Gérer le chiffrement en transit

Cette page explique comment gérer le chiffrement en transit pour votre cluster.

Pour obtenir une présentation du chiffrement en transit pour Memorystore pour Redis Cluster, consultez À propos du chiffrement en transit.

Vous ne pouvez activer le chiffrement en transit que lors de la création initiale de votre cluster Memorystore. Il n'est pas possible de désactiver le chiffrement en transit pour les clusters créés de cette manière.

Créer une instance avec chiffrement en transit

Console

Suivez la procédure décrite dans Créer une instance Memorystore pour Redis Cluster.

gcloud

Pour créer un cluster Redis avec chiffrement en transit, exécutez la commande create :

gcloud redis clusters create INSTANCE_ID \
--region=REGION_ID \
--network=NETWORK \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--transit-encryption-mode=server-authentication

Remplacez les éléments suivants :

  • INSTANCE_ID est l'ID de l'instance Memorystore pour Redis Cluster que vous créez. L'ID d'instance doit comporter entre 1 et 63 caractères (lettres minuscules, chiffres ou traits d'union). Il doit commencer par une lettre minuscule et se terminer par une lettre minuscule ou un chiffre.

  • REGION_ID est la région dans laquelle vous souhaitez placer l'instance.

  • NETWORK est le réseau utilisé pour créer votre instance. Il doit utiliser le format suivant : projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. L'ID de réseau utilisé ici doit correspondre à celui utilisé par la règle de connexion au service. Sinon, l'opération create échoue.

  • REPLICA_COUNT correspond au nombre d'instances répliquées souhaité (par segment). Les valeurs acceptées sont 0, 1 et 2.

  • NODE_TYPE est le type de nœud choisi. Les valeurs acceptées sont les suivantes :

    • redis-shared-core-nano
    • redis-standard-small
    • redis-highmem-medium
    • redis-highmem-xlarge
  • SHARD_COUNT détermine le nombre de segments dans votre instance. Le nombre de partitions détermine la capacité de mémoire totale pour stocker les données du cluster. Pour en savoir plus sur la spécification du cluster, consultez Spécification du cluster et des nœuds.

Exemple :

gcloud redis clusters create my-instance \
--region=us-central1 \
--network=projects/my-project-335118/global/networks/default \
--replica-count=1 \
--node-type=redis-highmem-medium \
--shard-count=3 \
--transit-encryption-mode=server-authentication

Télécharger les autorités de certification

Si le chiffrement en transit est activé sur votre cluster, les certificats des autorités de certification s'affichent lorsque vous exécutez la commande get-cluster-certificate-authority :

gcloud redis clusters get-cluster-certificate-authority INSTANCE_ID

Remplacez les éléments suivants :

  • INSTANCE_ID est l'ID de votre instance Memorystore for Redis Cluster.

Le corps de la réponse inclut les certificats de toutes les autorités de certification applicables.

Installer des autorités de certification sur votre client

Vous devez installer les autorités de certification de votre cluster sur le client qui se connecte. L'installation de l'autorité de certification peut varier en fonction du type de client. La procédure ci-dessous explique comment installer une autorité de certification sur une VM Linux Compute Engine.

  1. Connectez-vous en SSH à votre client Linux Compute Engine.

  2. Créez un fichier nommé server_ca.pem sur votre client :

    sudo vim /tmp/server_ca.pem
    
  3. Téléchargez les autorités de certification et collez-les dans le fichier server_ca.pem précédemment créé.

    Le format du texte des autorités de certification doit être correct. Votre fichier server_ca.pem devrait 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-----
    

    Comme dans l'exemple précédent, votre fichier 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. Vous ne devez pas laisser d'espace devant une ligne des autorités de certification.

    • Chaque autorité de certification doit être ajoutée sur une nouvelle ligne. Aucune ligne vide ne doit exister entre les autorités de certification.

Configurer votre client pour le chiffrement en transit

Le client avec lequel vous vous connectez au cluster 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 votre instance Redis. Si vous choisissez d'utiliser un side-car, nous vous recommandons d'utiliser Stunnel.

Se connecter de manière sécurisée à un cluster Memorystore à l'aide de Stunnel et Telnet

Pour obtenir des instructions sur l'utilisation de Stunnel afin d'activer le chiffrement en transit sur un client Compute Engine, consultez la section Se connecter en toute sécurité à une instance Memorystore à l'aide de Stunnel et Telnet.

Gérer la rotation des autorités de certification

Vous devez installer toutes les autorités de certification téléchargeables sur les clients accédant à votre cluster.

L'installation des nouvelles autorités de certification, en plus des précédentes, une fois qu'elles sont disponibles, est le moyen le plus simple de vous assurer que vous disposez des autorités de certification nécessaires lorsque l'événement de rotation de l'autorité de certification se produit.

Vous devez simplement vous assurer que vous disposez de l'autorité de certification requise pour garantir que les autorités de certification enregistrées dans votre fichier client correspondent à celles affichées lorsque vous téléchargez des autorités de certification. Les anciennes et nouvelles autorités de certification sont actives pendant la rotation pour minimiser les temps d'arrêt.

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 de bibliothèque cliente pour le chiffrement en transit.