Proteggi le risorse utilizzando chiavi Cloud KMS

Questo documento fornisce informazioni su come utilizzare le chiavi gestite Cloud Key Management Service Cloud KMS per criptare dischi e altri servizi di archiviazione Google Cloud. Chiavi gestite da Cloud KMS sono note come chiavi di crittografia gestite dal cliente (CMEK).

Puoi usare le CMEK per criptare alle risorse di Compute Engine, ad esempio dischi, immagini macchina, snapshot istantanei e snapshot standard.

Scopri di più sull'utilizzo delle chiavi di crittografia fornite dal cliente (CSEK) per la crittografia dischi e altre risorse di archiviazione, Crittografia dei dischi con chiavi di crittografia fornite dal cliente.

Scopri di più sulla crittografia del disco.

Prima di iniziare

  • Comprendi dischi, immagini, snapshot di dischi permanenti e di macchine virtuali (VM).
  • Decidi se eseguire Compute Engine Cloud KMS nello stesso progetto Google Cloud o in diversi in modo programmatico a gestire i progetti. Per informazioni sugli ID e sui numeri di progetto Google Cloud, consulta Identificazione dei progetti.
  • Per il progetto Google Cloud che esegue Cloud KMS, esegui la seguenti:
    1. Attiva l'API Cloud KMS.

      Abilita l'API

  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

per assicurarti che l'agente di servizio Compute Engine disponga delle risorse necessarie autorizzazioni per proteggere le risorse usando chiavi Cloud KMS, chiedi all'amministratore di concedere all'agente di servizio Compute Engine Ruolo IAM Autore crittografia/decrittografia CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) per il tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

L'amministratore potrebbe anche essere in grado di fornire all'agente di servizio Compute Engine le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

L'agente di servizio Compute Engine ha il seguente formato:

service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

Puoi utilizzare Google Cloud CLI per assegnare il ruolo:

gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
    --member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
    --role roles/cloudkms.cryptoKeyEncrypterDecrypter

