Faça a gestão da encriptação em trânsito

Esta página explica como gerir a encriptação em trânsito para a sua instância.

Para uma vista geral da encriptação em trânsito para o Memorystore for Valkey, consulte o artigo Acerca da encriptação em trânsito.

Só pode ativar a encriptação em trânsito quando cria inicialmente a instância do Memorystore for Valkey. Não é possível desativar a encriptação em trânsito para instâncias criadas desta forma.

Crie uma instância com encriptação em trânsito

Consola

Siga os passos em Crie uma instância do Memorystore for Valkey.

gcloud

Para criar uma instância do Valkey com encriptação em trânsito, execute o comando create:

gcloud memorystore instances create INSTANCE \
--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 \
--transit-encryption-mode=server-authentication

Substitua o seguinte:

  • INSTANCE é o ID da instância do Memorystore for Valkey que está a criar. O ID da instância tem de ter entre 1 e 63 carateres e usar apenas letras minúsculas, números ou hífenes. Tem de começar com uma letra minúscula e terminar com uma letra minúscula ou um número.

  • REGION_ID é a região onde quer colocar a instância.

  • PROJECT_ID é o ID do projeto onde quer criar a instância.

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

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

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

    • shared-core-nano
    • standard-small
    • highmem-medium
    • highmem-xlarge
  • 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âncias. Para ver mais detalhes sobre a especificação de instâncias, consulte o artigo Especificação de instâncias e nós.

Por exemplo:

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 \
--transit-encryption-mode=server-authentication

Transfira as autoridades de certificação

Se a encriptação em trânsito estiver ativada na sua instância, vê os certificados da autoridade de certificação quando executa o comando get-certificate-authority:

gcloud memorystore instances get-certificate-authority INSTANCE

Substitua o seguinte:

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

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

Instale autoridades de certificação no seu cliente

Tem de instalar as autoridades de certificação da sua instância no cliente de ligação. A instalação da AC pode variar consoante o tipo de cliente. Os passos abaixo explicam como instalar uma AC numa VM Linux do Compute Engine.

  1. Estabeleça ligação com SSH ao seu cliente Linux do Compute Engine.

  2. Crie um ficheiro denominado server_ca.pem no seu cliente:

    sudo vim /tmp/server_ca.pem
    
  3. Transfira as autoridades de certificação e cole-as no ficheiro server_ca.pem criado anteriormente.

    O texto dos CAs tem de estar formatado corretamente. O ficheiro server_ca.pem deve ter um aspeto semelhante a este:

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

    O ficheiro, conforme visto no exemplo anterior, deve usar as seguintes diretrizes:

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

    • Certifique-se de que o texto dos anúncios de custo zero está totalmente alinhado à esquerda. Não deve haver espaços antes de qualquer linha das ACs.

    • Cada autoridade de certificação deve ser adicionada numa nova linha. Não devem existir linhas em branco entre as ACs.

Configure o cliente para a encriptação em trânsito

O cliente que usa para estabelecer ligação à instância tem de suportar o TLS ou usar um sidecar de terceiros para ativar o TLS.

Se o seu cliente suportar TLS, configure-o para apontar para o IP da instância do Valkey, a porta 6379 e o ficheiro que contém a autoridade de certificação. Se optar por usar um sidecar, recomendamos que use o Stunnel.

Estabeleça ligação segura a uma instância do Memorystore através do Stunnel e do telnet

Para obter instruções sobre como usar o Stunnel para ativar a encriptação em trânsito num cliente do Compute Engine, consulte o artigo Ligue-se em segurança a uma instância do Memorystore através do Stunnel e do telnet.

Faça a gestão da rotação da autoridade de certificação

Deve instalar todas as autoridades de certificação transferíveis nos clientes que acedem à sua instância.

A instalação das novas ACs, além das ACs anteriores, assim que ficarem disponíveis, é a forma mais simples de garantir que tem as ACs necessárias quando ocorre o evento de rotação da autoridade de certificação.

Para se certificar de que tem a CA necessária, basta verificar se as CAs guardadas no ficheiro do cliente correspondem às apresentadas quando transfere as autoridades de certificação. As ACs novas e antigas estão ativas durante a rotação para garantir um tempo de inatividade mínimo.

Exemplo de código para estabelecer ligação a uma instância que usa encriptação em trânsito

Para ver um exemplo de código compatível com o Valkey sobre como configurar uma biblioteca cliente para estabelecer ligação a uma instância que usa encriptação em trânsito, consulte o exemplo de código da biblioteca cliente de encriptação em trânsito.