Puoi criptare in modo sicuro tutti i dati che si spostano tra le applicazioni client e Memorystore for Valkey. Si tratta della crittografia dei dati in transito. Utilizzando la crittografia in transito, tutto il traffico Valkey viene criptato tramite il protocollo Transport Layer Security (TLS). In questo modo, tutti i dati che si spostano tra le tue applicazioni e Memorystore for Valkey rimangono riservati e non vengono manomessi.
Se la crittografia in transito è abilitata, i client Valkey comunicano esclusivamente tramite una connessione sicura. I client Valkey non configurati per TLS vengono bloccati. Se scegli di utilizzare la crittografia dei dati in transito, sei responsabile di assicurarti che il client Valkey possa utilizzare il protocollo TLS.
Le istanze che utilizzano la crittografia in transito hanno autorità di certificazione (CA). Utilizzi le CA per autenticare i certificati delle macchine nelle tue istanze.
Una modalità CA che puoi utilizzare è una CA per istanza. Memorystore for Valkey provisiona ogni istanza con una propria infrastruttura CA univoca. Per accedere a un'istanza in modo sicuro, devi configurare l'applicazione client in modo che consideri attendibile questa gerarchia di CA. Ciò comporta il download e l'installazione dei certificati CA su ciascun client che accede all'istanza.
Crea un'istanza che utilizza una CA per istanza
Console
Segui i passaggi descritti in Crea istanze.
gcloud
Per creare un'istanza che utilizza una CA per istanza, utilizza il comando gcloud memorystore instances create.
gcloud memorystore instances create INSTANCE_ID \
--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 \
--engine-version=ENGINE_VERSION \
--mode=MODE \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca
Effettua le seguenti sostituzioni:
INSTANCE_ID: l'ID dell'istanza 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 che si trovi l'istanza.
PROJECT_ID: l'ID del progetto in cui vuoi creare l'istanza.
NETWORK_ID: l'ID della rete che vuoi utilizzare per creare l'istanza.
REPLICA_COUNT: il numero di repliche (per shard). I valori accettati sono
0-5.NODE_TYPE: il tipo di nodo. I valori accettati sono:
shared-core-nanostandard-smallhighmem-mediumhighmem-xlarge
SHARD_COUNT: il numero di shard nell'istanza. Il conteggio degli shard determina la capacità di memoria totale per l'archiviazione dei dati dell'istanza. Per ulteriori informazioni sulle specifiche delle istanze, consulta Specifiche di istanze e nodi.
ENGINE_VERSION: la versione dell'istanza. I valori accettati per questo parametro sono
VALKEY_7_2,VALKEY_8_0eVALKEY_9_0. Se non specifichi un valore, il valore predefinito èVALKEY_9_0.MODE: determina se l'istanza è in modalità cluster abilitata o modalità cluster disabilitata. Se questo campo viene omesso, l'istanza viene impostata per impostazione predefinita sulla modalità cluster abilitata. Per saperne di più, vedi Attivare e disattivare la modalità cluster.
Il parametro server-ca-mode rappresenta la modalità CA per l'istanza. Per una CA per istanza, google-managed-per-instance-ca è il valore del parametro. Se non utilizzi questo parametro, la modalità CA predefinita è per istanza.
Ad esempio:
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 \
--engine-version=VALKEY_9_0 \
--mode=CLUSTER \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca
Scarica le CA
Se abiliti la crittografia dei dati in transito per un'istanza, quando utilizzi il comando
get-certificate-authority, vengono visualizzati i certificati delle CA.
gcloud memorystore instances get-certificate-authority INSTANCE_ID
Sostituisci INSTANCE_ID con l'ID dell'istanza.
Il corpo della risposta include i certificati per tutte le CA applicabili.
Installare i certificati CA sul client
Devi installare i certificati CA sul client che si connette all'istanza. A seconda del tipo di client, l'installazione del certificato CA potrebbe variare.
Per installare un certificato CA su una VM Linux Compute Engine, segui questi passaggi:
Utilizza SSH per connetterti a un client Linux Compute Engine.
Nel client, utilizza il comando seguente per creare un file
server_ca.pem:sudo vim /tmp/server_ca.pem
Scarica le CA e incollale nel file
server_ca.pem.Devi formattare correttamente il testo delle CA. Il file
server_ca.pempotrebbe essere visualizzato come segue:-----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-----
Per formattare correttamente il testo nel file, utilizza le seguenti linee guida:
Copia l'intera CA, incluse le righe
-----BEGIN CERTIFICATE-----e
-----END CERTIFICATE-----.Assicurati che il testo delle CA sia completamente giustificato a sinistra. Verifica che non siano presenti spazi davanti a nessuna riga delle CA.
Aggiungi ogni CA su una nuova riga. Verifica che non esistano righe vuote tra le CA.
Configura 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 punti all'indirizzo IP dell'istanza, alla porta 6379 e al file contenente la CA. Puoi vedere esempi di come connetterti a un'istanza con modalità cluster abilitata o con modalità cluster disabilitata in Memorystore for Valkey con la crittografia in transito abilitata.
Gestire la rotazione delle CA
Ti consigliamo di installare tutti i certificati CA scaricabili sui client che accedono all'istanza.
L'installazione periodica dei certificati CA più recenti garantisce di disporre dei certificati necessari quando Memorystore for Valkey ruota le CA. Durante questa rotazione, sono attive sia le CA esistenti sia quelle nuove.
Esempio di codice per connettersi a un'istanza che utilizza la crittografia in transito
Per visualizzare un esempio di codice su come configurare una libreria client per connettersi a un'istanza che utilizza la crittografia in transito, consulta Esempio di codice per l'autenticazione IAM e la crittografia in transito.