Utilizzo delle chiavi di crittografia gestite dal cliente (CMEK)

Utilizzando le chiavi di crittografia gestite dal cliente (CMEK), hai il controllo sulle tue chiavi. In questo modo, puoi controllare il livello di protezione, la località, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i limiti crittografici. Invece di Google, sei tu ad avere la proprietà e la gestione delle chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati. Puoi controllare e gestire queste chiavi in Cloud Key Management Service (KMS).

Prima di iniziare

  1. Assicurati di disporre del ruolo Amministratore Memorystore nel tuo account utente.

    Vai alla pagina IAM

Flusso di lavoro per creare un'istanza che utilizza CMEK

  1. Crea un portachiavi e una chiave nella posizione in cui vuoi che si trovi l'istanza Memorystore for Valkey.

  2. Copia o annota il nome della chiave (KEY_NAME), la posizione della chiave e il nome del portachiavi (KEY_RING). Ti serviranno queste informazioni quando concederai l'accesso alla chiave al account di servizio.

  3. Concedi l'accesso alla chiave al account di servizio Memorystore for Valkey.

  4. Vai a un progetto e crea un'istanza Memorystore for Valkey con CMEK abilitata nella stessa regione della chiave automatizzata e della chiave.

La tua istanza Memorystore for Valkey è ora abilitata con CMEK.

Crea una chiave automatizzata e una chiave

Crea una chiave automatizzata e una chiave. Entrambi devono trovarsi nella stessa regione dell'istanza Memorystore for Valkey. La chiave può provenire da un progetto diverso, purché si trovi nella stessa regione. Inoltre, la chiave deve utilizzare l'algoritmo di crittografia simmetrica.

Dopo aver creato il portachiavi e la chiave, copia o annota KEY_NAME, la posizione della chiave e KEY_RING. Ti serviranno queste informazioni quando concedi l'accesso alla chiave alaccount di serviziot.

Concedi al account di servizio Memorystore for Valkey l'accesso alla chiave

Prima di poter creare un'istanza Memorystore for Valkey che utilizza CMEK, devi concedere a un account di servizio Memorystore for Valkey specifico l'accesso alla chiave.

Puoi concedere al account di servizio l'accesso alla chiave utilizzando gcloud CLI. Per concedere l'accesso al account di servizio, utilizza il seguente formato:

service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com

gcloud

Per concedere al account di servizio l'accesso alla chiave, utilizza il comando gcloud kms keys add-iam-policy-binding.

gcloud kms keys add-iam-policy-binding  \
projects/PROJECT_ID/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID o il numero del progetto che contiene il portachiavi
  • REGION_ID: la regione in cui si trova il portachiavi
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave
  • KEY_NAME: il nome della chiave a cui stai concedendo l'accesso al account di serviziot
  • PROJECT_NUMBER: l'ID o il numero del progetto che contiene il account di servizio

Crea un'istanza Memorystore for Valkey che utilizza CMEK

Puoi creare un'istanza che utilizza CMEK utilizzando gcloud CLI.

gcloud

Per creare un'istanza che utilizza CMEK, utilizza il comando gcloud memorystore instances create.

gcloud memorystore instances create INSTANCE_ID \
--project=PROJECT_NAME \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_NAME/global/networks/NETWORK_ID", "projectId": "PROJECT_NAME"}}]}]' \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--shard-count=SHARD_NUMBER \
--persistence-config-mode=PERSISTENCE_CONFIG_MODE

Effettua le seguenti sostituzioni:

  • INSTANCE_ID: l'ID dell'istanza che stai creando.
  • PROJECT_NAME: il nome del progetto in cui vuoi creare l'istanza.
  • REGION_ID: l'ID della regione in cui vuoi che si trovi l'istanza.
  • NETWORK_ID: l'ID della rete che vuoi utilizzare per creare l'istanza.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
  • KEY_NAME: il nome della chiave.
  • SHARD_NUMBER: il numero di shard che vuoi avere per l'istanza.
  • PERSISTENCE_CONFIG_MODE: la modalità di persistenza per l'istanza. Puoi impostare questa modalità su uno dei seguenti valori:
    • aof: abiliti la persistenza basata su file di tipo Append-Only File (AOF) per l'istanza.
    • disabled: disattivi la persistenza per l'istanza.
    • rdb: abiliti la persistenza basata su Redis Database (RDB) per l'istanza.

Visualizzare le informazioni sulla chiave per un'istanza abilitata per CMEK

Puoi visualizzare le informazioni sull'istanza abilitata a CMEK utilizzando gcloud CLI. Queste informazioni includono se CMEK è abilitata per la tua istanza e la chiave attiva.

gcloud

Per verificare se CMEK è abilitata e per visualizzare il riferimento alla chiave, utilizza il comando gcloud memorystore instances describe per visualizzare i campi encryptionInfo e kmsKey.

gcloud memorystore instances describe INSTANCE_ID \
--project=PROJECT_NAME \
--location=REGION_ID

Effettua le seguenti sostituzioni:

  • INSTANCE_ID: l'ID dell'istanza di cui vuoi visualizzare le informazioni
  • PROJECT_NAME: il nome del progetto che contiene l'istanza
  • REGION_ID: l'ID della regione in cui si trova l'istanza

Gestire le versioni della chiave

Per informazioni su cosa succede quando disattivi, elimini, ruoti, attivi e ripristini una versione della chiave, consulta Comportamento di una versione della chiave CMEK.

Per istruzioni su come disabilitare e riattivare le versioni delle chiavi, consulta Abilitare e disabilitare le versioni delle chiavi.

Per istruzioni su come eliminare e ripristinare le versioni delle chiavi, vedi Eliminare e ripristinare le versioni delle chiavi.

Passaggi successivi