Chiavi di crittografia gestite dal cliente per Managed Lustre

Per impostazione predefinita, Google Cloud Managed Lustre cripta i contenuti inattivi dei clienti at rest. Managed Lustre gestisce la crittografia per tuo conto senza che tu debba fare altro. Questa opzione è denominata crittografia predefinita di Google.

Se vuoi controllare le chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con i servizi integrati con CMEK, incluso Managed Lustre. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione , la località, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i limiti crittografici. Con Cloud KMS puoi inoltre monitorare l'utilizzo delle chiavi, visualizzare gli audit log e controllare i cicli di vita delle chiavi. 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 KMS.

Dopo aver configurato le risorse con le chiavi CMEK, l'esperienza di accesso alle risorse Managed Lustre è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).

I seguenti dati di Managed Lustre sono protetti da CMEK:

  • Dati del file
  • Metadati del file system, ad esempio i nomi dei file

Quando utilizzi CMEK in Managed Lustre, i tuoi progetti possono consumare le quote per le richieste crittografiche di Cloud KMS. Le istanze criptate con CMEK consumano le quote durante la lettura o la scrittura dei dati in Managed Lustre. Le operazioni di crittografia e decrittografia che utilizzano le chiavi CMEK influiscono sulle quote di Cloud KMS solo se utilizzi chiavi hardware (Cloud HSM) o esterne (Cloud EKM). Per saperne di più, consulta Quote di Cloud KMS.

Limitazioni

Si applicano le seguenti limitazioni:

  • Il provisioning dinamico delle istanze Managed Lustre protette da CMEK non è supportato in Google Kubernetes Engine, ma è supportato il provisioning statico.

  • Cluster Toolkit non supporta le istanze Managed Lustre protette da CMEK.

  • Quando crei un'istanza Managed Lustre protetta da CMEK all'interno di un perimetro dei Controlli di servizio VPC, la chiave Cloud KMS deve essere:

Creare una chiave Cloud KMS

Prima di creare un'istanza Lustre abilitata per CMEK, devi disporre di un keyring Cloud KMS e di una chiave Cloud KMS.

Managed Lustre supporta tre livelli di protezione:

  • Software (SOFTWARE)
  • Hardware (HSM)
  • Esterno tramite internet (EXTERNAL)

Quando crei la chiave, ti consigliamo di creare la chiave Cloud KMS in un progetto diverso da quello contenente l'istanza Managed Lustre. Vedi Separazione dei compiti.

La chiave Cloud KMS deve essere creata nella stessa regione dell'istanza Managed Lustre che stai creando.

Per creare una chiave:

  1. Se non ne hai già uno, crea un keyring.
  2. Crea una chiave Cloud KMS.

Concedere le autorizzazioni IAM al service agent Managed Lustre

Managed Lustre utilizza un service agent per accedere alle tue risorse ed eseguire azioni per tuo conto. Per utilizzare CMEK, devi concedere al service agent il ruolo IAM roles/cloudkms.cryptoKeyEncrypterDecrypter sulla chiave Cloud KMS.

Google Cloud Utenti della console

Se crei l'istanza Managed Lustre protetta da CMEK utilizzando la Google Cloud console, puoi saltare questa sezione. La Google Cloud console concede le autorizzazioni richieste nell'ambito del flusso di creazione dell'istanza.

Vai a Creare un'istanza Managed Lustre abilitata per CMEK.

Se non conosci l'identità del service agent del tuo progetto, consulta Creare o recuperare l'identità del service agent.

Concedere le autorizzazioni al service agent

Per concedere il ruolo al service agent, utilizza il comando gcloud kms keys add-iam-policy-binding:

gcloud kms keys add-iam-policy-binding KEY_NAME \
  --keyring=KEY_RING \
  --location=REGION \
  --project=KMS_PROJECT_ID \
  --member=serviceAccount:SERVICE_AGENT_IDENTITY \
  --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Sostituisci le seguenti variabili:

  • KEY_NAME: il nome della chiave Cloud KMS.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
  • REGION: la regione in cui si trova il keyring.
  • KMS_PROJECT_ID: l'ID del progetto che contiene la chiave Cloud KMS.
  • SERVICE_AGENT_IDENTITY: l'identità del service agent Managed Lustre (service-<var>PROJECT_NUMBER</var>@gcp-sa-lustre.iam.gserviceaccount.com).

Creare un'istanza Managed Lustre abilitata per CMEK

Per creare un'istanza Managed Lustre protetta da CMEK:

gcloud

Per creare un'istanza protetta da CMEK utilizzando gcloud, segui i passaggi descritti in Creare un'istanza. Specifica l'identificatore della chiave come valore di --kms-key-name come mostrato di seguito:

gcloud lustre instance create INSTANCE_ID \
  --filesystem=FILESYSTEM_NAME \
  --per-unit-storage-throughput=PERF_TIER \
  --capacity-gib=CAPACITY_GIB \
  --location=ZONE \
  --network=NETWORK_NAME \
  --project=PROJECT_ID \
  --kms-key-name=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME

La chiave Cloud KMS deve esistere nella stessa regione dell'istanza Managed Lustre che stai creando.

REST

Per creare un'istanza protetta da CMEK utilizzando l'API REST, segui i passaggi descritti in Creare un'istanza. Specifica l'identificatore della chiave come valore di kmsKey come mostrato di seguito:

POST https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances?instanceId=INSTANCE_NAME
Authorization: Bearer AUTH_TOKEN
{
  "filesystem": "FILESYSTEM_NAME",
  "perUnitStorageThroughput": PERF_TIER,
  "capacityGib": CAPACITY_GIB,
  "network": "NETWORK_NAME",
  "kmsKey": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
}

La chiave Cloud KMS deve esistere nella stessa regione dell'istanza Managed Lustre che stai creando.

Per un elenco completo dei campi e delle relative descrizioni, consulta la documentazione di riferimento della Instance risorsa.

Google Cloud Console

Per creare un'istanza protetta da CMEK utilizzando la Google Cloud console, segui i passaggi descritti in Creare un'istanza. Nella pagina Crea istanza della Google Cloud console:

  1. Nella sezione Crittografia, seleziona Chiave Cloud KMS.

  2. Seleziona Cloud KMS come tipo di gestione delle chiavi e seleziona la chiave. Se la chiave si trova in un progetto diverso (opzione consigliata), fai clic su Cambia progetto, seleziona il progetto della chiave e seleziona la chiave. La chiave Cloud KMS deve esistere nella stessa regione dell'istanza Managed Lustre che stai creando.

  3. Se il service agent Managed Lustre non dispone delle autorizzazioni richieste per utilizzare CMEK, ti viene chiesto di concedere il ruolo cloudkms.cryptoKeyEncrypterDecrypter. Fai clic su Concedi per applicare il ruolo.

Se la chiave Cloud KMS non è disponibile o se si verificano problemi di autorizzazione quando avvii l'operazione di creazione, l'operazione non riesce e restituisce un errore FAILED_PRECONDITION.

Gestione delle chiavi

Le chiavi Cloud Key Management Service possono essere ruotate, disattivate, riattivate o eliminate. Possono diventare non disponibili per vari motivi.

Ruotare una chiave

Puoi ruotare la chiave Cloud KMS. La rotazione di una chiave crea una nuova versione della chiave.

  • La rotazione di una chiave non esegue nuovamente la crittografia dei dati nell'istanza Managed Lustre. Managed Lustre non supporta la decrittografia o la nuova crittografia dei dati.

  • La capacità esistente dell'istanza Managed Lustre continua a essere criptata dalla versione della chiave in uso al momento della creazione dell'istanza.

  • Quando aumenti la capacità di archiviazione dell'istanza, la nuova capacità viene protetta dalla versione della chiave primaria quando effettui la richiesta di aumento della capacità e tutti i dati scritti in questa capacità vengono protetti da questa versione della chiave.

Ciò significa che puoi avere più versioni della chiave che criptano l'istanza Managed Lustre, se hai aumentato la capacità dell'istanza dopo aver ruotato la versione della chiave.

Disattivare una chiave

Puoi disattivare una versione della chiave. Durante il periodo in cui una qualsiasi versione della chiave utilizzata dall'istanza Managed Lustre è disattivata, l'istanza viene sospesa. Per riprendere l'istanza, riporta tutte le versioni della chiave che proteggono l'istanza a uno stato disponibile. Per informazioni sulle istanze sospese , consulta Chiavi non disponibili.

Per saperne di più, consulta Abilitare e disabilitare le versioni delle chiavi.

Riattivare una chiave

Se una versione della chiave è disattivata, puoi riattivarla tramite l'API Cloud KMS. Consulta Abilitare e disabilitare le versioni delle chiavi.

Per riprendere l'istanza Managed Lustre, tutte le versioni della chiave che criptano la capacità di archiviazione devono essere abilitate o ripristinate.

