Proteggere le risorse con le chiavi Cloud KMS

Questo documento fornisce informazioni su come utilizzare le chiavi Cloud Key Management Service (Cloud KMS) create manualmente per criptare dischi e altre risorse correlate allo spazio di archiviazione. Le chiavi gestite in Cloud KMS sono note come chiavi di crittografia gestite dal cliente (CMEK). Puoi utilizzare le chiavi CMEK per criptare le risorse di Compute Engine, come dischi, immagini macchina, snapshot istantanei e snapshot standard.

Prima di iniziare

  • Scopri di più su dischi, immagini, snapshot standard e istanze di macchine virtuali (VM).
  • Decidi se eseguire Compute Engine e Cloud KMS nello stesso progetto Cloud de Confiance by S3NS o in progetti diversi. Per informazioni sugli ID progetto e sui numeri di progetto Cloud de Confiance , consulta Identificazione dei progetti.
  • Per il progetto Cloud de Confiance che esegue Cloud KMS, procedi nel seguente modo:
    1. Abilita l'API Cloud KMS.

      Ruoli richiesti per abilitare le API

      Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

      Abilitare l'API

  • Per creare un nuovo volume Hyperdisk Balanced in modalità Confidential, assicurati che il tuo caso d'uso sia supportato esaminando i limiti e le regioni supportate pertinenti.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Cloud de Confiance by S3NS . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:

    Console

    Quando utilizzi la console Cloud de Confiance per accedere ai servizi Cloud de Confiance by S3NS e alle API, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init
  • Imposta una regione e una zona predefinite.
  • 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 accedi a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Cloud de Confiance .

Ruoli e autorizzazioni richiesti

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

service-PROJECT_NUMBER@compute-system.s3ns-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.s3ns-system.iam.gserviceaccount.com \
    --role roles/cloudkms.cryptoKeyEncrypterDecrypter

Sostituisci quanto segue:

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

Per assicurarti che l'agente di servizio Compute Engine disponga delle autorizzazioni necessarie per proteggere le risorse utilizzando le chiavi Cloud KMS, chiedi all'amministratore di concedere il ruolo IAM Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) all'agente di servizio Compute Engine sul tuo progetto.

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per proteggere le risorse utilizzando le chiavi Cloud KMS. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per proteggere le risorse utilizzando le chiavi Cloud KMS sono necessarie le seguenti autorizzazioni:

  • Per ruotare una chiave di crittografia che protegge un disco: compute.disks.updateKmsKey
  • Per ruotare una chiave di crittografia che protegge uno snapshot: compute.snapshots.updateKmsKey

L'amministratore potrebbe anche essere in grado di concedere all'agente di servizio Compute Engine queste autorizzazioni tramite ruoli personalizzati o altri ruoli predefiniti.

Specifiche di crittografia

Le chiavi Cloud KMS utilizzate per proteggere i dati in Compute Engine sono chiavi AES-256. Queste chiavi sono chiavi di crittografia delle chiavi e criptano le chiavi di crittografia dei dati che criptano i tuoi dati, non i dati stessi.

I dati sui dischi sono criptati utilizzando Google Cloud-powered encryption keys. Per le specifiche relative alla crittografia predefinita in Cloud de Confiance by S3NS, consulta Crittografia at-rest predefinita nella documentazione sulla sicurezza.

Con la modalità Confidential per Hyperdisk Balanced e Cloud HSM, la chiave di crittografia dei dati (DEK) ha proprietà di sicurezza aggiuntive con enclave supportate dall'hardware.