Sostituisci quanto segue:

  • KMS_PROJECT_ID: l'ID del tuo progetto Google Cloud che esegue Cloud KMS (anche se si tratta stesso progetto che esegue Compute Engine)
  • PROJECT_NUMBER: il numero del progetto (non l'ID progetto Google Cloud) del tuo progetto Google Cloud in esecuzione le risorse Compute Engine

Specifiche della crittografia

Le chiavi Cloud KMS utilizzate per proteggere i dati in Compute Engine sono chiavi AES-256. Si tratta di chiavi di crittografia delle chiavi che criptano i dati chiavi di crittografia che criptano i tuoi dati, non quelli stessi.

I dati sui dischi sono criptati utilizzando chiavi di proprietà e gestite da Google. Per le specifiche relative alla crittografia predefinita in Google Cloud, consulta Crittografia at-rest predefinita nella documentazione sulla sicurezza.

Limitazioni

  • Non puoi criptare le risorse esistenti con le CMEK. Puoi criptare solo dischi, immagini e snapshot con CMEK quando li crei.

  • Quando crei un disco da uno snapshot istantaneo criptato con CMEK, devi specificare la chiave utilizzata per criptare il disco di origine. Non è necessario specificare la chiave quando utilizzo di altre risorse criptate con CMEK, come cloni di dischi e snapshot standard.

  • Non puoi utilizzare le tue chiavi con i dischi SSD locali perché le chiavi sono gestite dall'infrastruttura Google Cloud ed eliminate quando la VM viene arrestata.

  • Le risorse di regione (dischi) possono essere criptate solo tramite una chiave in uno dei seguenti Località Cloud KMS:

    • Una chiave nella stessa regione del disco
    • Una chiave multiregionale nella stessa posizione geografica del disco
    • Una chiave nella località globale.

    Ad esempio, un disco nella zona us-west1-a può essere criptato da una chiave nella località globale, regione us-west1 o us (più regioni).

    Le risorse globali (come immagini e snapshot) possono essere criptate tramite chiavi in qualsiasi in ogni località. Per ulteriori informazioni, vedi Tipi di località per Cloud KMS.

  • La crittografia di un disco, uno snapshot o un'immagine con una chiave è definitiva. Non puoi rimuovere la crittografia dalla risorsa o cambiare la chiave utilizzata. La l'unico modo per rimuovere la crittografia o cambiare le chiavi è creare una copia del e specifica una nuova opzione di crittografia.

Creazione manuale o automatica delle chiavi

Puoi creare le chiavi Cloud KMS manualmente o utilizzare Cloud KMS Autokey (anteprima). Autokey semplifica la creazione e la gestione delle chiavi Cloud KMS automatizzando il provisioning e l'assegnazione. Con Autokey, non è necessario eseguire il provisioning anelli, chiavi e account di servizio. Vengono generati invece della domanda come parte della creazione di risorse di Compute Engine. Per ulteriori informazioni informazioni, consulta la panoramica di Autokey.

Crea manualmente keyring e chiave

Crea un keyring per il progetto Google Cloud che esegue Cloud KMS e una chiave come descritto Creazione di keyring e chiavi.

Cripta un nuovo Persistent Disk con CMEK

Puoi criptare un nuovo Persistent Disk fornendo una chiave durante la VM o il disco per la creazione di contenuti.

Console

  1. Nella console Google Cloud, vai alla pagina Dischi.

    Vai a dischi

  2. Fai clic su Crea disco e inserisci le proprietà del nuovo disco.
  3. In Crittografia, seleziona Chiave gestita dal cliente.
  4. Nel menu a discesa, seleziona la chiave Cloud KMS che vuoi da utilizzare per criptare il disco.
  5. Per creare il disco, fai clic su Crea.

gcloud

Crea un disco criptato utilizzando Comando gcloud compute disks create, e specificare la chiave usando il flag --kms-key.

gcloud compute disks create DISK_NAME \
  --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY

Sostituisci quanto segue:

  • DISK_NAME: il nome del nuovo disco
  • KMS_PROJECT_ID: il progetto proprietario Chiave Cloud KMS
  • REGION: la regione in cui si trova la chiave
  • KEY_RING: il nome del keyring che include la chiave
  • KEY: il nome della chiave utilizzata per criptare il disco

REST

Crea una richiesta POST Metodo instances.insert. Per criptare un disco, utilizza la proprietà diskEncryptionKey con il metodo proprietà kmsKeyName. Ad esempio, puoi criptare un nuovo disco Creazione di una VM con la tua chiave Cloud KMS utilizzando quanto segue:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
 {
  "type": "PERSISTENT",
  "diskEncryptionKey": {
    "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
  },
  "initializeParams": {
   "sourceImage": "SOURCE_IMAGE"
  },
  "boot": true
 }
],
...
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del Progetto Google Cloud che esegue Compute Engine
  • ZONE: la zona in cui creare la VM
  • MACHINE_TYPE: il tipo di macchina, ad esempio c3-standard-4
  • KMS_PROJECT_ID: il progetto proprietario Chiave Cloud KMS
  • REGION: la regione in cui si trova il disco
  • KEY_RING: il nome del keyring che include la chiave
  • KEY: il nome della chiave utilizzata per cripta il disco
  • SOURCE_IMAGE: l'immagine da utilizzare durante la creazione del ad esempio projects/debian-cloud/global/images/debian-11-bullseye-v20231115

