Protege tus datos con una autoridad certificadora (AC) por instancia

Puedes encriptar de forma segura todos los datos que se mueven entre tus aplicaciones cliente y Memorystore for Redis Cluster. Esto se conoce como encriptación en tránsito. Cuando se usa la encriptación en tránsito, todo el tráfico de Redis 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 for Redis Cluster permanezcan confidenciales y sin alteraciones.

Cuando se habilita la encriptación en tránsito, los clientes de Redis se comunican exclusivamente a través de una conexión segura. Los clientes de Redis que no están configurados para TLS se bloquean. Si eliges usar la encriptación en tránsito, eres responsable de garantizar que tu cliente de Redis pueda usar el protocolo TLS.

Los clústeres que usan la encriptación en tránsito tienen autoridades certificadas (CA). Usas las CA para autenticar los certificados de las máquinas en tus clústeres.

Un modo de CA que puedes usar es una CA por instancia. Memorystore for Redis Cluster aprovisiona cada clúster con su propia infraestructura de CA única. Para acceder a un clúster de forma segura, debes configurar tu aplicación cliente para que confíe en esta jerarquía de CA. Esto implica descargar e instalar certificados de CA en cada cliente que acceda al clúster.

Crea un clúster que use una CA por instancia

Console

Sigue los pasos en Crea instancias.

gcloud

Para crear un clúster que use una CA por instancia, usa el gcloud redis clusters create comando.

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

Realiza los siguientes reemplazos:

  • CLUSTER_ID: Es el ID del clúster que estás creando. El ID del clúster 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 el clúster.

  • NETWORK: Es la red que usas para crear el clúster. Debe usar este formato: projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. El ID de red que usas debe coincidir con el ID de red que usa la política de conexión de servicio. De lo contrario, no podrás crear el clúster.

  • REPLICA_COUNT: Es la cantidad de réplicas (por fragmento). Los valores aceptados son 0-5.

  • NODE_TYPE: Es el tipo de nodo para el clúster.

  • SHARD_COUNT: Es la cantidad de fragmentos en el clúster. La cantidad de fragmentos determina la capacidad total de memoria para almacenar datos del clúster. Para obtener más información sobre las especificaciones del clúster, consulta Especificaciones de clúster y nodo.

El parámetro server-ca-mode representa el modo de CA para el clúster. Para una CA por instancia, google-managed-per-instance-ca es el valor del parámetro. Si no usas este parámetro, el modo de CA predeterminado es por instancia.

Por ejemplo:

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

Descarga las CA

Si habilitas la encriptación en tránsito para un clúster, cuando uses el comando get-cluster-certificate-authority, aparecerán los certificados de las CA.

gcloud redis clusters get-cluster-certificate-authority CLUSTER_ID

Reemplaza CLUSTER_ID por el ID del clúster.

El cuerpo de la respuesta incluye certificados para todas las CA aplicables.

Instala certificados de CA en el cliente

Debes instalar los certificados de CA en el cliente que se conecta al clúster. 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:

  1. Usa SSH para conectarte a un cliente de Linux de Compute Engine.

  2. En el cliente, usa el siguiente comando para crear un archivo server_ca.pem:

    sudo vim /tmp/server_ca.pem
    
  3. Descarga las CA y pégalas en el server_ca.pem archivo.

    Debes dar formato al texto de las CA correctamente. El archivo server_ca.pem puede 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-----
    

    Tu archivo, como se ve en el ejemplo anterior, debe usar los siguientes lineamientos:

    • Copia toda la CA, incluidas las líneas -----BEGIN CERTIFICATE----- y
      -----END CERTIFICATE-----.

    • Asegúrate de que se haya justificado a la izquierda todo el texto de las CA. Verifica que no aparezcan espacios delante de ninguna línea de las CA.

    • Agrega cada CA en una línea nueva. Verifica que no haya líneas en blanco entre las CA.

Configura el cliente para la encriptación en tránsito

El cliente que usas para conectarte al clúster 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 del clúster, el puerto 6379 y el archivo que contiene la CA. Puedes ver un ejemplo de cómo conectarte a un clúster que tiene habilitada la encriptación en tránsito.

Administra la rotación de CA

Te recomendamos que instales todos los certificados de CA descargables en los clientes que acceden al clúster.

La instalación periódica de los certificados de CA más recientes garantiza que tengas los certificados necesarios cuando Memorystore for Redis Cluster rote las CA. Durante esta rotación, las CA existentes y las nuevas están activas.

Muestra de código para conectarse a un clúster que usa encriptación en tránsito

Para ver una muestra de código sobre cómo configurar una biblioteca cliente para conectarse a un clúster que usa encriptación en tránsito, consulta Muestra de código de la biblioteca cliente de encriptación en tránsito.