Limitazioni

  • Non puoi criptare le risorse esistenti con le chiavi CMEK. Puoi criptare dischi, immagini e snapshot con CMEK solo 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 devi specificare la chiave quando lavori con altre risorse criptate con CMEK, come cloni di dischi e snapshot standard.

  • Quando crei uno snapshot con ambito regionale (anteprima) da un disco criptato con una CMEK, devi creare lo snapshot con una CMEK regionale che si trova nella stessa località dello snapshot. In questo modo viene garantito l'isolamento regionale dello snapshot e ne viene aumentata l'affidabilità.

  • Non puoi utilizzare le tue chiavi con i dischi SSD locali perché le chiavi sono gestite dall'infrastruttura di Cloud de Confiance by S3NS e vengono eliminate quando la VM viene arrestata.

  • Le risorse regionali (dischi) possono essere criptate solo da una chiave in una delle 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, nella regione us-west1 o nella multi-regione us.

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

  • Non puoi modificare o rimuovere la chiave di crittografia per un'immagine o uno snapshot istantaneo.

  • Non puoi rimuovere la chiave di crittografia di un disco o di uno snapshot né modificarla da una CMEK a una Google Cloud-powered key. Crea invece una copia del disco o dello snapshot e specifica un nuovo tipo di crittografia per la copia.

    Per ulteriori informazioni, consulta Rimuovere CMEK da un disco e Rimuovere CMEK da uno snapshot.

  • Non puoi ruotare o modificare la chiave CMEK dei volumi Hyperdisk Confidential online o dei volumi Hyperdisk online collegati a tipi di macchine non supportati.

  • Puoi ruotare o modificare la CMEK solo sui seguenti tipi di dischi:

    • Tutti i volumi Persistent Disk
    • Volumi Hyperdisk creati da uno snapshot istantaneo
    • Volumi Hyperdisk offline
    • Volumi Hyperdisk confidenziali offline
    • Volumi Hyperdisk online collegati a tipi di macchine di prima o seconda generazione
    • Volumi Hyperdisk online collegati ai seguenti tipi di macchine di terza o quarta generazione:

      • A3
      • A4
      • A4X
      • C4
      • C4A
      • C4D
      • C3
      • X4
      • Z3
      • H4D
      • Tutte le versioni di TPU
  • Non puoi modificare la chiave per i volumi Hyperdisk che hai creato clonando un disco, a meno che tu non abbia eliminato il disco di origine e tutti gli altri cloni del disco di origine.

Creazione manuale o automatica delle chiavi

Puoi creare le chiavi Cloud KMS manualmente o utilizzare Autokey di Cloud KMS. Autokey semplifica la creazione e la gestione delle chiavi Cloud KMS automatizzando il provisioning e l'assegnazione. Con Autokey, non devi eseguire il provisioning di portachiavi, chiavi e service account in anticipo. Vengono invece generate on demand durante la creazione delle risorse Compute Engine. Per saperne di più, consulta la panoramica di Autokey.

Crea manualmente chiavi automatizzate e chiave

Per il progetto Cloud de Confiance che esegue Cloud KMS, crea un keyring e una chiave come descritto in Creazione di keyring e chiavi.

Crittografa un nuovo Persistent Disk con CMEK

Puoi criptare un nuovo Persistent Disk fornendo una chiave durante la creazione della VM o del disco.

Console

  1. Nella console Cloud de Confiance , 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 utilizzare per criptare questo disco.
  5. Per creare il disco, fai clic su Crea.

gcloud

Crea un disco criptato utilizzando il comando gcloud compute disks create e specifica la chiave utilizzando 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 della chiave Cloud KMS
  • REGION: la regione in cui si trova la chiave
  • KEY_RING: il nome delle chiavi automatizzate che includono la chiave
  • KEY: il nome della chiave utilizzata per criptare il disco

REST

Crea una richiesta POST al metodo instances.insert. Per criptare un disco, utilizza la proprietà diskEncryptionKey con la proprietà kmsKeyName. Ad esempio, puoi criptare un nuovo disco durante la creazione della 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 progettoCloud de Confiance 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 della chiave Cloud KMS
  • REGION: la regione in cui si trova il disco
  • KEY_RING: il nome delle chiavi automatizzate che includono la chiave
  • KEY: il nome della chiave utilizzata per criptare il disco
  • SOURCE_IMAGE: l'immagine da utilizzare per creare la VM, ad esempio projects/debian-cloud/global/images/debian-11-bullseye-v20231115

Analogamente, puoi utilizzare il metodo disks.insert per creare un nuovo Persistent Disk autonomo e criptarlo con la tua 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 progettoCloud de Confiance che esegue Compute Engine
  • ZONE: la zona in cui creare il disco
  • SOURCE_IMAGE: l'immagine da utilizzare per 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 della chiave Cloud KMS
  • REGION: la regione in cui si trova il disco
  • KEY_RING: il nome delle chiavi automatizzate che includono la chiave
  • KEY: il nome della chiave utilizzata per criptare il disco
  • DISK_TYPE: il tipo di disco da creare

