Gerenciar a criptografia em trânsito

Esta página explica como gerenciar a criptografia em trânsito para sua instância.

Para ter uma visão geral da criptografia em trânsito do Memorystore para Valkey, consulte Sobre a criptografia em trânsito.

Só é possível ativar a criptografia em trânsito quando você cria a instância do Memorystore para Valkey. A criptografia em trânsito não pode ser desativada para instâncias criadas dessa forma.

Criar uma instância com criptografia em trânsito

Console

Siga as etapas em Criar uma instância do Memorystore para Valkey.

gcloud

Para criar uma instância da Valkey com criptografia em trânsito, execute o comando create:

gcloud beta memorystore instances create INSTANCE \
--location=REGION_ID \
--psc-auto-connections=network=projects/PROJECT_ID/global/networks/NETWORK_ID,projectId=PROJECT_ID \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--transit-encryption-mode=server-authentication

Substitua:

  • INSTANCE é o ID da instância do Memorystore para Valkey que você está criando. O ID da instância precisa ter de 1 a 63 caracteres e usar apenas letras minúsculas, números ou hifens. Ele precisa começar com uma letra minúscula e terminar com uma letra minúscula ou um número.

  • REGION_ID é a região em que você quer colocar a instância.

  • PROJECT_ID é o ID do projeto em que você quer criar a instância.

  • NETWORK_ID é o ID da rede que você quer usar para criar a instância.

  • REPLICA_COUNT é o número desejado de réplicas (por fragmento). Os valores aceitos são 0, 1 e 2.

  • NODE_TYPE é o tipo de nó escolhido. Os valores aceitos são:

    • shared-core-nano
    • standard-small
    • highmem-medium
    • highmem-xlarge

    Para mais detalhes sobre tipos de nós e configurações de instância, consulte Especificação de instâncias e nós.

  • SHARD_COUNT determina o número de fragmentos na sua instância. A contagem de fragmentos determina a capacidade total de memória para armazenar dados de instância. Para mais detalhes sobre a especificação da instância, consulte Especificação de instância e de nó.

Exemplo:

gcloud beta memorystore instances create my-instance \
--location=us-central1 \
--psc-auto-connections=network=projects/PROJECT_ID/global/networks/NETWORK_ID,projectId=PROJECT_ID \
--replica-count=1 \
--node-type=highmem-medium \
--shard-count=3 \
--transit-encryption-mode=server-authentication

Fazer o download das autoridades certificadoras

Se a criptografia em trânsito estiver ativada na sua instância, você vai encontrar os certificados da autoridade de certificação ao executar o comando get-certificate-authority:

gcloud beta memorystore instances get-certificate-authority INSTANCE

Substitua:

  • INSTANCE é o ID da instância do Memorystore para Valkey.

O corpo da resposta inclui certificados para todas as autoridades de certificação aplicáveis.

Instalar autoridades certificadoras no cliente

Você precisa instalar as autoridades de certificação da sua instância no cliente conectado. A instalação de CA pode variar dependendo do tipo de cliente. As etapas abaixo explicam como instalar uma AC em uma VM do Compute Engine Linux.

  1. Conecte-se com SSH ao seu cliente Linux no Compute Engine.

  2. Crie um arquivo chamado server_ca.pem no cliente:

    sudo vim /tmp/server_ca.pem
    
  3. Faça o download das autoridades certificadoras e cole-as no arquivo server_ca.pem criado anteriormente.

    O texto das ACs precisa ser formatado corretamente. O arquivo server_ca.pem vai ficar assim:

    -----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-----
    

    Seu arquivo, como mostrado no exemplo anterior, precisa usar as seguintes diretrizes:

    • Copie toda a autoridade de certificação, incluindo as linhas -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----.

    • Verifique se o texto das ACs está totalmente justificado. Não deve haver espaços na frente de qualquer linha das ACs.

    • Cada autoridade certificadora precisa ser adicionada em uma nova linha. Não deve haver linhas em branco entre as CAs.

Configurar o cliente para criptografia em trânsito

O cliente usado para se conectar à instância precisa oferecer suporte a TLS ou usar um sidecar de terceiros para ativar o TLS.

Se o cliente for compatível com TLS, configure-o para apontar para o IP, a porta 6379 e o arquivo que contém a autoridade de certificação da instância do Valkey. Se você optar por usar um arquivo secundário, recomendamos usar o Stunnel.

Conectar-se com segurança a uma instância do Memorystore usando stunnel e telnet

Para instruções sobre como usar o Stunnel para ativar a criptografia em trânsito em um cliente do Compute Engine, consulte Como se conectar a uma instância do Memorystore com segurança usando o stunnel e o telnet.

Gerenciar a rotação da autoridade certificadora

É necessário instalar todas as autoridades de certificação transferíveis para download nos clientes que acessam sua instância.

Instalar as novas ACs, além das anteriores, quando elas estiverem disponíveis é a forma mais simples de garantir que você tenha as ACs necessárias quando o evento de rotação da Autoridade de certificação ocorrer.

Tudo que você precisa fazer para garantir que a CA necessária seja garantir que as CAs salvas no seu arquivo cliente correspondam às mostradas ao fazer o download das autoridades certificadoras. As ACs novas e antigas ficam ativas durante a rotação para garantir o mínimo de inatividade.

Exemplo de código para se conectar a uma instância que usa criptografia em trânsito

Para conferir um exemplo de código compatível com Valkey sobre como configurar uma biblioteca de cliente para se conectar a uma instância que usa criptografia em trânsito, consulte Exemplo de código da biblioteca de cliente de criptografia em trânsito.