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
e2
.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.
Connettiti tramite SSH al client Linux di Compute Engine.
Crea un file denominato
server_ca.pem
nel client:sudo vim /tmp/server_ca.pem
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.