Crittografia dei dati con chiavi gestite dal cliente

Questa pagina mostra come criptare i dati su Filestore instances e backup usando le tue chiavi di crittografia.

Per impostazione predefinita, Google Cloud cripta automaticamente i dati quando sono rest utilizzando chiavi di crittografia. di proprietà di Google e gestiti da Google. Se hai bisogno di un maggiore controllo per proteggere i dati, puoi utilizzare le chiavi di crittografia gestite dal cliente Filestore.

Opzioni delle chiavi di crittografia gestite dal cliente

Cloud Key Management Service supporta le funzionalità gestite dal cliente chiavi di crittografia (CMEK) che possono essere archiviate come chiavi software, di chiavi hardware in un cluster HSM o esternamente Cloud External Key Manager (Cloud EKM). Sono disponibili diverse opzioni.

Per ulteriori informazioni, consulta Cloud Key Management Service.

Cloud External Key Manager

Il supporto di Cloud EKM per Filestore è ora in disponibilità generale (GA). Per ulteriori informazioni, consulta Cloud External Key Manager.

Interruzioni del servizio EKM

Per impostazione predefinita, le chiavi esterne sono gestite da terze parti; in queste circostanze, Google Cloud non è responsabile della disponibilità delle chiavi.

Se il servizio Cloud Key Management Service (Cloud KMS) viene informato dal Gestore di chiavi esterne (EKM) che una chiave esterna non è raggiungibile, gli utenti ricevono un ekm_key_unreachable_detected notifica. Per un massimo di un'ora, gli utenti hanno accesso limitato alle operazioni sul in esecuzione in un'istanza Compute Engine. Dopo un'ora, se lo stato della chiave non è cambiato, verranno eseguite le seguenti azioni applica:

  • La chiave è disabilitata.
  • Tutte le operazioni di crittografia e decriptazione non riescono.
  • L'istanza Filestore è sospesa.

In alcuni casi, ad esempio un evento non pianificato come il riavvio di una VM, puoi accedere potrebbe subire interruzioni prima di un'ora.

Le notifiche relative alle chiavi non raggiungibili possono essere visualizzate dall'istanza Filestore pagina dei dettagli:

Vai alla pagina delle istanze Filestore

Gli utenti ricevono anche notifiche ekm_key_unreachable_detected su uno qualsiasi dei operazioni seguenti, se eseguite entro un'ora dalla prima segnalazione notifica:

Livelli supportati

La seguente tabella mostra i livelli di servizio di Filestore che supportano le chiavi di crittografia gestite dal cliente:

Livello Supporto CMEK
HDD base No
SSD base No
A livello di zona
Regionale
Aziende

Crea un keyring e una chiave da utilizzare con la tua istanza

Il keyring e la chiave possono trovarsi in un progetto diverso dalla Filestore, ma devono trovarsi nella stessa località. Se disponi già di un keyring e di una chiave Cloud KMS che vuoi utilizzare Filestore, passa alla sezione successiva. Altrimenti, segui le istruzioni sulla creazione di chiavi di crittografia simmetriche per per creare un keyring e una chiave.

Concedi l'autorizzazione di accesso alla chiave all'account di servizio Filestore

Prima di poter creare un'istanza Filestore che utilizza un'istanza la chiave di crittografia gestita dal cliente, l'account di servizio Filestore deve avere il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter).

  1. Un account di servizio Filestore viene creato la prima volta che lo crei di un'istanza Filestore nel progetto. Se non disponi già di un Account di servizio Filestore, esegui questo comando services identity create :

    gcloud beta services identity create --service=file.googleapis.com --project=INSTANCE_PROJECT_NUMBER_OR_ID
    

    Sostituisci INSTANCE_PROJECT_NUMBER_OR_ID con il numero del progetto oppure ID del progetto in cui vuoi creare il Filestore in esecuzione in un'istanza Compute Engine.

  2. Assegna all'account di servizio Filestore la CryptoKey Cloud KMS Ruolo di criptatore/decrittografia eseguendo il comando projects add-iam-policy-binding:

    gcloud projects add-iam-policy-binding KMS_PROJECT_NUMBER_OR_ID \
        --member serviceAccount:service-INSTANCE_PROJECT_NUMBER@cloud-filer.iam.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter
    

    Sostituisci quanto segue:

    • KMS_PROJECT_NUMBER_OR_ID con il numero di progetto o l'ID del contenente la chiave Cloud KMS che vuoi utilizzare.
    • INSTANCE_PROJECT_NUMBER con il numero del progetto (non il progetto ID) del progetto in cui vuoi creare il file Filestore in esecuzione in un'istanza Compute Engine.

