Chiavi di crittografia gestite dal cliente

Configurazione

Questa pagina illustra le chiavi di crittografia gestite dal cliente e il modo in cui vengono utilizzate di archiviazione ideale in Cloud Storage. Per altre opzioni di crittografia, consulta l'argomento Opzioni di crittografia dei dati.

Panoramica

Se hai bisogno di un controllo maggiore sulle operazioni con le chiavi rispetto a quello che crittografia standard di Cloud Storage, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK). Queste chiavi vengono create e gestite utilizzando Cloud Key Management Service (Cloud KMS) e archivi le chiavi come software in un cluster HSM o esternamente. Puoi usare le CMEK singoli oggetti o configura il bucket in modo che utilizzi una chiave per impostazione predefinita di nuovi oggetti aggiunti a un bucket.

Quando si utilizza una CMEK, un oggetto viene criptato con la chiave da Cloud Storage nel momento in cui viene archiviato in un bucket e l'oggetto viene decriptato automaticamente da Cloud Storage quando l'oggetto viene pubblicato per i richiedenti.

Puoi creare direttamente CMEK oppure puoi utilizzare Cloud KMS Autokey (Anteprima) per creare queste chiavi sul tuo per conto tuo. Per ulteriori informazioni, vedi Panoramica di Autokey.

Quando viene utilizzata la chiave?

Quando applichi una CMEK a un oggetto, Cloud Storage utilizza la chiave quando con crittografia:

  • 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 disporre di un'autorizzazione sufficiente, puoi eseguire azioni come leggere la maggior parte dei metadati, l'elenco degli oggetti e l'eliminazione degli oggetti anche dopo aver disabilitato o hai eliminato la CMEK associata.

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. Una volta concedere 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 accedono all'oggetto come farebbero normalmente. Durante questa richiesta, il servizio decripta automaticamente l'oggetto richiesto a condizione che:

  • L'agente di servizio ha ancora l'autorizzazione per decriptare utilizzando la chiave.
  • Non hai disabilitato o eliminato la chiave.

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

Limitazioni

Quando si utilizzano le 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 usa il comando objects update per impostare le chiavi di crittografia sugli oggetti, ma il comando riscrive l'oggetto come parte della richiesta.
  • Devi creare il keyring di Cloud KMS nella stessa località del che intendi criptare. Ad esempio, se il bucket si trova nella US-EAST1, qualsiasi keyring utilizzato per criptare gli oggetti nel bucket deve anche in US-EAST1.

    • Per la maggior parte delle due regioni, devi creare la chiave Cloud KMS nella località multiregionale associata. Ad esempio, se il tuo bucket nella coppia US-EAST1, US-WEST1, qualsiasi keyring usato per per criptare gli oggetti nel bucket devi creare US in più regioni.

    • Per le due regioni predefinite ASIA1, EUR4 e NAM4, devi il keyring nella stessa regione a due regioni predefinita.

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

  • Le percentuali di crittografia e decriptazione di Cloud KMS sono soggette a un quota.

  • Il checksum CRC32C e l'hash MD5 degli oggetti criptati con CMEK non sono quando vengono elencati 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 funzionalità aggiuntive Le richieste possono rallentare molto l'elenco di oggetti rispetto all'elenco degli oggetti con crittografia standard di Cloud Storage.
  • Solo le chiavi di crittografia simmetriche possono essere utilizzate come CMEK.

Relazione con le chiavi di crittografia fornite dal cliente

Oltre alla crittografia gestita dal cliente, Cloud Storage offre Chiavi di crittografia fornite dal cliente come metodo per controllare i dati la crittografia. 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 bucket e specifica una fornita dal cliente in una richiesta, Cloud Storage utilizza 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 della chiave sia automatica che manuale verso un nuova versione. Dopo aver ruotato una chiave, Cloud Storage utilizza la nuova per tutte le operazioni che criptano utilizzando 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 di oggetti che utilizzano in modo specifico il 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 di chiavi

Attieniti alle seguenti linee guida quando sostituisci la chiave che utilizzi per criptare 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.

    Questo assicura che tutti gli oggetti scritti nel bucket utilizzino la nuova chiave in futuro.

  2. Controlla il codice sorgente per capire quali richieste utilizzano la chiave operazioni come l'impostazione delle configurazioni dei bucket e il caricamento per copiare o riscrivere oggetti. Aggiorna queste istanze per utilizzare la nuova chiave.

  3. Verifica la presenza di oggetti in tutti i bucket criptati con la chiave precedente. Utilizza il metodo Riscrittura oggetto per criptare nuovamente ogni oggetto con il nuovo chiave.

  4. Disabilita tutte le versioni della chiave precedente. Dopo aver disabilitato le versioni precedenti della chiave, monitora i log di client e servizio per verificare se le operazioni non riuscite a causa di una versione non sono più disponibili.

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. in questo caso viene generato un errore.

    • Se disabiliti la versione di una chiave, puoi riabilitarla. Una volta riattivata, puoi accedere agli oggetti criptati da quella versione della chiave.

    • Se elimini la versione di una chiave, vengono scaricati gli oggetti criptati con quella non sono 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 identificato, utilizza il metodo Riscrittura oggetto per ricriptare ogni 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.

    Dopo aver ottenuto una versione primaria per la chiave, le operazioni che la utilizzano crittografare gli oggetti correttamente.

    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:

Versioni della chiave e oggetti bloccati

Se una versione della chiave cripta un oggetto bloccato, perché l'oggetto è archiviato 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 viene eliminata se vengono soddisfatte le seguenti condizioni:

  • La data di scadenza della conservazione dell'oggetto criptato deve essere trascorsa.
  • Sull'oggetto criptato non deve essere presente alcun blocco di oggetti.

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

Passaggi successivi