Chiavi di crittografia gestite dal cliente

Configurazione

Per impostazione predefinita, Cloud Storage cripta i contenuti dei clienti riposo. Cloud Storage 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 i servizi integrati con CMEK, tra cui Cloud Storage. L'utilizzo delle chiavi Cloud KMS consente di controllare la protezione livello, posizione, pianificazione della rotazione, autorizzazioni di utilizzo e accesso e confini crittografici. L'utilizzo di Cloud KMS ti consente inoltre di monitorare l'utilizzo delle chiavi, visualizzare i log di controllo e controllare i cicli di vita delle chiavi. Invece di lasciare che sia Google a controllare e gestire la simmetria chiavi di crittografia delle chiavi (KEK) che proteggono i dati, sei tu a controllare e gestire queste chiavi in Cloud KMS.

Dopo aver configurato le risorse con le CMEK, l'esperienza di accesso L'utilizzo delle risorse di Cloud Storage è simile all'utilizzo della crittografia predefinita di Google. Per ulteriori informazioni sulle CMEK, vedi Chiavi di crittografia gestite dal cliente (CMEK). Per scoprire come utilizzare CMEK create manualmente per proteggere le tue risorse Cloud Storage, vedi Utilizza la crittografia gestita dal cliente chiave.

Per ulteriori informazioni sulle altre opzioni di crittografia quando utilizzi Cloud Storage, consulta Opzioni di crittografia dei dati.

CMEK con Cloud KMS Autokey

Puoi creare chiavi CMEK manualmente per proteggere i bucket Cloud Storage e gli oggetti al loro interno oppure utilizzare Autokey di Cloud KMS. Con Autokey, i keyring e le chiavi vengono generati on demand nell'ambito della creazione o dell'aggiornamento delle risorse in Cloud Storage. Gli agenti di servizio che utilizzano le chiavi per le operazioni di crittografia e decriptazione vengono creati se non utilizzano queste chiavi esistono già e dispongono dei ruoli Identity and Access Management (IAM) richiesti. Per ulteriori informazioni, consulta la panoramica di Autokey.

Autokey non crea chiavi per gli oggetti. Per impostazione predefinita, gli oggetti in un bucket utilizzano la chiave predefinita del bucket. Se vuoi criptare un oggetto utilizzando una chiave diversa da quella predefinita del bucket, puoi creare manualmente una CMEK e utilizzarla durante la creazione .

Per scoprire come utilizzare i CMEK creati da Cloud KMS Autokey per proteggere i bucket Cloud Storage e gli oggetti al loro interno, consulta Utilizzare Autokey con le risorse Cloud Storage.

Quando viene utilizzata la chiave?

Quando applichi una chiave CMEK a un oggetto, Cloud Storage la utilizza per la crittografia di:

  • I dati dell'oggetto.
  • Il checksum CRC32C dell'oggetto.
  • L'hash MD5 dell'oggetto.

Cloud Storage utilizza chiavi lato server standard per criptare le i metadati rimanenti per l'oggetto, incluso il nome dell'oggetto. Pertanto, se disponi dell'autorizzazione sufficiente, puoi eseguire azioni come leggere la maggior parte dei metadati, elencare gli oggetti ed eliminarli anche dopo aver disattivato o distrutto il CMEK associato.

Agenti di servizio

Ogni progetto ha uno speciale account di servizio Cloud Storage chiamato agente di servizio che esegue la crittografia e la decriptazione con CMEK. Dopo aver accordato all'agente di servizio l'accesso a una chiave di crittografia, l'agente di servizio cripta:

Quando aggiungi o riscrivi un oggetto in Cloud Storage, se hai sia un oggetto una chiave predefinita impostata nel bucket e una chiave specifica inclusa nella richiesta, Cloud Storage utilizza la chiave specifica per criptare l'oggetto.

