Gestire la crittografia dei dati in transito

Questa pagina spiega come gestire la crittografia dei dati in transito per l'istanza.

Per una panoramica della crittografia dei dati in transito per Memorystore for Valkey, consulta Informazioni sulla crittografia dei dati in transito.

Puoi attivare la crittografia in transito solo quando crei inizialmente l'istanza Memorystore per Valkey. La crittografia in transito non può essere disattivata per le istanze create in questo modo.

Creare un'istanza con crittografia in transito

Console

Segui i passaggi descritti in Creare un'istanza Memorystore for Valkey.

gcloud

Per creare un'istanza Valkey con crittografia in transito, esegui il 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

Sostituisci quanto segue:

  • INSTANCE è l'ID dell'istanza Memorystore for Valkey che stai creando. L'ID istanza deve contenere da 1 a 63 caratteri e utilizzare solo lettere minuscole, numeri o trattini. Deve iniziare con una lettera minuscola e terminare con una lettera minuscola o un numero.

  • REGION_ID è la regione in cui vuoi posizionare l'istanza.

  • PROJECT_ID è l'ID del progetto in cui vuoi creare la tua istanza.

  • NETWORK_ID è l'ID della rete che vuoi utilizzare per creare la tua istanza.

  • REPLICA_COUNT è il numero di repliche desiderato (per shard). I valori accettati sono 0, 1 e 2.

  • NODE_TYPE è il tipo di nodo scelto. I valori accettati sono:

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

    Per ulteriori dettagli sui tipi di nodi e sulle configurazioni delle istanze, consulta la specifica di istanze e nodi.

  • SHARD_COUNT determina il numero di shard nell'istanza. Il numero di shard determina la capacità di memoria totale per l'archiviazione degli dati delle istanze. Per ulteriori dettagli sulla specifica dell'istanza, consulta Specifiche di istanze e nodi.

Ad esempio:

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

Scarica le autorità di certificazione

Se la crittografia dei dati in transito è abilitata nell'istanza, vedrai i certificati dell'autorità di certificazione quando esegui il comando get-certificate-authority:

gcloud beta memorystore instances get-certificate-authority INSTANCE

Sostituisci quanto segue:

  • INSTANCE è l'ID della tua istanza Memorystore for Valkey.

Il corpo della risposta include i certificati per tutte le autorità di certificazione applicabili.

Installa le autorità di certificazione sul client

Devi installare le autorità di certificazione dell'istanza sul client di connessione. L'installazione del certificato CA può variare in base al tipo di client. I passaggi riportati di seguito spiegano come installare una CA su una VM Linux Compute Engine.

  1. Connettiti tramite SSH al client Linux di Compute Engine.

  2. Crea un file denominato server_ca.pem nel client:

    sudo vim /tmp/server_ca.pem
    
  3. Scarica le autorità di certificazione e incollale nel file server_ca.pem creato in precedenza.

    Il testo delle CA deve essere formattato correttamente. Il file server_ca.pem dovrebbe avere il seguente aspetto:

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

    Il file, come mostrato nell'esempio precedente, deve utilizzare le seguenti linee guida:

    • Copia l'intera autorità di certificazione, incluse le righe -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----.

    • Assicurati che il testo delle CA sia completamente giustificato a sinistra. Non devono essere presenti spazi davanti a nessuna riga delle CA.

    • Ogni autorità di certificazione deve essere aggiunta in una nuova riga. Non devono esserci righe vuote tra le CA.

Configurare il client per la crittografia in transito

Il client che utilizzi per connetterti all'istanza deve supportare TLS o utilizzare un sidecar di terze parti per abilitare TLS.

Se il client supporta TLS, configuralo in modo che indichi l'IP e la porta 6379 dell'istanza Valkey e il file contenente l'autorità di certificazione. Se scegli di utilizzare un sidecar, ti consigliamo di utilizzare Stunnel.

Connettiti in modo sicuro a un'istanza Memorystore utilizzando Stunnel e telnet

Per istruzioni sull'utilizzo di Stunnel per attivare la crittografia in transito su un client Compute Engine, consulta Eseguire una connessione sicura a un'istanza Memorystore utilizzando Stunnel e telnet.

Gestire la rotazione dell'autorità di certificazione

Devi installare tutte le autorità di certificazione scaricabili sui client che accedono alla tua istanza.

L'installazione delle nuove CA, oltre a quelle precedenti, non appena diventano disponibili è la forma più semplice per assicurarti di disporre delle CA necessarie quando si verifica l'evento di rotazione delle autorità di certificazione.

Per assicurarti di disporre dell'autorità di certificazione richiesta, devi solo verificare che le autorità di certificazione salvate nel file del client corrispondano a quelle mostrate durante il download delle autorità di certificazione. Sia le CA nuove sia quelle precedenti sono attive durante la rotazione per garantire un tempo di inattività minimo.

Esempio di codice per la connessione a un'istanza che utilizza la crittografia dei dati in transito

Per visualizzare un esempio di codice compatibile con Valkey su come configurare una libreria client per connettersi a un'istanza che utilizza la crittografia in transito, consulta Esempio di codice della libreria client per la crittografia in transito.