Crea un disco Hyperdisk bilanciato in modalità Confidential

Puoi creare un nuovo disco Hyperdisk Balanced in modalità Confidential con la consoleCloud de Confiance , Google Cloud CLI o REST. Per creare un disco che non sia in modalità Confidential, segui i passaggi descritti in Crea un Persistent Disk da uno snapshot criptato con CMEK.

Console

  1. Nella console Cloud de Confiance , vai alla pagina Dischi.

    Vai a Dischi

  2. Fai clic su Crea disco e inserisci le proprietà del nuovo disco.
  3. Nella sezione Impostazioni disco, scegli Hyperdisk bilanciato per il tipo di disco.
  4. Facoltativo. Modifica le impostazioni predefinite di Dimensioni, IOPS sottoposte a provisioning e Throughput riservato per il disco.
  5. Nella sezione Crittografia, seleziona Chiave Cloud KMS.
  6. Nell'elenco delle chiavi, seleziona la chiave Cloud HSM che vuoi utilizzare per criptare questo disco.
  7. Nella sezione Confidential Computing, seleziona Abilita i servizi di Confidential Computing.
  8. Per creare il disco, fai clic su Crea.

gcloud

Crittografa un nuovo disco con la modalità confidenziale per Hyperdisk Balanced utilizzando il comando gcloud compute disks create. Attiva la modalità riservata con il flag --confidential-compute e specifica la chiave utilizzando il flag --kms-key.

gcloud compute disks create DISK_NAME \
  --type=hyperdisk-balanced \
  --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY \
  --confidential-compute

Sostituisci quanto segue:

  • DISK_NAME: il nome del nuovo disco.
  • KMS_PROJECT_ID: il progetto proprietario della chiave Cloud HSM
  • REGION: la regione in cui si trova la chiave
  • KEY_RING: il nome delle chiavi automatizzate che includono la chiave
  • KEY: il nome della chiave utilizzata per criptare il disco

REST

Crea una richiesta POST al metodo instances.insert. Per criptare un disco con la modalità Confidential per Hyperdisk Balanced, utilizza la proprietà diskEncryptionKey con la proprietà kmsKeyName e imposta il flag enableConfidentialCompute. Ad esempio, puoi criptare un nuovo disco durante la creazione della VM con la chiave Cloud HSM utilizzando quanto segue:

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

{
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
 {
  "type": "DISK_TYPE",
  "diskEncryptionKey": {
    "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
  },
  "initializeParams": {
   "sourceImage": "SOURCE_IMAGE",
   "enableConfidentialCompute": true
  },
  "boot": true
 }
],
"networkInterfaces": [
  {
   "network": "global/networks/default"
  }
]
}

Sostituisci quanto segue:

  • DISK_TYPE: il tipo di disco da creare, ad esempio hyperdisk-balanced
  • PROJECT_ID: l'ID del progetto Cloud de Confiance che esegue Compute Engine
  • ZONE: la zona in cui creare la VM
  • MACHINE_TYPE: il tipo di macchina, ad esempio n2d-standard-4
  • KMS_PROJECT_ID: il progetto proprietario della chiave Cloud HSM
  • REGION: la regione in cui si trova il disco
  • KEY_RING: il nome delle chiavi automatizzate che includono la chiave
  • KEY: il nome della chiave utilizzata per criptare il disco
  • SOURCE_IMAGE: l'immagine che supporta Confidential VM da utilizzare per la creazione della VM, ad esempio projects/debian-cloud/global/images/debian-11-bullseye-v20231115

Analogamente, puoi utilizzare il metodo disks.insert per creare una nuova modalità Confidential per Hyperdisk Balanced:

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",
 "enableConfidentialCompute": true
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progettoCloud de Confiance che esegue Compute Engine
  • ZONE: la zona in cui creare il disco
  • SOURCE_IMAGE: l'immagine che supporta Confidential VM 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 della chiave Cloud HSM
  • REGION: la regione in cui si trova il disco
  • KEY_RING: il nome delle chiavi automatizzate che includono la chiave
  • KEY: il nome della chiave utilizzata per criptare il disco
  • DISK_TYPE: il tipo di disco da creare, ad esempio hyperdisk-balanced.