Crea un'istanza che utilizza la chiave Cloud KMS

Console Google Cloud

Creare un'istanza che utilizza la chiave Cloud KMS per i dati. crittografia:

  1. Nella console Google Cloud, vai alle istanze Filestore .

    Vai alla pagina delle istanze Filestore

  2. Fai clic su Crea istanza

  3. Seleziona un livello di istanza che supporti le CMEK e compila tutti gli altri campi obbligatori e facoltativi, come faresti normalmente.

  4. Fai clic su Mostra opzioni avanzate.

  5. Seleziona la casella di controllo Utilizza una chiave di crittografia gestita dal cliente (CMEK).

  6. Seleziona la chiave Cloud KMS che vuoi utilizzare per l'istanza.

  7. Fai clic su Crea.

Interfaccia a riga di comando gcloud

Per creare un'istanza Filestore che utilizza Cloud KMS chiave per la crittografia dei dati, specifica il flag --kms-key filestore instances create :

gcloud filestore instances create nfs-server \
    --tier=<var>TIER</var> \
    --location=us-central1 \
    --file-share=name="vol1",capacity=1TiB \
    --network=name="default" \
    --kms-key=KMS_KEY

Sostituisci quanto segue:

  • TIER con un livello Filestore che supporta gestite dal cliente.
  • KMS_KEY con il nome completo di Cloud KMS chiave che vuoi utilizzare. In alternativa, puoi specificare ogni argomento separatamente nel formato:
--kms-key=KMS_KEY : --kms-keyring=KEY_RING --kms-location=KMS_REGION --kms-project=KMS_PROJECT_NUMBER_OR_ID

Sostituisci quanto segue:

  • KMS_KEY con il nome della chiave Cloud KMS.
  • KMS_PROJECT_NUMBER_OR_ID con il numero di progetto o l'ID del progetto in cui è stata creata la chiave.
  • KMS_KEY_RING con il nome del keyring.
  • KMS_REGION con la regione del keyring. Il keyring e l'istanza deve trovarsi nella stessa regione.

Recuperare un elenco di chiavi

Puoi ottenere un elenco delle chiavi eseguendo kms keys list :

  gcloud kms keys list \
  --project=KMS_PROJECT_NUMBER_OR_ID \
  --keyring=KEY_RING \
  --location=KMS_REGION

Sostituisci quanto segue:

  • KMS_PROJECT_NUMBER_OR_ID con il numero di progetto o l'ID del progetto in cui è stata creata la chiave.
  • KEY_RING con il nome del keyring.
  • KMS_REGION con la regione del keyring.

La colonna Nome dell'output indica il nome completo della risorsa esistente chiave. Ad esempio:

projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key

Ottieni informazioni chiave dell'istanza

Le sezioni seguenti illustrano come ottenere le informazioni chiave dell'istanza.

Elenca le istanze che utilizzano una determinata chiave Cloud KMS

Puoi elencare le istanze Filestore che utilizzano una determinata chiave che esegue instances list :

gcloud filestore instances list --filter="kmsKeyName=KMS_KEY"

Sostituisci KMS_KEY con il nome completo della chiave che che vuoi usare.

Esempio:

gcloud filestore instances list \
    --filter="kmsKeyName=projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key"

L'output ha il seguente aspetto:

INSTANCE_NAME LOCATION    TIER       CAPACITY_GB FILE_SHARE_NAME IP_ADDRESS   STATE CREATE_TIME
nfs-server    us-central1 ENTERPRISE 1024        vol1            10.166.108.2 READY 2021-08-12T11:38:56

Recupero informazioni sulla chiave Cloud KMS per un'istanza

Utilizza uno dei seguenti metodi per ottenere informazioni sulla chiave Cloud KMS per un Istanza Filestore:

Console Google Cloud

  1. Vai alla pagina delle istanze Filestore.

    Vai alla pagina delle istanze Filestore

  2. Fai clic sull'ID istanza per aprire la pagina dei dettagli dell'istanza.

  3. Fai clic sulla scheda Panoramica.

Se l'istanza cripta i dati utilizzando una chiave Cloud KMS anziché un Chiave di proprietà di Google e gestita da Google, il nome della chiave è visualizzato nella Chiave di crittografia.

Interfaccia a riga di comando gcloud

Esegui il seguente instances describe :

gcloud filestore instances describe INSTANCE_ID \
   --location=INSTANCE_LOCATION

Sostituisci quanto segue:

  • INSTANCE_ID con l'ID istanza di Filestore sull'istanza su cui vuoi ottenere informazioni.
  • INSTANCE_LOCATION con la regione o la zona in cui si trova l'istanza individuarlo.

L'output ha il seguente aspetto:

createTime: '2021-08-12T11:38:56.851157387Z'
fileShares:
- capacityGb: '1024'
  name: vol1
kmsKeyName: projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
labels:
  key: val
name: projects/consumer-project/locations/us-central1/instances/nfs-server
networks:
- ipAddresses:
  - 10.0.100.2
  modes:
  - MODE_IPV4
  network: network
  reservedIpRange: 10.166.108.0/23
state: READY
tier: ENTERPRISE

Disabilita o elimina una chiave Cloud KMS utilizzata da un'istanza

Se viene rilevata una modifica dello stato della chiave Cloud KMS, interrompe automaticamente la pubblicazione dei dati. Ecco alcuni esempi:

  • Disattivare una chiave o una versione della chiave.
  • Eliminare una chiave o una versione della chiave.
  • Modifica delle autorizzazioni di una chiave.

Questo rilevamento in genere avviene entro pochi minuti dal cambiamento dello stato della chiave, ma in alcuni casi può richiedere fino a un'ora.

Una volta arrestata un'istanza, tutti gli accessi ai dati della condivisione file e a qualsiasi snapshot bloccato. Le istanze arrestate continuano a essere fatturate fino a quando non vengono eliminate.

Avvio di un'istanza arrestata

Se un'istanza Filestore arrestata utilizza una chiave Cloud KMS per la crittografia dei dati, tutte le versioni della chiave devono essere attivato o ripristinato prima di riavviare l'istanza.

Una volta abilitato lo stato della chiave Cloud KMS, l'istanza Rilevare automaticamente le modifiche principali e riavviare senza alcuna azione aggiuntiva. di solito entro 20 minuti.

Supporto CMEK per catene di backup

Puoi usare le CMEK per criptare non solo le tue istanze Filestore, ma anche le tue catene di backup.

Le catene di backup risiedono in un singolo bucket e in una sola regione. Per archiviare e criptare il backup in una regione esterna all'istanza di origine, gli utenti devono applicare due CMEK: una per l'istanza e una per la catena di backup. Si applicano alcuni requisiti:

  • Una CMEK deve trovarsi nella stessa regione della catena di backup che cripta.

  • Una singola CMEK viene applicata al bucket in cui è archiviata la catena di backup e non possono essere combinate o sostituite.

  • Per creare un backup utilizzando una nuova CMEK, l'intera catena di backup esistente devono essere prima eliminati.

Il supporto CMEK non è disponibile per i backup di livello di base.

Per ulteriori informazioni, vedi Backup.

Passaggi successivi