Analogamente, puoi utilizzare Metodo disks.insert per creare un nuovo Persistent Disk autonomo e criptarlo con Chiave Cloud KMS:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks?sourceImage=SOURCE_IMAGE
{
 "name": "DISK_NAME",
 "diskEncryptionKey": {
   "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
  },
 "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE"
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del Progetto Google Cloud che esegue Compute Engine
  • ZONE: la zona in cui creare il disco
  • SOURCE_IMAGE: l'immagine da utilizzare durante la creazione del disco, ad esempio projects/debian-cloud/global/images/debian-11-bullseye-v20231115
  • DISK_NAME: un nome per il nuovo disco
  • KMS_PROJECT_ID: il progetto proprietario Chiave Cloud KMS
  • REGION: la regione in cui si trova il disco
  • KEY_RING: il nome del keyring che include la chiave
  • KEY: il nome della chiave utilizzata per cripta il disco
  • DISK_TYPE: il valore tipo di disco per creare

Crea uno snapshot da un disco criptato con CMEK

Per proteggere uno snapshot che crei da un disco criptato con CMEK, deve utilizzare la stessa chiave di crittografia utilizzata per criptare il disco.

Non puoi creare uno snapshot che utilizza una CMEK a meno che il disco di origine non utilizzi CMEK . Inoltre, non puoi convertire i dischi o gli snapshot con crittografia CMEK della crittografia predefinita di Google Cloud, a meno che crea un'immagine disco completamente nuova e un nuovo disco permanente.

Gli snapshot dei dischi criptati con CMEK vengono incrementale.

Console

  1. Nella console Google Cloud, vai alla pagina Snapshot.

    Vai a Snapshot

  2. Fai clic su Crea snapshot.
  3. In Disco di origine, scegli il disco di origine per lo snapshot. La viene criptato automaticamente con la stessa chiave utilizzata disco di origine.

gcloud

Per la crittografia gestita dal cliente, la chiave Cloud KMS utilizzata per criptare il disco viene utilizzato anche per criptare lo snapshot.

Puoi creare lo snapshot nel criterio di località di archiviazione definita dal tuo impostazioni snapshot oppure utilizzando una posizione di archiviazione alternativa di tua scelta. Per ulteriori informazioni, vedi Scegli la località di archiviazione degli snapshot.

  • Per creare uno snapshot nella posizione predefinita o personalizzata configurato nelle impostazioni dello snapshot, utilizza Comando gcloud compute snapshots create.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --source-disk=SOURCE_DISK_NAME \
        --snapshot-type=SNAPSHOT_TYPE
    
  • In alternativa, per eseguire l'override delle impostazioni dello snapshot e creare uno snapshot in una posizione di archiviazione personalizzata, includi --storage-location per indicare dove archiviare lo snapshot.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --source-disk=SOURCE_DISK_NAME \
        --snapshot-type=SNAPSHOT_TYPE \
        --storage-location=STORAGE_LOCATION
    

    Sostituisci quanto segue:

    • SNAPSHOT_NAME: un nome per lo snapshot.
    • SOURCE_ZONE: la zona del disco di origine.
    • SOURCE_DISK_NAME: il nome del volume del disco da cui vuoi creare uno snapshot.
    • SNAPSHOT_TYPE: il tipo di snapshot, STANDARD o ARCHIVE. Se il tipo di snapshot non è specificato, viene creato uno snapshot STANDARD.
    • STORAGE_LOCATION: Facoltativo: il campo Cloud Storage (più regioni) o la regione di Cloud Storage in cui archiviare lo snapshot. Puoi specificare una sola località di archiviazione.

      Utilizza il parametro --storage-location solo quando vuoi eseguire l'override del località di archiviazione predefinita o personalizzata configurata nello snapshot impostazioni.

REST

Puoi creare lo snapshot nel criterio di località di archiviazione definita dal tuo impostazioni snapshot oppure utilizzando una posizione di archiviazione alternativa di tua scelta. Per ulteriori informazioni, vedi Scegli la località di archiviazione degli snapshot.

  • Per creare uno snapshot nella posizione predefinita o personalizzata configurato nelle impostazioni dello snapshot, effettua una richiesta POST Metodo snapshots.insert:

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
        "name": "SNAPSHOT_NAME",
        "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
        "snapshotEncryptionKey":  {
         "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY"
        },
        "snapshotType": "SNAPSHOT_TYPE"
    }
    
  • In alternativa, per eseguire l'override delle impostazioni dello snapshot e creare uno snapshot in una posizione di archiviazione personalizzata, effettua una richiesta POST snapshots.insert e includi la proprietà storageLocations nella tua richiesta:

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
        "name": "SNAPSHOT_NAME",
        "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
        "snapshotEncryptionKey":  {
         "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY"
        },
        "snapshotType": "SNAPSHOT_TYPE",
        "storageLocations": [
            "STORAGE_LOCATION"
        ],
    }
    