Crea uno snapshot da un disco criptato con CMEK

Per creare uno snapshot da un disco criptato con CMEK, devi creare lo snapshot con la stessa chiave di crittografia utilizzata per criptare il disco.

Non puoi creare uno snapshot che utilizza una CMEK a meno che anche il disco di origine non utilizzi CMEK. Inoltre, non puoi convertire dischi o snapshot criptati con CMEK in modo che utilizzino la crittografia predefinita diCloud de Confiance by S3NS , a meno che non crei una nuova immagine disco e un nuovo disco permanente.

Gli snapshot dei dischi criptati con CMEK sono incrementali.

Console

  1. Nella console Cloud de Confiance , 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. Lo snapshot viene criptato automaticamente con la stessa chiave utilizzata dal disco di origine.

gcloud

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

Puoi creare lo snapshot nella policy della località di archiviazione definita dalle tue impostazioni degli snapshot o utilizzando una località di archiviazione alternativa di tua scelta. Per saperne di più, consulta la sezione sulla scelta della località di archiviazione degli snapshot.

  • Per creare uno snapshot nella località predefinita o personalizzata configurata nelle impostazioni degli snapshot, utilizza il 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 ignorare le impostazioni degli snapshot e crearne uno in una località di archiviazione personalizzata, includi il flag --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
    
  • (Anteprima) Per creare uno snapshot con ambito a livello regionale in una regione consentita, includi il flag --region per indicare dove creare lo snapshot.

      gcloud beta compute snapshots create SNAPSHOT_NAME \
          --region=SNAPSHOT_SCOPE_REGION
          --source-disk=SOURCE_DISK_NAME \
          --source-disk-zone=SOURCE_ZONE \
          --snapshot-type=SNAPSHOT_TYPE \
          --kms-key=projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY
    

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.
  • 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 delle chiavi automatizzate che contengono la chiave Cloud KMS.
  • SNAPSHOT_KEY: il nome della chiave Cloud KMS che hai utilizzato per criptare il disco di origine.
  • SNAPSHOT_TYPE: il tipo di snapshot, STANDARD o ARCHIVIO. Se non viene specificato un tipo di snapshot, viene creato uno snapshot STANDARD.
  • (Facoltativo) STORAGE_LOCATION: per gli snapshot con ambito globale, indica la multi-regione di Cloud Storage o la regione di Cloud Storage in cui vuoi archiviare lo snapshot. Puoi specificare una sola località di archiviazione.

    Utilizza il parametro --storage-location solo se vuoi sostituire la località di archiviazione personalizzata o predefinita configurata nelle impostazioni degli snapshot.

  • (Facoltativo) SNAPSHOT_SCOPE_REGION: per gli snapshot con ambito a livello regionale, indica la regione che lo snapshot ha come ambito. Se includi questo parametro, non puoi utilizzare il parametro --storage-location. STORAGE_LOCATION viene impostato automaticamente su SNAPSHOT_SCOPE_REGION.

REST

