Per impostazione predefinita, Google Cloud Managed Lustre cripta i contenuti inattivi dei clienti. Lustre gestito gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata crittografia predefinita di Google.
Se vuoi controllare le tue chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con servizi integrati con CMEK, tra cui 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, vedi 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
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.
Controlli di servizio VPC non supporta le istanze Managed Lustre protette da CMEK. Se tenti di creare un'istanza protetta da CMEK all'interno di un perimetro dei Controlli di servizio VPC, l'operazione di creazione dell'istanza non riesce.
Crea una chiave Cloud KMS
Prima di creare un'istanza Lustre abilitata a 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:
- Se non ne hai già una, crea una chiave automatizzata.
- Crea una chiave Cloud KMS.
Concedi autorizzazioni IAM al service agent Managed Lustre
Managed Lustre utilizza un service agent per accedere alle tue risorse ed eseguire azioni per tuo conto. Concedi all'agente di servizio i ruoli IAM per gestire il suo accesso. L'agente di servizio Managed Lustre viene creato automaticamente quando crei un'istanza di Managed Lustre.
L'identità del service agent ha il formato
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com.
Se creerai il tuo Managed Lustre protetto da CMEK utilizzando la console Google Cloud , puoi saltare questa sezione. La console Google Cloud concede le autorizzazioni richieste nell'ambito del flusso di creazione dell'istanza.
Crea o recupera l'agente di servizio
Se non hai ancora un agente di servizio Managed Lustre
Se non hai mai creato un'istanza Managed Lustre nel progetto, esegui questo comando per creare manualmente l'agente di servizio:
gcloud beta services identity create \
--service=lustre.googleapis.com \
--project=PROJECT_NUMBER_OR_ID
Sostituisci PROJECT_NUMBER_OR_ID con il numero o l'ID del progetto in cui vuoi creare l'istanza Managed Lustre. L'output è simile al seguente:
Service identity created: service-1234567890@gcp-sa-lustre.iam.gserviceaccount.com
Copia il valore dell'identità dell'agente di servizio da utilizzare nel passaggio successivo.
Se hai già creato un'istanza Managed Lustre
Per creare l'identità dell'agente di servizio, ottieni il numero di progetto. Un PROJECT_NUMBER non è la stessa cosa di un ID progetto:
- Un ID progetto è una stringa univoca che può essere una combinazione di lettere,
numeri e trattini. Specifichi un ID progetto quando crei il
progetto. Ad esempio,
example-project-123. - Un numero di progetto è un identificatore univoco generato automaticamente per il tuo progetto e composto solo da numeri. Ad esempio,
1234567890.
Per ottenere PROJECT_NUMBER per un determinato ID progetto, utilizza il comando
gcloud projects describe:gcloud projects describe PROJECT_ID --format="value(projectNumber)"- Un ID progetto è una stringa univoca che può essere una combinazione di lettere,
numeri e trattini. Specifichi un ID progetto quando crei il
progetto. Ad esempio,
Copia il numero di progetto restituito nell'identità del service agent:
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.comCopia l'identità dell'agente di servizio da utilizzare nel passaggio successivo.
Concedi le autorizzazioni al service agent
Managed Lustre ha bisogno dell'autorizzazione per eseguire operazioni con la tua chiave.
Devi concedere al service agent Managed Lustre il ruolo IAM roles/cloudkms.cryptoKeyEncrypterDecrypter sulla chiave Cloud KMS.
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-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 portachiavi.
- KMS_PROJECT_ID: l'ID del progetto che contiene la chiave Cloud KMS.
- SERVICE_AGENT_IDENTITY: l'identità del service agent Managed Lustre del passaggio precedente, nel formato:
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com.
Crea un'istanza Managed Lustre abilitata a 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 Crea 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 Crea 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.
Consulta la
documentazione di riferimento della risorsa Instance per un elenco completo dei
campi e delle relative descrizioni.
Console Google Cloud
Per creare un'istanza protetta da CMEK utilizzando la console Google Cloud , segui i passaggi descritti in Creare un'istanza. Nella pagina Crea istanza della console Google Cloud :
Nella sezione Crittografia, seleziona Chiave Cloud KMS.
Seleziona Cloud KMS come tipo di gestione delle chiavi e seleziona la chiave. Se la chiave si trova in un progetto diverso (consigliato), 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.
Se il service agent Managed Lustre non dispone delle autorizzazioni necessarie 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 va a buon fine e viene restituito un
errore FAILED_PRECONDITION.
Gestione delle chiavi
Le chiavi di 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 decriptazione o la ricriptazione 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à è protetta dalla versione della chiave primaria al momento della richiesta di aumento della capacità e tutti i dati scritti in questa capacità sono protetti da questa versione della chiave.
Ciò significa che puoi avere più versioni della chiave che criptano la tua istanza Managed Lustre, se hai aumentato la capacità dell'istanza dopo aver eseguito la rotazione della versione della chiave.
Disattivare una chiave
Puoi disabilitare una versione della chiave. Durante il periodo in cui qualsiasi versione della chiave utilizzata dalla tua istanza Managed Lustre è disabilitata, l'istanza viene sospesa. Per riprendere l'istanza, riporta tutte le versioni delle chiavi che la proteggono a uno stato disponibile. Per informazioni sulle istanze sospese, consulta Chiavi non disponibili.
Per ulteriori informazioni, consulta Attivare e disattivare le versioni delle chiavi.
Riattivare una chiave
Se una versione della chiave è disabilitata, puoi riattivarla tramite l'API Cloud KMS. Consulta Abilitare e disabilitare le versioni della chiave.
Per riprendere l'istanza Managed Lustre, tutte le versioni della chiave che criptano la capacità di archiviazione devono essere abilitate o ripristinate.
Una volta che tutte le chiavi richieste tornano allo stato ENABLED,
Managed Lustre rileva automaticamente le modifiche alle 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.
Distruggere 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 ulteriori 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 quella versione della chiave vengono sospese. Per informazioni sulle istanze sospese, vedi Chiavi non disponibili.
Una volta eliminata, una versione della chiave non può essere ripristinata. La tua istanza rimane sospesa definitivamente. 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 è stata eliminata o è stata pianificata la sua eliminazione.
- Le autorizzazioni richieste vengono rimosse dal service agent.
- La fatturazione è disabilitata nel progetto della chiave Cloud KMS e rimane disabilitata 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 di sospensione sono i seguenti:
| Azione sul tasto | Stato istanza | Motivo della sospensione | Può essere riattivato |
|---|---|---|---|
| Disattiva | SUSPENDED |
KEY_DISABLE |
Sì |
| Pianifica l'eliminazione | SUSPENDED |
KEY_DESTROY_SCHEDULED |
Sì |
| Elimina | SUSPENDED |
KEY_DESTROY |
No |
| Rimuovi autorizzazione | SUSPENDED |
PERMISSION_DENIED |
Sì |
| Disabilita la fatturazione per 1 ora | SUSPENDED |
BILLING_DISABLED |
Sì |
| Chiave EKM non raggiungibile per 1 ora | SUSPENDED |
EKM_KEY_UNREACHABLE |
Sì |
Quando un'istanza viene sospesa:
- Le operazioni a lunga esecuzione, come gli aggiornamenti delle istanze e l'importazione/esportazione, sono bloccate e restituiscono un errore
FAILED_PRECONDITION. - Le operazioni I/O smettono di rispondere finché i nodi del server non vengono arrestati. L'operazione viene eseguita entro 30 minuti.
- L'unica operazione a lunga esecuzione consentita è
DeleteInstance.
Le istanze sospese per più di quattro mesi potrebbero non essere ripristinabili.
Fatturazione per le istanze sospese
Se un'istanza Managed Lustre entra nello stato SUSPENDED a causa
dell'indisponibilità della chiave, continui ad accumulare addebiti per l'istanza. Lo stato di sospensione non mette in pausa la fatturazione. Per non incorrere più in addebiti per l'istanza, devi eliminarla.
Inoltre, Cloud KMS ti addebita separatamente le versioni delle chiavi in uso.
Visualizza l'utilizzo delle chiavi ed elenca le versioni delle chiavi
Puoi visualizzare le risorse Google Cloud all'interno della tua organizzazione protette dalle tue chiavi Cloud KMS. Per maggiori dettagli, vedi 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:
- ORGANIZATION_ID è l'ID numerico della tua organizzazione. Vedi Recuperare l'ID risorsa dell'organizzazione.
Puoi anche visualizzare le informazioni chiave dalla pagina Inventario chiavi.