Cette page explique comment créer une instance Redis faisant appel au protocole TLS, et fournit des instructions sur les tâches requises pour gérer une instance Redis où TLS est activé.
Pour plus d'informations sur le comportement général et les avantages de TLS, consultez la page Chiffrement TLS.
Pour obtenir la liste des autorisations dont l'utilisateur a besoin pour effectuer les tâches de gestion sur cette page, consultez la section Autorisations TLS.
Créer une instance Redis avec TLS
Console
Sélectionnez Activer Transport Layer Security (TLS) lors de la création d'une instance Redis.
gcloud
Pour créer une instance Redis dotée de TLS, saisissez la commande suivante, en remplaçant variables par les valeurs appropriées :
gcloud beta redis instances create instance-id --transit-encryption-mode=SERVER_AUTHENTICATION --size=size --region=region-id
Où :
--transit-encryption-mode=SERVER_AUTHENTICATION
active TLS sur votre instance.
Télécharger l'autorité de certification
Console
Accédez à la page Memorystore pour Redis dans Cloud Console.
Affichez la page Détails de l'instance en cliquant sur votre ID d'instance.
Cliquez sur le bouton Télécharger ou Tout télécharger sous Certificat du serveur TLS.
gcloud
Si TLS est activé sur votre instance, le contenu de l'autorité de certification s'affiche lorsque vous exécutez la commande suivante :
gcloud beta redis instances describe instance-id --region=region
Le corps de la réponse inclura toutes les autorités de certification applicables. Voici un exemple d'autorité de certification (CA) pour Memorystore pour Redis:
-----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-----
Copiez et enregistrez temporairement toutes les autorités de certification afin de pouvoir les installer sur les clients accédant à l'instance Redis.
Installer une autorité de certification sur votre client
Vous devez installer l'autorité de certification de votre instance Redis sur le client connecté. L'installation de l'autorité de certification peut varier en fonction du type de client. Les étapes ci-dessous expliquent comment installer une autorité de certification sur une VM Compute Engine Linux.
Connectez-vous en SSH à votre client Linux Compute Engine. Ce client doit se trouver dans la même région que l'instance Redis pour pouvoir vous y connecter.
Créez un fichier nommé
server_ca.pem
sur votre client en exécutant la commande suivante :sudo vim /tmp/server_ca.pem
Téléchargez l'autorité de certification et collez-la dans le fichier
server_ca.pem
créé précédemment.Le format de l'autorité de certification doit être correct :
- Copiez l'intégralité de l'autorité de certification, y compris les lignes
-----BEGIN CERTIFICATE-----
et-----END CERTIFICATE-----
. - Assurez-vous que le texte de l'autorité de certification est complètement justifié. Il ne doit pas y avoir d'espace devant une ligne de l'autorité de certification.
- Copiez l'intégralité de l'autorité de certification, y compris les lignes
Configurer votre client pour TLS
Le client avec lequel vous vous connectez à l'instance Redis 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 de votre instance Redis, le port 6378
et le fichier contenant l'autorité de certification. Si vous choisissez d'utiliser un side-car, nous vous recommandons d'utiliser Stunnel.
Configuration supplémentaire du client
Certains clients n'acceptent pas les certificats autosignés par défaut et nécessitent une configuration supplémentaire.
Par exemple, Letuce est un client Java populaire pour Redis. La documentation de ce dernier fournit un exemple de connexion native à TLS (voir l'exemple 47).
Étant donné que le gestionnaire de sécurité Java n'autorise pas par défaut les certificats autosignés, une option supplémentaire doit être spécifiée dans la construction de l'URI Redis .withVerifyPeer(false)
.
Se connecter en toute sécurité à une instance Redis à l'aide de Stunnel et de telnet
Pour obtenir des instructions sur l'utilisation de Stunnel afin d'activer le protocole TLS sur un client Compute Engine, consultez la section Se connecter en toute sécurité à une instance Redis à l'aide de Stunnel et de telnet.
Gérer la rotation de l'autorité de certification
Vous devez installer toutes les autorités de certification téléchargeables sur les clients accédant à l'instance Redis.
L'installation de la nouvelle autorité de certification, en plus de l'autorité de certification précédente une fois disponible, est le moyen le plus simple de vous assurer que vous disposez de l'autorité de certification nécessaire lorsque l'événement de rotation de l'autorité de certification se produit.
Une fois qu'une nouvelle autorité de certification a été ajoutée, exécutez la commande suivante pour afficher son contenu :
gcloud beta instances describe instance-id --region=region
Ensuite, copiez et collez l'autorité de certification la plus récente dans le fichier de votre client où vous avez enregistré l'autorité de certification précédente.
Le fichier doit respecter le format suivant : L'ordre des autorités de certification n'a pas d'importance :
-----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 vous assurer que vous disposez de l'autorité de certification requise, vous devez vous assurer que les autorités de certification enregistrées dans votre fichier client correspondent à celles affichées par gcloud redis
instances describe
. Une fois qu'un événement de rotation a commencé, il existe plusieurs autorités de certification pour garantir un délai suffisant pour les rotations avec un temps d'arrêt minimal.
Étape suivante
- Consultez la page Présentation du chiffrement TLS.
- Découvrez la fonctionnalité Redis AUTH de Memorystore pour Redis.