Puoi creare lo snapshot nella policy della località di archiviazione definita dalle tue impostazioni degli snapshot o utilizzando una località di archiviazione alternativa di tua scelta. Per saperne di più, consulta la sezione sulla scelta della località di archiviazione degli snapshot.

  • Per creare uno snapshot nella località predefinita o personalizzata configurata nelle impostazioni degli snapshot, invia una richiesta POST al metodo snapshots.insert:

    POST https://compute.s3nsapis.fr/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 ignorare le impostazioni degli snapshot e crearne uno in una località di archiviazione personalizzata, invia una richiesta POST al metodo snapshots.insert e includi la proprietà storageLocations nella richiesta:

    POST https://compute.s3nsapis.fr/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"
        ],
    }
    
  • (Anteprima) Per creare uno snapshot con ambito a livello regionale in una regione consentita, invia una richiesta POST al metodo snapshots.insert e definisci la regione di creazione:

    POST https://compute.s3nsapis.fr/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots
    {
      "name": "SNAPSHOT_NAME",
      "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME",
      "snapshotType": "SNAPSHOT_TYPE",
      "snapshotEncryptionKey": {
        "kmsKeyName":"projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY",
      },
    }
    

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 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 delle chiavi automatizzate che contengono la chiave Cloud KMS.
  • SNAPSHOT_KEY: il nome della chiave Cloud KMS che hai utilizzato per criptare il disco di origine.
  • SNAPSHOT_TYPE: il tipo di snapshot, STANDARD o ARCHIVIO. Se non viene specificato un tipo di snapshot, viene creato uno snapshot STANDARD.
  • (Facoltativo) STORAGE_LOCATION: per gli snapshot con ambito globale, indica la multi-regione di Cloud Storage o la regione di Cloud Storage in cui vuoi archiviare lo snapshot. Puoi specificare una sola località di archiviazione.

    Utilizza il parametro storageLocations solo se vuoi sostituire la località di archiviazione personalizzata o predefinita configurata nelle impostazioni degli snapshot.

  • (Facoltativo) SNAPSHOT_SCOPE_REGION: per gli snapshot con ambito a livello regionale, indica la regione che lo snapshot ha come ambito. Se includi questo parametro, non puoi utilizzare il parametro storageLocations. STORAGE_LOCATION viene impostato automaticamente su SNAPSHOT_SCOPE_REGION.

Crittografa un'immagine importata con CMEK

Quando importi un'immagine personalizzata in Compute Engine, puoi criptare una nuova immagine. Prima di poter importare un'immagine, devi creare e comprimere un file immagine del disco e caricare il file compresso su Cloud Storage.

Console

  1. Nella console Cloud de Confiance , vai alla pagina Immagini.

    Vai a Immagini

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

gcloud

Per importare e criptare un'immagine, utilizza il comando gcloud compute images create. Per la crittografia gestita dal cliente, specifica la chiave Cloud KMS per l'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 di cui creare uno snapshot
  • KMS_PROJECT_ID: il progetto che contiene la chiave Cloud KMS
  • REGION: la regione in cui si trova la chiave Cloud KMS
  • KEY_RING: le chiavi automatizzate che contengono la 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 in cui creare l'immagine criptata
  • IMAGE_NAME: il nome dell'immagine che stai creando
  • KMS_PROJECT_ID: il progetto che contiene la chiave Cloud KMS
  • REGION: la regione in cui si trova la chiave Cloud KMS
  • KEY_RING: le chiavi automatizzate che contengono la chiave Cloud KMS
  • KEY: il nome della chiave che hai utilizzato per criptare il disco di origine

Crea un disco da uno snapshot criptato con CMEK

Per creare un nuovo disco da uno snapshot criptato:

Console

  1. Nella console Cloud de Confiance , vai alla pagina Dischi.

    Vai a Dischi

  2. Fai clic su Crea disco e inserisci le proprietà del nuovo disco.
  3. Per Tipo di origine, seleziona lo snapshot 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, quindi fornisci le informazioni sulla chiave di crittografia.

    Se vuoi rimuovere la chiave di crittografia gestita dal cliente o fornita dal cliente, per Crittografia utilizza il valore predefinito Google Cloud-powered encryption key.

  5. Continua con il processo di creazione del disco.

gcloud

  • Per creare un nuovo disco da uno snapshot criptato con ambito globale, utilizza il comando gcloud compute disks create.

    gcloud compute disks create DISK_NAME \
      --zone=ZONE \
      --source-snapshot=SNAPSHOT_NAME \
      --kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
    
  • (Anteprima) Per creare un nuovo disco da uno snapshot criptato con ambito regionale, utilizza il comando gcloud compute disks create e specifica la regione dello snapshot di origine.

    gcloud compute disks create DISK_NAME \
      --zone=ZONE \
      --source-snapshot=SNAPSHOT_NAME \
      --source-snapshot-region=SOURCE_REGION \
      --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 si trova la chiave Cloud KMS

  • SOURCE_REGION: la regione a cui è applicato lo snapshot di origine.

  • ZONE: la zona in cui risiederà il nuovo disco

  • KEY_RING: (facoltativo) la raccolta di chiavi 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 flag --kms-key.
    • Per utilizzare il valore predefinito Google Cloud-powered encryption key, non includere il flag --kms-key.