Sostituisci quanto segue:

  • DESTINATION_PROJECT_ID: l'ID del progetto in cui vuoi creare lo snapshot.
  • SNAPSHOT_NAME: un nome per lo snapshot.
  • SOURCE_PROJECT_ID: l'ID del progetto del disco di origine.
  • SOURCE_ZONE: la zona del disco di origine.
  • SOURCE_DISK_NAME: il nome del disco da cui vuoi per creare uno snapshot.
  • KMS_PROJECT_ID: il progetto che contiene la chiave di crittografia archiviata in Cloud Key Management Service.
  • KEY_REGION: la regione in cui si trova la chiave Cloud KMS.
  • KEY_RING: il nome del keyring che contiene la chiave Cloud KMS.
  • SNAPSHOT_KEY: il nome della chiave Cloud KMS utilizzata per criptare il disco di origine.
  • SNAPSHOT_TYPE: il tipo di snapshot, STANDARD o ARCHIVE. Se il tipo di snapshot non è specificato, viene creato uno snapshot STANDARD.
  • STORAGE_LOCATION: Facoltativo: il campo Cloud Storage (più regioni) o la regione di Cloud Storage in cui archiviare lo snapshot. Puoi specificare una sola località di archiviazione.

    Utilizza il parametro storageLocations solo quando vuoi eseguire l'override del località di archiviazione predefinita o personalizzata configurata nello snapshot impostazioni.

Cripta un'immagine importata con CMEK

Puoi criptare una nuova immagine quando importare un'immagine personalizzata nell'account in Compute Engine. Prima di poter importare un'immagine, devi creare e comprimere un file immagine disco e caricare il file compresso su Cloud Storage.

Console

  1. Nella console Google Cloud, vai alla pagina Immagini.

    Vai a Google Immagini

  2. Fai clic su Crea immagine.
  3. In Disco di origine, seleziona il disco di cui vuoi creare un'immagine.
  4. In Crittografia, seleziona Chiave gestita dal cliente.
  5. Nel menu a discesa, seleziona la chiave Cloud KMS che vuoi da utilizzare per criptare questa immagine.
  6. Continua con la procedura di creazione dell'immagine.

gcloud

Per importare e criptare un'immagine, utilizza la classe Comando gcloud compute images create. Per la crittografia gestita dal cliente, specifica la chiave Cloud KMS per dell'immagine.

gcloud compute images create IMAGE_NAME \
    --source-disk=SOURCE_DISK  \
    --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY

Sostituisci quanto segue:

  • IMAGE_NAME: il nome dell'immagine che stai creando
  • SOURCE_DISK: il nome del disco per creare uno snapshot di
  • KMS_PROJECT_ID: il progetto che contiene Chiave Cloud KMS
  • REGION: la regione in cui si trova la chiave Cloud KMS che si trova in
  • KEY_RING: il keyring che contiene Chiave Cloud KMS
  • KEY: il nome della chiave da utilizzare per criptare il nuovo disco

REST

Per criptare un'immagine importata, crea una richiesta POST al Metodo images.insert. Specifica l'URI del file compresso, aggiungi la proprietà imageEncryptionKey alla richiesta di creazione dell'immagine e specifica la chiave per criptare l'immagine nella proprietà kmsKeyName.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images

{
 "rawDisk": {
  "source": "http://storage.googleapis.com/example-image/example-image.tar.gz"
  },
 "name": "IMAGE_NAME",
 "sourceType": "RAW",
 "imageEncryptionKey": {
   "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
   }
}

