Puedes encriptar de forma segura todos los datos que se mueven entre tus aplicaciones cliente y Memorystore para Valkey. Esto se conoce como encriptación en tránsito. Cuando se usa la encriptación en tránsito, todo el tráfico de Valkey se encripta a través del protocolo de seguridad de la capa de transporte (TLS). Esto garantiza que todos los datos que se mueven entre tus aplicaciones y Memorystore para Valkey permanezcan confidenciales y sin alteraciones.
Cuando se habilita la encriptación en tránsito, los clientes de Valkey se comunican exclusivamente a través de una conexión segura. Se bloquean los clientes de Valkey que no están configurados para TLS. Si eliges usar la encriptación en tránsito, eres responsable de garantizar que tu cliente de Valkey pueda usar el protocolo TLS.
Las instancias que usan la encriptación en tránsito tienen autoridades certificadas (AC). Usas las AC para autenticar los certificados de las máquinas en tus instancias.
Un modo de AC que puedes usar es una AC por instancia. Memorystore para Valkey aprovisiona cada instancia con su propia infraestructura de AC única. Para acceder a una instancia de forma segura, debes configurar tu aplicación cliente para que confíe en esta jerarquía de AC. Esto implica descargar e instalar certificados de AC en cada cliente que acceda a la instancia.
Crea una instancia que use una AC por instancia
Console
Sigue los pasos en Crea instancias.
gcloud
Para crear una instancia que use una AC por instancia, usa el gcloud memorystore instances create comando.
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
Realiza los siguientes reemplazos:
INSTANCE_ID: Es el ID de la instancia que estás creando. El ID de la instancia debe tener entre 1 y 63 caracteres, y usar solo letras minúsculas, números o guiones. Debe comenzar con una letra minúscula y terminar con una letra minúscula o un número.
REGION_ID: Es la región en la que deseas que se ubique la instancia.
PROJECT_ID: Es el ID del proyecto en el que deseas crear la instancia.
NETWORK_ID: Es el ID de la red que deseas usar para crear la instancia.
REPLICA_COUNT: Es la cantidad de réplicas (por fragmento). Los valores aceptados son
0-5.NODE_TYPE: Es el tipo de nodo para la instancia.
SHARD_COUNT: Es la cantidad de fragmentos en la instancia. La cantidad de fragmentos determina la capacidad total de memoria para almacenar datos de instancias. Para obtener más información sobre las especificaciones de la instancia, consulta Especificaciones de instancias y nodos.
ENGINE_VERSION: Es la versión de la instancia. Los valores aceptados para este parámetro son
VALKEY_7_2,VALKEY_8_0yVALKEY_9_0. Si no especificas un valor,VALKEY_9_0es el valor predeterminado.MODE: Determina si la instancia tiene el modo de clúster habilitado o el modo de clúster inhabilitado. Si se omite este campo, la instancia se establece de forma predeterminada en el modo de clúster habilitado. Para obtener más información, consulta Habilita e inhabilita el modo de clúster.
El parámetro server-ca-mode representa el modo de AC para la instancia. Para una AC por instancia, google-managed-per-instance-ca es el valor del parámetro. Si no usas este parámetro, el modo de AC predeterminado es por instancia.
Por ejemplo:
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
Descarga las AC
Si habilitas la encriptación en tránsito para una instancia, cuando uses el
get-certificate-authority
comando, aparecerán los certificados de las AC.
gcloud memorystore instances get-certificate-authority INSTANCE_ID
Reemplaza INSTANCE_ID por el ID de la instancia.
El cuerpo de la respuesta incluye certificados para todas las AC aplicables.
Instala certificados de AC en el cliente
Debes instalar los certificados de AC en el cliente que se conecta a la instancia. Según el tipo de cliente, la instalación del certificado de la AC puede variar.
Para instalar un certificado de la AC en una VM de Linux de Compute Engine, haz lo siguiente:
Usa SSH para conectarte a un cliente de Linux de Compute Engine.
En el cliente, usa el siguiente comando para crear un archivo
server_ca.pem:sudo vim /tmp/server_ca.pem
Descarga las AC y pégalas en el
server_ca.pemarchivo.Debes dar formato al texto de las AC correctamente. El archivo
server_ca.pempuede aparecer de la siguiente manera:-----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-----
Para dar formato al texto del archivo correctamente, usa los siguientes lineamientos:
Copia toda la AC, incluidas las líneas
-----BEGIN CERTIFICATE-----y
-----END CERTIFICATE-----.Asegúrate de que se haya justificado a la izquierda todo el texto de las AC. Verifica que no aparezcan espacios delante de ninguna línea de las AC.
Agrega cada AC en una línea nueva. Verifica que no haya líneas en blanco entre las AC.
Configura el cliente para la encriptación en tránsito
El cliente que usas para conectarte a la instancia debe admitir TLS o usar un archivo adicional de terceros para habilitar TLS.
Si tu cliente admite TLS, configúralo para que apunte a la dirección IP de la instancia, el puerto 6379 y el archivo que contiene la AC. Puedes ver ejemplos de cómo conectarte a una instancia con el modo de clúster habilitado o inhabilitado en Memorystore para Valkey que tiene habilitada la encriptación en tránsito.
Administra la rotación de AC
Te recomendamos que instales todos los certificados de AC descargables en los clientes que acceden a la instancia.
Instalar los certificados de AC más recientes de forma periódica garantiza que tengas los certificados necesarios cuando Memorystore para Valkey rote las AC. Durante esta rotación, las AC existentes y las nuevas están activas.
Muestra de código para conectarse a una instancia que usa encriptación en tránsito
Para ver una muestra de código sobre cómo configurar una biblioteca cliente para conectarse a una instancia que usa encriptación en tránsito, consulta Muestra de código para la autenticación de IAM y la encriptación en tránsito.