REST

  • Per creare un nuovo disco da uno snapshot criptato con ambito globale, crea una richiesta POST al metodo compute.disks.insert. Utilizza la proprietà 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"
      }
    }
    
  • (Anteprima) Per creare un nuovo disco da uno snapshot criptato con ambito regionale, crea una richiesta POST al metodo compute.disks.insert. Utilizza la proprietà 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/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME",
      "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE",
      "zone": "projects/PROJECT_ID/zones/ZONE"
      "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
  • SOURCE_REGION: la regione a cui è applicato lo snapshot di origine.
  • DISK_NAME: Il nome del nuovo disco
  • DISK_TYPE: L'URL completo o parziale per il tipo del disco, ad esempio PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
  • SNAPSHOT_PROJECT_ID: Il progetto che contiene lo snapshot
  • 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 si trova la chiave Cloud KMS

  • KEY_RING: (facoltativo) la raccolta di chiavi 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 viene criptato con la chiave Cloud KMS specificata. Se non includi diskEncryptionKey, il disco viene criptato utilizzando un Google Cloud-powered encryption key.

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

Console

  1. Nella console Cloud de Confiance , 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. Quindi:

    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 la procedura di creazione della VM.

gcloud

Per collegare un disco criptato quando crei una nuova VM, utilizza il comando gcloud compute instances create. Utilizza il flag --disk per specificare il disco di avvio criptato, come mostrato 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 al metodo compute.instances.insert. Utilizza la proprietà disks per specificare il disco di avvio criptato, come mostrato 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 alias del disco nella directory /dev/disk/by-id/google-* della VM che esegue un sistema operativo Linux. Questo nome può essere utilizzato per fare riferimento al disco per operazioni come montaggio o ridimensionamento dall'interno dell'istanza. Se non specifichi un nome del dispositivo, la VM sceglie un nome del dispositivo predefinito da applicare a questo disco, nel formato persistent-disk-x, dove x è un numero assegnato da Compute Engine. Questo campo è applicabile solo ai volumi dei Persistent Disk.
  • DISK_NAME: il nome del disco criptato

Ruotare la CMEK per un disco o uno snapshot

Per ridurre le potenziali conseguenze della compromissione della chiave, ti consigliamo di ruotare le chiavi di crittografia Cloud KMS a intervalli regolari utilizzando uno dei seguenti metodi.

gcloud

Per ruotare la chiave Cloud KMS utilizzata per criptare un disco, uno snapshot di archiviazione o uno snapshot standard in una nuova versione della chiave, utilizza il comando gcloud compute disks update-kms-key o il comando gcloud compute snapshots update-kms-key.

  • Per ruotare la versione della chiave che cripta un disco:

    gcloud compute disks update-kms-key DISK_NAME \
    --zone ZONE
    
  • Per ruotare la versione della chiave che cripta uno snapshot standard:

    gcloud compute snapshots update-kms-key SNAPSHOT_NAME
    

Sostituisci quanto segue:

  • DISK_NAME: il nome del disco criptato
  • ZONE: la zona in cui si trova il disco criptato
  • SNAPSHOT_NAME: il nome dello snapshot criptato

REST

Per ruotare la chiave Cloud KMS utilizzata per criptare un disco, un archivio snapshot o uno snapshot standard in una nuova versione della chiave, crea una richiesta PATCH al metodo compute.disks.updateKmsKey o al metodo compute.snapshots.updateKmsKey.

  • Per ruotare la versione della chiave che cripta un disco a livello di zona:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/updateKmsKey
    
  • Per ruotare la versione della chiave che cripta un disco regionale:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/updateKmsKey
    
  • Per ruotare la versione della chiave che cripta uno snapshot standard con ambito globale:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/updateKmsKey
    
  • (Anteprima) Per ruotare la versione della chiave che cripta uno snapshot standard con ambito regionale:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/snapshots/SNAPSHOT_NAME/updateKmsKey
    