Quando un richiedente vuole leggere un oggetto criptato con una CMEK, deve semplicemente accedere all'oggetto come farebbe normalmente. Durante una richiesta di questo tipo, l'agente di servizio decripta automaticamente l'oggetto richiesto a condizione che:

  • L'agente di servizio dispone ancora dell'autorizzazione per decriptare utilizzando la chiave.
  • Non hai disattivato o eliminato la chiave.

Se una di queste condizioni non viene soddisfatta, l'agente di servizio non decripta i dati e la richiesta non va a buon fine.

Limitazioni

Quando utilizzi i token CMEK, si applicano le seguenti limitazioni:

  • Non puoi criptare un oggetto con una CMEK aggiornando i metadati dell'oggetto. Includi la chiave come parte di una riscrittura dell'oggetto.

    • gcloud storage utilizza il comando objects update per impostare le chiavi di crittografia sugli oggetti, ma il comando riscrivi l'oggetto nell'ambito della richiesta.
  • Devi creare il keyring di Cloud KMS nella stessa località del che intendi criptare. Ad esempio, se il bucket si trova in US-EAST1, qualsiasi mazzo di chiavi utilizzato per criptare gli oggetti al suo interno deve essere creato anche in US-EAST1.

    • Per le due regioni, la località del keyring di Cloud KMS deve corrisponda al codice di località della doppia regione. Ad esempio, se il bucket si trova nella coppia di regioni doppie configurabile US-EAST1, US-WEST1, qualsiasi mazzo di chiavi utilizzato per criptare gli oggetti in quel bucket deve essere creato nella regione multipla US, che corrisponde al codice posizione del bucket. Se il tuo bucket si trova nella regione doppia predefinita NAM4, devi creare il portachiavi nella stessa regione doppia predefinita, NAM4.

      Per le località Cloud KMS disponibili, consulta Località Cloud KMS.

  • Le tariffe di crittografia e decrittografia di Cloud KMS sono soggette a una quota.

  • Il checksum CRC32C e l'hash MD5 degli oggetti criptati con le CMEK non vengono restituito quando elenchi gli oggetti con l'API JSON.

    • Se opportuno, alcuni strumenti, come gcloud storage, eseguono una richiesta GET di metadati aggiuntivi su ogni oggetto criptato con un CMEK per recuperare le informazioni CRC32C e MD5. Queste richieste aggiuntive possono rendere la pubblicazione notevolmente più lenta rispetto alla pubblicazione di oggetti criptati con la crittografia standard di Cloud Storage.
  • Come CMEK possono essere utilizzate solo chiavi di crittografia simmetrica.

Relazione con le chiavi di crittografia fornite dal cliente

Oltre alla crittografia gestita dal cliente, Cloud Storage offre le chiavi di crittografia fornite dal cliente come metodo per controllare la crittografia dei dati. Puoi criptare oggetti diversi in un singolo bucket con metodi di crittografia, ma tieni presente che:

  • Un singolo oggetto può essere criptato con uno solo di questi metodi alla volta.

  • Se hai impostato una CMEK predefinita per il tuo bucket e specifichi una chiave fornita dal cliente in una richiesta, Cloud Storage utilizza la chiave fornita dal cliente per criptare l'oggetto.

Gestione delle chiavi

In questa sezione vengono illustrate le considerazioni relative alla rotazione delle chiavi, alla loro sostituzione e la disattivazione o l'eliminazione delle versioni delle chiavi.

Rotazione chiave

Cloud KMS supporta la rotazione delle chiavi sia automatica che manuale a una nuova versione. Dopo aver ruotato una chiave, Cloud Storage utilizza la nuova versione per tutte le operazioni di crittografia che utilizzano la chiave, ad esempio:

  • L'oggetto viene caricato quando il bucket di destinazione utilizza la chiave come predefinita chiave di crittografia.

  • Operazioni di caricamento, copia e riscrittura degli oggetti che utilizzano specificamente la chiave nell'operazione.

