Questa pagina spiega come gestire la crittografia in transito per il cluster.
Per una panoramica della crittografia in transito per Memorystore for Redis Cluster, consulta la sezione Informazioni sulla crittografia in transito.
Puoi attivare le crittografie in transito solo quando crei inizialmente il cluster Memorystore. La crittografia in transito non può essere disattivata per i cluster creati in questo modo.
Crea un'istanza con la crittografia in transito
Console
Segui i passaggi descritti in Creare un'istanza Memorystore for Redis Cluster.
gcloud
Per creare un cluster Redis con crittografia in transito, esegui il comando create
:
gcloud redis clusters create INSTANCE_ID \ --region=REGION_ID \ --network=NETWORK \ --replica-count=REPLICA_COUNT \ --node-type=NODE_TYPE \ --shard-count=SHARD_COUNT \ --transit-encryption-mode=server-authentication
Sostituisci quanto segue:
INSTANCE_ID è l'ID dell'istanza Memorystore for Redis Cluster 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.
NETWORK è la rete utilizzata per creare l'istanza. Deve utilizzare il formato:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID
. L'ID di rete utilizzato qui deve corrispondere all'ID di rete utilizzato dal criterio di connessione al servizio. In caso contrario, l'operazionecreate
non va a buon fine.REPLICA_COUNT è il numero di repliche che vuoi (per shard). I valori accettati sono
0
,1
e2
.NODE_TYPE è il tipo di nodo scelto. I valori accettati sono:
redis-shared-core-nano
redis-standard-small
redis-highmem-medium
redis-highmem-xlarge
SHARD_COUNT determina il numero di shard nella tua istanza. Il numero di shard determina la capacità di memoria totale per l'archiviazione dei dati del cluster. Per visualizzare ulteriori dettagli sulla specifica del cluster, consulta Specifica di cluster e nodi.
Ad esempio:
gcloud redis clusters create my-instance \ --region=us-central1 \ --network=projects/my-project-335118/global/networks/default \ --replica-count=1 \ --node-type=redis-highmem-medium \ --shard-count=3 \ --transit-encryption-mode=server-authentication
Scaricare le autorità di certificazione
Se la crittografia dei dati in transito è abilitata sul cluster, vengono visualizzati i certificati delle
autorità di certificazione quando esegui il comando
get-cluster-certificate-authority
:
gcloud redis clusters get-cluster-certificate-authority INSTANCE_ID
Sostituisci quanto segue:
- INSTANCE_ID è l'ID dell'istanza Memorystore for Redis Cluster.
Il corpo della risposta include i certificati per tutte le autorità di certificazione applicabili.
Installare le autorità di certificazione sul client
Devi installare le autorità di certificazione del cluster sul client di connessione. L'installazione della CA può variare a seconda del tipo di client. I passaggi seguenti spiegano come installare una CA su una VM Linux di 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 rispettare 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 esserci spazi davanti a qualsiasi riga delle CA.
Ogni autorità di certificazione deve essere aggiunta su una nuova riga. Non devono esistere righe vuote tra le CA.
Configurare il client per la crittografia in transito
Il client che utilizzi per connetterti al cluster deve supportare TLS o utilizzare un sidecar di terze parti per abilitare TLS.
Se il client supporta TLS, configuralo in modo che punti all'IP dell'istanza Redis,
alla porta 6379
e al file contenente l'autorità di certificazione. Se scegli di
utilizzare un sidecar, ti consigliamo di utilizzare Stunnel.
Connettersi in modo sicuro a un cluster Memorystore utilizzando Stunnel e telnet
Per istruzioni sull'utilizzo di Stunnel per attivare la crittografia in transito su un client Compute Engine, consulta Connettersi in modo sicuro a un'istanza Memorystore utilizzando Stunnel e telnet.
Gestisci la rotazione dell'autorità di certificazione
Devi installare tutte le autorità di certificazione scaricabili sui client che accedono al tuo cluster.
L'installazione delle nuove CA, oltre a quelle precedenti, una volta disponibili è il modo più semplice per assicurarsi di disporre delle CA necessarie quando si verifica l'evento di rotazione delle autorità di certificazione.
Per assicurarti di avere la CA richiesta, devi verificare che le CA salvate nel file client corrispondano a quelle mostrate durante il download delle autorità di certificazione. Durante la rotazione, sia le nuove CA sia quelle precedenti sono attive per garantire tempi di inattività minimi.
Esempio di codice per la connessione 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 della libreria client per la crittografia in transito.