Sostituisci quanto segue:

  • PROJECT_ID: il progetto in cui si trova il disco o lo snapshot criptato
  • ZONE: la zona in cui si trova il disco criptato
  • REGION: la regione in cui si trova il disco regionale o lo snapshot con ambito a livello regionale
  • DISK_NAME: il nome del disco criptato
  • SNAPSHOT_NAME: il nome dello snapshot criptato
  • REGION: la regione in cui si trova il disco regionale o lo snapshot con ambito a livello regionale

La risposta includerà un elemento name con un valore di operazione che rappresenta la rotazione della chiave:

  "name": "operation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY"
  

Puoi quindi eseguire il polling dello stato dell'operazione per determinare se la chiamata API è riuscita effettuando una richiesta GET:

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations/OPERATION_NAME
  

Sostituisci quanto segue:

  • PROJECT_ID: il progetto in cui si trova il disco o lo snapshot criptato
  • ZONE: la zona in cui si trova il disco criptato
  • OPERATION_NAME: il nome dell'operazione di rotazione CMEK, nel formato operation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY

La risposta includerà un valore progress che rappresenta lo stato della rotazione della chiave. Quando progress è 100, l'operazione è riuscita.

La rotazione delle chiavi non disabilita né elimina le versioni precedenti delle chiavi. Per maggiori informazioni, consulta la sezione Dopo la rotazione delle chiavi.

Modificare la CMEK per un disco o uno snapshot

Puoi modificare la crittografia di un disco, di uno snapshot di archiviazione o di uno snapshot standard in una CMEK diversa (ad esempio, durante la migrazione di un progetto o per soddisfare nuovi requisiti di conformità) senza tempi di inattività.

La modifica della CMEK cripta nuovamente la chiave di crittografia dei dati (DEK) della risorsa con la nuova chiave. Questa procedura non modifica la DEK e non influisce sul rendimento dei carichi di lavoro in esecuzione.

Per modificare la chiave Cloud KMS, puoi utilizzare gcloud CLI o REST.

gcloud

Per modificare la chiave Cloud KMS per un disco o uno snapshot standard, utilizza il flag --kms-key con il comando gcloud compute disks update-kms-key o il comando gcloud compute snapshots update-kms-key.

  • Per modificare la chiave di un disco zonale:

    gcloud compute disks update-kms-key DISK_NAME \
    --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \
    --zone=ZONE
    
  • Per modificare la chiave di un disco a livello di regione:

    gcloud compute disks update-kms-key DISK_NAME \
    --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \
    --region=REGION
    
  • Per modificare la chiave di uno snapshot globale:

    gcloud compute snapshots update-kms-key SNAPSHOT_NAME \
    --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME
    
  • Per modificare la chiave di uno snapshot con scope regionale:

    gcloud beta compute snapshots update-kms-key SNAPSHOT_NAME \
    --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \
    --regions=REGION
    

Sostituisci quanto segue:

  • DISK_NAME: il nome del disco criptato.
  • NEW_KMS_KEY: l'ID risorsa completo della nuova CMEK.
  • ZONE: la zona in cui si trova il disco.
  • REGION: la regione in cui si trova il disco o lo snapshot.
  • SNAPSHOT_NAME: il nome dello snapshot criptato.

REST

Per modificare la chiave, invia una richiesta POST al metodo compute.disks.updateKmsKey o al metodo compute.snapshots.updateKmsKey e includi kmsKeyName nel corpo della richiesta.

  • Per modificare la chiave di un disco zonale:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/updateKmsKey
    
    {
    "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME"
    }
    
  • Per modificare la chiave di un disco a livello di regione:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/updateKmsKey
    
    {
    "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME"
    }
    
  • Per modificare la chiave di uno snapshot globale:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/updateKmsKey
    
    {
    "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME"
    }
    
  • Per modificare la chiave di uno snapshot con scope regionale:

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/snapshots/SNAPSHOT_NAME/updateKmsKey
    
    {
    "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME"
    }
    