Le versioni precedenti della chiave non vengono disabilitate né eliminate, quindi Cloud Storage può comunque decriptare gli oggetti esistenti che erano usando queste versioni.

Sostituzione chiavi

Segui le linee guida riportate di seguito per sostituire la chiave utilizzata per criptare gli oggetti Cloud Storage con una nuova chiave:

  1. Controlla i tuoi bucket per vedere quali utilizzano la chiave come predefinita chiave di crittografia. Per questi bucket, sostituisci la chiave precedente con una nuova.

    In questo modo, tutti gli oggetti scritti nel bucket utilizzeranno la nuova chiave in futuro.

  2. Controlla il codice sorgente per capire quali richieste utilizzano la chiave nelle operazioni in corso, ad esempio l'impostazione delle configurazioni dei bucket e il caricamento, la copia o la riscrittura degli oggetti. Aggiorna queste istanze per utilizzare la nuova chiave.

  3. Controlla la presenza di oggetti, in tutti i tuoi bucket, criptati con la vecchia chiave. Utilizza il metodo Riscrittura oggetto per criptare nuovamente ogni oggetto con il nuovo chiave.

  4. Disattiva tutte le versioni della vecchia chiave. Dopo aver disattivato le vecchie versioni delle chiavi, monitora i log del client e del servizio per rilevare le operazioni che non vanno a buon fine a causa della mancata disponibilità di una versione.

Disabilitazione o eliminazione della versione di una chiave

  • Quando disattivi o disattivi una versione specifica della chiave, non puoi decriptare qualsiasi oggetto attualmente criptato con quella versione della chiave.

    Ad esempio, non puoi scaricare, copiare o riscrivere l'oggetto e il tentativo di farlo genera un errore.

    • Se disattivi una versione della chiave, puoi riattivarla. Una volta riattivata, puoi accedere agli oggetti criptati da quella versione della chiave.

    • Se distruggi una versione della chiave, i download degli oggetti criptati con quella versione non saranno più possibili.

    Prima di disabilitare o eliminare la versione di una chiave, devi identificare tutti oggetti in tutti i bucket che sono stati criptati usando la versione della chiave specifica. Una volta identificati, utilizza il metodo Rewrite Object per criptare nuovamente ogni oggetto utilizzando una nuova versione della chiave, una chiave completamente nuova o chiavi lato server.

  • Se disabiliti o elimini la versione principale di una chiave, non puoi utilizzare la chiave per la crittografia finché non avrai una nuova versione primaria. Ad esempio, senza una versione principale:

    • Non puoi specificare la chiave come parte del caricamento, della copia o della riscrittura di un oggetto.

    • Non puoi caricare, copiare o riscrivere oggetti in un bucket che contiene la chiave essere impostata come chiave di crittografia predefinita a meno che non ne specifichi uno diverso, una chiave valida nell'ambito dell'operazione.

    Una volta creata una versione principale per la chiave, le operazioni che utilizzano la chiave per la crittografia degli oggetti vanno a buon fine.

    Prima di disabilitare o eliminare una versione della chiave che sia la versione primaria di la chiave, devi prima smettere di utilizzarla come versione primaria. Cosa puoi fare quindi in uno dei seguenti modi:

di Gemini Advanced.

Versioni della chiave e oggetti bloccati

Se una versione della chiave cripta un oggetto bloccato, perché l'oggetto è memorizzato in un bucket con un criterio di conservazione bloccato o perché l'oggetto ha una propria configurazione di conservazione bloccata, la versione della chiave può essere distrutta solo se sono soddisfatte le seguenti condizioni:

  • L'ora di scadenza della conservazione dell'oggetto criptato deve essere nel passato.
  • All'oggetto criptato non devono essere applicati blocchi degli oggetti.

Una volta che tutti gli oggetti pertinenti hanno soddisfatto queste condizioni, è possibile distruggere la versione della chiave anche senza eliminare gli oggetti. Se lo fai, le modifiche diventano definitivamente inaccessibili.

Passaggi successivi