Dopo che tutte le chiavi richieste tornano allo stato ENABLED, Managed Lustre rileva automaticamente le modifiche delle chiavi e riavvia l'istanza. Lo stato dell'istanza diventa ACTIVE e il servizio Managed Lustre riprende il normale funzionamento. Puoi eseguire operazioni di I/O e tutte le altre operazioni a lunga esecuzione.

Eliminare una chiave

Le versioni delle chiavi Cloud KMS possono essere eliminate, il che significa che il materiale della chiave viene eliminato definitivamente.

Le chiavi Cloud KMS non possono essere eliminate immediatamente; devi invece pianificare l'eliminazione di una versione della chiave. Durante la durata pianificata, puoi ripristinare una versione della chiave per annullarne l'eliminazione. Per maggiori dettagli, consulta Eliminare e ripristinare le versioni delle chiavi.

Una versione della chiave pianificata per l'eliminazione non è disponibile; tutte le istanze Managed Lustre protette da questa versione della chiave vengono sospese. Per informazioni sulle istanze sospese, consulta Chiavi non disponibili per informazioni su istanze sospese.

Una volta eliminata, una versione della chiave non può essere ripristinata. L'istanza rimane sospesa in modo permanente. L'unica operazione disponibile sull'istanza Managed Lustre è l'eliminazione dell'istanza.

Chiavi non disponibili

Una chiave può diventare non disponibile per i seguenti motivi:

  • La chiave è disattivata.
  • La chiave è eliminata o è pianificata per l'eliminazione.
  • Le autorizzazioni richieste vengono rimosse dal service agent.
  • La fatturazione è disattivata nel progetto della chiave Cloud KMS e rimane disattivata per più di un'ora.
  • Una chiave esterna rimane irraggiungibile per più di un'ora.

In questi casi, entro pochi minuti dall'evento, l'istanza Managed Lustre viene arrestata e il relativo stato viene impostato su SUSPENDED.

Un'istanza SUSPENDED può essere recuperata rendendo nuovamente disponibile la chiave.

I possibili motivi della sospensione sono i seguenti:

Azione sulla chiave Stato dell'istanza Motivo della sospensione Può essere riattivata
Disattiva SUSPENDED KEY_DISABLE
Pianifica l'eliminazione SUSPENDED KEY_DESTROY_SCHEDULED
Elimina SUSPENDED KEY_DESTROY No
Rimuovi autorizzazione SUSPENDED PERMISSION_DENIED
Disattiva la fatturazione per 1 ora SUSPENDED BILLING_DISABLED
Chiave EKM irraggiungibile per 1 ora SUSPENDED EKM_KEY_UNREACHABLE

Quando un'istanza viene sospesa:

  • Le operazioni a lunga esecuzione, come gli aggiornamenti delle istanze e l'importazione/esportazione, vengono bloccate e restituiscono un errore FAILED_PRECONDITION.
  • Le operazioni di I/O smettono di rispondere finché i nodi server non vengono arrestati. Questa operazione avviene entro 30 minuti.
  • L'unica operazione a lunga esecuzione consentita è DeleteInstance.

Le istanze sospese da più di quattro mesi potrebbero non essere in grado di essere riprese.

Fatturazione per le istanze sospese

Se un'istanza Managed Lustre entra nello stato SUSPENDED a causa della mancata disponibilità della chiave, continuerai a ricevere addebiti per l'istanza. Lo stato di sospensione non mette in pausa la fatturazione. Per interrompere gli addebiti per l'istanza, devi eliminarla.

Cloud KMS ti addebita separatamente anche le versioni delle chiavi in uso.

Visualizzare l'utilizzo delle chiavi ed elencare le versioni delle chiavi

Puoi visualizzare le Google Cloud risorse all'interno della tua organizzazione protette dalle tue chiavi Cloud KMS. Per maggiori dettagli, consulta Visualizzare l'utilizzo delle chiavi.

Per visualizzare l'elenco completo delle versioni delle chiavi utilizzate dall'istanza Managed Lustre, utilizza il comando gcloud kms inventory search-protected-resources:

gcloud kms inventory search-protected-resources \
  --keyname=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
  --scope=organizations/ORGANIZATION_ID \
  --filter="name:projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID" \
  --flatten="cryptoKeyVersions" \
  --format="value(cryptoKeyVersions)"

Dove:

Puoi anche visualizzare le informazioni sulle chiavi dalla pagina Inventario chiavi.

Vai a Inventario chiavi