Sostituisci quanto segue:

  • PROJECT_ID: il progetto per creare l'immagine criptata nel
  • IMAGE_NAME: il nome dell'immagine che stai creando
  • KMS_PROJECT_ID: il progetto che contiene Chiave Cloud KMS
  • REGION: la regione in cui si trova la chiave Cloud KMS che si trova in
  • KEY_RING: il keyring che contiene Chiave Cloud KMS
  • KEY: il nome della chiave utilizzata per cripta il disco di origine

Crea un Persistent Disk da uno snapshot criptato con CMEK

Per creare un nuovo Persistent Disk autonomo da uno snapshot criptato, procedi come descritto di seguito seguenti:

Console

  1. Nella console Google Cloud, vai alla pagina Dischi.

    Vai a dischi

  2. Fai clic su Crea disco e inserisci le proprietà del nuovo disco.
  3. In Tipo di origine, seleziona l'istantanea o l'immagine che vuoi utilizzare.
  4. (Facoltativo) Se vuoi specificare una nuova chiave di crittografia, per Crittografia, specifica il tipo di chiave di crittografia da utilizzare e poi fornire le informazioni sulla chiave di crittografia.

    Se vuoi rimuovere cliente gestito o cliente chiave di crittografia fornita; per Crittografia, utilizza il valore predefinito Chiave di crittografia gestita da Google.

  5. Continua con il processo di creazione di Persistent Disk.

gcloud

Usa il comando gcloud compute disks create per creare un nuovo Persistent Disk autonomo a partire da uno snapshot criptato.

gcloud compute disks create DISK_NAME \
    --source-snapshot SNAPSHOT_NAME \
    --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY

Sostituisci quanto segue:

  • DISK_NAME: il nome del nuovo disco
  • SNAPSHOT_NAME: il nome dello snapshot criptato

    Per utilizzare un'immagine anziché uno snapshot, sostituisci --source-snapshot SNAPSHOT_NAME con --image IMAGE_NAME.

  • KMS_PROJECT_ID: facoltativo: il progetto che contiene la chiave Cloud KMS

  • REGION: (facoltativo) la regione in cui Cloud KMS la chiave si trova in

  • KEY_RING: facoltativo: il keyring che contiene la Chiave Cloud KMS

  • KEY: (facoltativo) il nome della chiave Cloud KMS da utilizzare per criptare il nuovo disco

    Per criptare il nuovo disco, puoi eseguire una delle seguenti operazioni:

    • Per specificare una nuova chiave di crittografia gestita dal cliente, utilizza il --kms-key flag.
    • Per utilizzare la chiave predefinita di proprietà di Google e gestita da Google, non includere il valore --kms-key flag.

REST

Crea una richiesta POST Metodo compute.disks.insert per creare un nuovo Persistent Disk autonomo a partire da uno snapshot criptato. Utilizza la sourceSnapshot per specificare lo snapshot.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks

{
  "name": "DISK_NAME",
  "sourceSnapshot": "projects/SNAPSHOT_PROJECT_ID/global/snapshots/SNAPSHOT_NAME",
  "diskEncryptionKey": {
     "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: il progetto in cui creare il nuovo disco
  • ZONE: la zona in cui creare il nuovo disco
  • DISK_NAME: il nome del nuovo disco
  • SNAPSHOT_PROJECT_ID: il progetto che contiene istantanea
  • SNAPSHOT_NAME: il nome dello snapshot criptato

    Per utilizzare un'immagine anziché uno snapshot, sostituisci sourceSnapshot con sourceImage.

  • KMS_PROJECT_ID: facoltativo: il progetto che contiene la chiave Cloud KMS

  • REGION: (facoltativo) la regione in cui Cloud KMS la chiave si trova in

  • KEY_RING: facoltativo: il keyring che contiene la Chiave Cloud KMS

  • KEY: (facoltativo) il nome della chiave Cloud KMS da utilizzare per criptare il nuovo disco

    Se includi diskEncryptionKey, il disco è criptato con della chiave Cloud KMS specificata. Se non includi diskEncryptionKey, il disco viene criptato utilizzando una chiave di proprietà di Google e gestita da Google.

Collegamento di un disco di avvio criptato con CMEK a una nuova VM

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Specifica i dettagli della VM e nella sezione Disco di avvio, fai clic su Cambia. Poi segui questi passaggi:

    1. Fai clic su Dischi esistenti.
    2. Nell'elenco Disco, seleziona un disco esistente da collegare alla VM.
    3. Fai clic su Seleziona.
  3. Continua con il processo di creazione della VM.

gcloud

Per collegare un disco criptato quando crei una nuova VM, utilizza il metodo Comando gcloud compute instances create. Utilizza il flag --disk per specificare il disco di avvio criptato, come mostrato in nell'esempio seguente:

gcloud compute instances create VM_NAME \
  ...
  --disk name=DISK_NAME,boot=yes

Sostituisci quanto segue:

  • VM_NAME: il nome della VM che stai creando
  • DISK_NAME: il nome del disco criptato

REST

Crea una richiesta POST Metodo compute.instances.insert. Utilizza la proprietà disks per specificare il disco di avvio criptato, come mostrato in nell'esempio seguente:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  ...
  "disks": [
    {
      "deviceName": "DISK_ALIAS",
      "source": "projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME"
    }
  ]
}

Sostituisci quanto segue:

  • PROJECT_ID: il progetto in cui creare la nuova VM
  • ZONE: la zona in cui creare la nuova VM
  • DISK_ALIAS: un nome univoco del dispositivo da utilizzare come disco nella directory /dev/disk/by-id/google-* della VM che esegue Sistema operativo Linux. Questo nome può essere utilizzato per fare riferimento al disco il montaggio, il ridimensionamento e così via dall'interno dell'istanza. In caso contrario specifica il nome di un dispositivo, la VM sceglie un nome di dispositivo predefinito a cui applicare questo disco, nel formato persistent-disk-x, dove x è un numero assegnati da Compute Engine. Questo campo è valido solo per e volumi Persistent Disk.
  • DISK_NAME: il nome del disco criptato

Rimuovi la chiave di crittografia di Cloud KMS da un Persistent Disk

Puoi decriptare i contenuti di un disco criptato e creare un nuovo disco utilizza la crittografia predefinita di Google Cloud. Per impostazione predefinita, Google Cloud cripta tutti i dati at-rest.

  1. Crea uno snapshot del disco criptato.
  2. Usa il nuovo snapshot criptato per crea un nuovo disco permanente.

Dopo aver creato il nuovo Persistent Disk, questo utilizza il valore predefinito di Google Cloud la crittografia per proteggere i contenuti del disco. Tutti gli snapshot che crei anche quel disco deve usare la crittografia predefinita.

Ruota la chiave di crittografia di Cloud KMS per un disco

Ruota la chiave utilizzata per criptare il disco creandone uno nuovo che utilizzi una nuova versione della chiave Cloud KMS. La rotazione delle chiavi è una best practice per rispettino le prassi di sicurezza standardizzate. Per ruotare le chiavi, procedi nel seguente modo:

  1. Ruota la chiave Cloud KMS.
  2. Crea uno snapshot del disco criptato.
  3. Usa il nuovo snapshot per crea un nuovo disco con la chiave ruotata nel passaggio precedente.
  4. Sostituisci il disco collegato alla VM che utilizza la chiave di crittografia precedente.

Quando crei il nuovo disco, viene utilizzata la nuova versione della chiave la crittografia. Tutti gli snapshot creati da quel disco utilizzano l'ultima versione e la versione della chiave.

Quando ruoti una chiave, i dati criptati con versioni precedenti della chiave non vengono automaticamente ricriptata. Per ulteriori informazioni, vedi Ricrittografia dei dati. La rotazione di una chiave non disattiva o disattiva automaticamente elimina una versione esistente della chiave.

Impatto della disattivazione o dell'eliminazione delle CMEK

Disabilitata o eliminazione una chiave di crittografia ha i seguenti effetti sulle seguenti risorse che la chiave contribuisce a proteggere:

  • Impossibile avviare le VM con dischi collegati. Se hai attivato Arresto delle VM alla revoca della chiave, poi VM con dischi collegati che la chiave contribuisce a proteggere l'arresto.
  • Non è possibile collegare dischi alle VM né creare snapshot per loro.
  • Non è possibile utilizzare gli snapshot per creare un disco.
  • Le immagini non possono essere utilizzate per creare un disco.

Se disattivi il tasto, puoi invertire gli effetti precedenti abilitando la chiave. Se elimini il tasto, non puoi annullare gli effetti precedenti.

Configura l'arresto delle VM alla revoca della chiave Cloud KMS

Puoi configurare la VM in modo che si arresti automaticamente quando revochi la Chiave Cloud KMS che aiuta a proteggere un Persistent Disk collegato a la VM. Puoi revocarlo tramite disattivazione o l'eliminazione li annotino. Con questa impostazione abilitata, la VM si arresta entro 7 ore dalla chiave revoca.

Se abiliti di nuovo la chiave, puoi riavviare la VM con il disco collegato che la chiave contribuisce a proteggere. La VM non si riavvia automaticamente dopo attivare la chiave.

Console

Per configurare l'arresto di una VM quando viene revocata una chiave Cloud KMS, esegui la seguenti:

  1. Inizia a creare una VM che includa un disco protetto da un Chiave Cloud KMS.
  2. Apri il menu Networking, dischi, sicurezza, gestione, single tenancy.
  3. Espandi la sezione Gestione.
  4. In Criterio di revoca della chiave di crittografia gestita dal cliente (CMEK), Seleziona Arresta.

gcloud

Utilizza la gcloud compute instances create comando per creare una VM includi --key-revocation-action-type=stop.

gcloud compute instances create VM_NAME \
  --image IMAGE \
  --key-revocation-action-type=stop

REST

Utilizza il metodo instances.insert per creare una VM e impostare la proprietà Da "keyRevocationActionType" a "STOP". Nell'esempio seguente viene creato da un'immagine pubblica.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ],
  "keyRevocationActionType": "STOP"
}