Sostituisci quanto segue:

  • PROJECT_ID: il progetto contenente il disco o lo snapshot.
  • ZONE: la zona in cui si trova il disco.
  • REGION: la regione in cui si trova il disco o lo snapshot.
  • DISK_NAME: il nome del disco.
  • NEW_KEY_NAME: il nome della nuova CMEK.
  • SNAPSHOT_NAME: il nome dello snapshot criptato.

Rimuovere la CMEK da un disco

Non puoi rimuovere una CMEK da un disco o modificare il tipo di chiave di crittografia. Puoi eseguire una di queste procedure:

Per creare un disco che utilizza Google Cloud-powered key da un disco criptato con CMEK:

  1. Crea uno snapshot del disco criptato.
  2. Utilizza il nuovo snapshot criptato per creare un nuovo disco.

Dopo aver creato il nuovo disco, questo utilizza la crittografia predefinita di Cloud de Confiance by S3NS per proteggere i contenuti del disco. Anche gli snapshot creati da questo disco devono utilizzare la crittografia predefinita.

Rimuovere la chiave CMEK da uno snapshot

Non puoi rimuovere una CMEK da uno snapshot o modificare il tipo di chiave di crittografia. Puoi modificare lo snapshot per utilizzare una CMEK diversa, oppure creare una copia dello snapshot e criptare la copia con una Google Cloud-powered key.

Per creare uno snapshot che utilizza Google Cloud-powered key da uno snapshot criptato con CMEK:

  1. Crea un nuovo disco dallo snapshot. Quando crei il nuovo disco, seleziona il tipo di crittografia che preferisci.

  2. Crea uno snapshot del nuovo disco:

Disattivare o eliminare una chiave CMEK

Se non hai più bisogno di una chiave CMEK o vuoi impedirne l'utilizzo, disabilita o elimina la chiave. L'eliminazione, la disattivazione o la rimozione delle autorizzazioni IAM su una chiave viene anche definita revoca della chiave.

Impatto della revoca della chiave sulle risorse criptate

Quando revochi una chiave di crittografia, le risorse protette dalla chiave vengono interessate come segue:

  • Non puoi avviare una VM se uno qualsiasi dei dischi collegati ha chiavi revocate.
  • Se un disco che utilizza la chiave è collegato a una VM in esecuzione e hai attivato l'arresto della VM in caso di revoca della chiave per la VM, Compute Engine arresta la VM entro 7 ore.
  • Non puoi collegare un disco con una chiave revocata a una VM o creare uno snapshot dal disco.
  • Non puoi utilizzare immagini o snapshot criptati con chiavi revocate per creare dischi.

Se disattivi la chiave, puoi invertire gli effetti precedenti attivandola. Se distruggi la chiave, non puoi annullare gli effetti precedenti.

Configura l'arresto della VM in caso di revoca della chiave Cloud KMS

Puoi configurare la VM in modo che si arresti automaticamente quando revochi la chiave Cloud KMS che contribuisce a proteggere un disco collegato alla VM. Puoi revocare una chiave disattivandola o eliminandola. Se questa impostazione è attiva, la VM si arresta entro 7 ore dalla revoca della chiave.

Se riattivi la chiave, puoi riavviare la VM con il disco collegato che la chiave aiuta a proteggere. La VM non viene riavviata automaticamente dopo l'attivazione della chiave.

Console

Per configurare una VM in modo che si arresti quando una chiave Cloud KMS viene revocata:

  1. Inizia a creare una VM 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 Arresta.

gcloud

Utilizza il comando gcloud compute instances create per creare una VM e 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 imposta la proprietà "keyRevocationActionType" su "STOP". L'esempio seguente crea la VM 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 un template di istanza per creare VM che si arrestano in caso di revoca della chiave utilizzando Google Cloud CLI o REST.

Console

Puoi utilizzare un modello di istanza per creare VM che si arrestano quando una chiave Cloud KMS viene 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 il 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

Crea una richiesta POST al 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 vengano spente alla revoca della chiave, specifica "keyRevocationActionType":"STOP". Ad esempio, un template di istanza con i campi obbligatori minimi che creerà VM che si arrestano in caso di revoca della chiave ha il seguente aspetto:

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 lo spegnimento in caso di revoca di Cloud KMS, crea e collega un Persistent Disk criptato con una chiave Cloud KMS.

Passaggi successivi