In alternativa, puoi configurare modello di istanza per creare VM che si arrestano al momento della revoca della chiave Google Cloud CLI o REST.

Console

Puoi utilizzare un modello di istanza per creare VM che si arrestano quando un La chiave Cloud KMS è stata revocata.

  1. Inizia a creare un nuovo modello di istanza che includa un disco è protetto da una chiave Cloud KMS.
  2. Apri il menu Networking, dischi, sicurezza, gestione, single tenancy.
  3. Espandi la sezione Gestione.
  4. In Criterio di revoca della chiave di crittografia gestita dal cliente (CMEK), Seleziona Arresto.

gcloud

Crea un modello di istanza utilizzando Comando gcloud compute instance-templates create, e includi --key-revocation-action-type=stop.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
  --key-revocation-action-type=stop

REST

Costruire una richiesta POST Metodo instanceTemplates.insert. Nel corpo della richiesta, devi definire esplicitamente tutti i campi di configurazione obbligatori. Se vuoi che le VM create da questo modello all'arresto alla revoca della chiave, specifica "keyRevocationActionType":"STOP". Ad esempio, un modello di istanza con campi obbligatori che creano VM che si arrestano al momento della revoca delle chiavi ad esempio:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceTemplates

{
  "name": "example-template",
  "properties": {
  "machineType": "e2-standard-4",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs": [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-11"
      }
    }
  ],
  "keyRevocationActionType": "STOP"
  }
}

Dopo aver creato una VM configurata per l'arresto su Cloud KMS revoca, crea e collegare un Persistent Disk è criptato con una chiave Cloud KMS.