Descontinuação das chaves de criptografia fornecidas pelo cliente (CSEK) no Compute Engine

O uso de chaves de criptografia fornecidas pelo cliente (CSEK) para criptografar os seguintes recursos do Compute Engine foi descontinuado. A partir de 20 de julho de 2026, não será mais possível usar uma CSEK para criptografar nenhum dos seguintes recursos do Compute Engine:

  • Discos permanentes
  • Imagens
  • Imagens de máquina
  • Snapshots padrão e de arquivo
  • Instant Snapshots

A CSEK será completamente removida do Compute Engine em 20 de julho de 2027.

Alternativas à CSEK

Use chaves de criptografia gerenciadas pelo cliente (CMEK) gerenciadas pelo Cloud Key Management Service. O Cloud KMS oferece controles de segurança aprimorados, capacidade de auditoria e suporte à rotação de chaves, além de suporte a volumes do Hyperdisk.

Este documento descreve como migrar os recursos do Compute Engine criptografados por CSEK para usar CMEKs.

Para mais informações sobre como usar CMEKs para discos, snapshots, e imagens do Compute Engine, consulte Proteger recursos com chaves do Cloud KMS.

Migrar recursos criptografados por CSEK para usar chaves de criptografia gerenciadas pelo cliente (CMEK)

Não é possível remover a CSEK usada para criptografar um recurso e substituí-la por uma CMEK. É necessário criar uma cópia do recurso atual e criptografá-la com a CMEK.

Esta seção descreve como migrar os seguintes recursos do Compute Engine para usar CMEKs em vez de CSEK:

  • Volumes Persistent Disk
  • Imagens
  • Imagens de máquina
  • Snapshots padrão e de arquivo
  • Instant Snapshots

Preparar a migração de recursos criptografados por CSEK

Antes de criptografar um recurso com uma CMEK, é necessário ter pelo menos um keyring e uma chave do Cloud KMS. Para criar um keyring e uma chave, siga as etapas em Como criar keyrings e chaves.

Migrar volumes Persistent Disk criptografados por CSEK para usar CMEKs

Não é possível remover a CSEK de um disco. Em vez disso, é necessário criar um novo disco criptografado por CMEK com base em um snapshot do disco criptografado por CSEK.

  1. Opcional: se o disco criptografado por CSEK for o disco de inicialização de uma instância de computação em execução, interrompa a instância.

  2. Crie um snapshot padrão do disco criptografado por CSEK.

  3. Crie um novo disco com base no snapshot padrão e criptografe-o com uma chave do Cloud KMS. É possível usar a Google Cloud CLI ou a REST.

    CLI gcloud

    Use o gcloud compute disks create comando.

    Se a CSEK do snapshot for incorporada por RSA, use o gcloud beta compute disks create command. como alternativa.

    Especifique a CMEK para o novo disco com a flag --kms-key.

    Para criar um disco regional, especifique as zonas de réplica do disco usando a replica-zones flag: `--replica-zones=^:^ZONE:REPLICA_ZONE.

        gcloud compute disks create NEW_CMEK_DISK_NAME \
        --source-snapshot=CSEK_SNAPSHOT_NAME \
        --csek-key-file=PATH_TO_CSEK_KEY_FILE \
        --kms-key=projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeysKMS_KEY_NAME \
        --no-require-csek-key-create \
        --LOCATION_FLAG=ZONE_OR_REGION \
        --type=DISK_TYPE
    

    Substitua:

    • NEW_CMEK_DISK_NAME: o nome do novo disco, por exemplo, migrated-cmek-disk.
    • CSEK_SNAPSHOT_NAME: o nome do snapshot criado com base no disco criptografado por CSEK, por exemplo, my-csek-snapshot.
    • PATH_TO_CSEK_KEY_FILE: o caminho para o arquivo que contém a CSEK usada para criptografar o snapshot, por exemplo, /tmp/csek_key.json. O formato do arquivo é descrito em Formato do arquivo de chaves.
    • KMS_PROJECT_ID: o ID do projeto em que a chave do Cloud KMS está localizada.
    • KEY_REGION: a região em que a chave está localizada.
    • KEY_RING: o nome do keyring que inclui a chave.
    • KMS_KEY_NAME: o nome da chave usada para criptografar o disco
    • LOCATION_FLAG: a flag para especificar o local, zone ou region.
    • ZONE_OR_REGION: a zona ou região do novo disco, por exemplo, us-central1-a ou us-central1.
    • DISK_TYPE: o tipo do novo disco. Por exemplo, para criar um novo volume de disco permanente equilibrado, especifique pd-balanced. Para valores válidos, consulte Tipos compatíveis para volumes do Hyperdisk e Variáveis de tipo de disco permanente.

    REST

    Faça uma POST solicitação para o disks.insert método.

    POST https://compute.googleapis.com/compute/API_VERSION_TO_USE/projects/PROJECT_ID/LOCATION_TYPE/ZONE_OR_REGION/disks
    
    {
     "name": "NEW_CMEK_DISK_NAME",
     "type": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/LOCATION_TYPE/ZONE_OR_REGION/diskTypes/DISK_TYPE",
     "sourceSnapshot": "projects/SNAPSHOT_PROJECT_ID/global/snapshots/CSEK_SNAPSHOT_NAME",
     "diskEncryptionKey": {
        "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/KMS_KEY_NAME"
     },
     "sourceSnapshotEncryptionKey": {
        "CSEK_KEY_TYPE": "RAW_OR_RSA_KEY"
     }
    }
    

    Substitua:

    • API_VERSION_TO_USE: a versão da API a ser usada. Se a chave CSEK for uma chave incorporada por RSA, especifique beta. Caso contrário, especifique v1.
    • PROJECT_ID: o ID do seu projeto, por exemplo, myproject-171.
    • LOCATION_TYPE: o tipo de local, zones para criar um disco zonal, ou regions para criar um disco regional.
    • ZONE_OR_REGION: a zona ou região do novo disco, por exemplo, us-central1-a ou us-central1.
    • DISK_TYPE: o tipo do novo disco. Por exemplo, para criar um novo volume de disco permanente equilibrado, especifique pd-balanced. Para valores válidos, consulte Tipos compatíveis para volumes do Hyperdisk e Variáveis de tipo de disco permanente.
    • NEW_CMEK_DISK_NAME: o nome do novo disco, por exemplo, migrated-cmek-disk.
    • SNAPSHOT_PROJECT_ID: o ID do projeto do snapshot.
    • CSEK_SNAPSHOT_NAME: o nome do snapshot criado com base no disco criptografado por CSEK, por exemplo, my-csek-snapshot.
    • KMS_PROJECT_ID: o ID do projeto em que a chave do Cloud KMS está localizada.
    • KEY_REGION: a região em que a chave está localizada.
    • KEY_RING: o nome do keyring que inclui a chave.
    • KMS_KEY_NAME: o nome da chave usada para criptografar o disco
    • CSEK_KEY_TYPE: o tipo da chave de criptografia fornecida pelo cliente, rawKey para uma chave bruta ou rsaEncryptedKey se a chave for incorporada por RSA.
    • RAW_OR_RSA_KEY: o valor da chave bruta ou criptografada por RSA.
  4. Use o novo disco com a instância de computação:

    1. Se o disco criptografado por CSEK for o disco de inicialização de uma instância de computação em execução, interrompa a instância.

    2. Para começar a usar o novo disco, desanexe o disco de origem criptografado por CSEK da instância e anexe o novo disco que você acabou de criar.

    3. Inicie a instância.

    4. Verifique se o novo disco funciona conforme o esperado.

    5. Depois de testar o novo disco, exclua o snapshot e o disco original criptografado por CSEK.

      Você continua a receber cobranças pelo disco e pelo snapshot até excluí-los.

Migrar Instant Snapshots criptografados por CSEK

Não é possível remover diretamente a CSEK de um Instant Snapshot. Em vez disso, é necessário converter o snapshot em um Instant Snapshot criptografado por CMEK concluindo as seguintes tarefas:

  1. Crie um snapshot padrão temporário criptografado por CSEK com base no Instant Snapshot.

  2. Crie um disco temporário criptografado por CMEK com base no snapshot criptografado por CSEK.

  3. Crie um Instant Snapshot criptografado por CMEK do novo disco.

  4. Depois de criar o Instant Snapshot criptografado por CMEK, exclua o snapshot padrão criptografado por CSEK e o disco temporário.

Migrar imagens e snapshots criptografados por CSEK

Não é possível remover a CSEK de uma imagem, um snapshot de arquivamento, um Instant Snapshot ou um snapshot padrão. Em vez disso, é necessário criar um novo disco criptografado por CMEK com base na imagem ou no snapshot e, em seguida, criar uma imagem ou um snapshot do novo disco.

  1. Crie um novo volume do Google Cloud Hyperdisk ou do Persistent Disk com base na imagem ou no snapshot:

  2. Crie uma imagem ou um snapshot padrão do novo disco. Criptografe a nova imagem ou snapshot com uma CMEK.

  3. Exclua o disco que você criou anteriormente.

Migrar imagens de máquina criptografadas por CSEK

Para criar uma imagem de máquina criptografada por CMEK com base em uma imagem de máquina criptografada por CSEK, é necessário criar uma instância temporária com base na imagem de máquina e, em seguida, criar uma imagem de máquina criptografada por CMEK com base na instância temporária. Siga estas etapas.

  1. Crie uma nova instância com base na imagem de máquina criptografada por CSEK, especificando uma chave do Cloud KMS para cada disco na imagem da máquina. É necessário usar a API REST ou a Google Cloud CLI. Para mais informações sobre como substituir propriedades ao criar uma imagem de máquina, consulte Criar uma instância com base em uma imagem de máquina com modificações de propriedades.

    Google Cloud CLI

    Use o comando gcloud compute instances create

    gcloud compute instances create NEW_INSTANCE_NAME \
     --project=PROJECT_ID \
     --zone=ZONE \
     --machine-type=INSTANCE_MACHINE_TYPE \
     --source-machine-image=CSEK_MACHINE_IMAGE_NAME \
     --source-machine-image-csek-key-file=PATH_TO_CSEK_KEY_FILE \
     --create-disk=device-name=BOOT_DISK_DEVICE_NAME,boot=yes,auto-delete=yes,kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/BOOT_DISK_KMS_KEY \
     --create-disk=device-name=DEVICE_NAME_FOR_DATA_DISK_1,boot=no,kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KMS_KEY_FOR_DATA_DISK_1 \
     --create-disk=device-name=DEVICE_NAME_FOR_DATA_DISK_2,boot=no,kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KMS_KEY_FOR_DATA_DISK_2
    
    

    Substitua:

    • NEW_INSTANCE_NAME: o nome da nova instância, por exemplo, migrated-instance.
    • PROJECT_ID: o ID do projeto em que você quer criar a instância, por exemplo,myproject-123.
    • ZONE: a zona da nova instância, por exemplo, us-central1-a.
    • INSTANCE_MACHINE_TYPE: o tipo de máquina da nova instância, por exemplo, c3-standard-4.
    • CSEK_MACHINE_IMAGE_NAME: o nome da imagem de máquina de origem criptografada por CSEK.
    • PATH_TO_CSEK_KEY_FILE: o caminho para o arquivo que contém a CSEK usada para criptografar a imagem de máquina de origem, por exemplo, /tmp/csek_key.json. Para o formato de arquivo necessário, consulte Formato do arquivo de chaves.
    • BOOT_DISK_DEVICE_NAME: o novo nome do dispositivo para o disco de inicialização, conforme definido na imagem de máquina.
    • KMS_PROJECT_ID: o ID do projeto em que a chave do Cloud KMS está localizada.
    • REGION: a região em que a chave do Cloud KMS está localizada, por exemplo, us-central1.
    • KEY_RING: o nome do keyring que inclui as chaves.
    • BOOT_DISK_KMS_KEY: o nome da chave do Cloud KMS usada para criptografar o disco de inicialização da nova instância.
    • DEVICE_NAME_FOR_DATA_DISK_1: um novo nome de dispositivo para o primeiro disco de dados , conforme definido na imagem de máquina de origem.
    • KMS_KEY_FOR_DATA_DISK_1: o nome da chave do Cloud KMS usada para criptografar o primeiro disco de dados.
    • KMS_KEY_FOR_DATA_DISK_2: o nome da chave do Cloud KMS usada para criptografar o segundo disco de dados.

    REST

    Faça uma POST solicitação para o instances.insert método

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    
     {
        "name": "NEW_INSTANCE_NAME",
        "sourceMachineImage": "projects/PROJECT_ID/global/machineImages/CSEK_MACHINE_IMAGE_NAME",
           "disks": [
           {
              "deviceName": "BOOT_DISK_DEVICE_NAME",
              "boot": true,
              "diskEncryptionKey": {
                 "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/BOOT_DISK_KMS_KEY"
              }
           },
           {
              "deviceName": "DEVICE_NAME_FOR_DATA_DISK_1",
              "boot": false,
              "diskEncryptionKey": {
                 "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KMS_KEY_FOR_DATA_DISK_1"
              }
           },
           {
              "deviceName": "DEVICE_NAME_FOR_DATA_DISK_2",
              "boot": false,
              "diskEncryptionKey": {
                 "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys//KMS_KEY_FOR_DATA_DISK_2"
              }
           }
        ]
     }
    

    Substitua:

    • PROJECT_ID: o ID do projeto em que você quer criar a instância temporária, por exemplo, myproject-123.
    • ZONE: a zona da nova instância, por exemplo, us-central1-a.
    • NEW_INSTANCE_NAME: o nome da instância temporária a ser criada, por exemplo, migrated-instance.
    • CSEK_MACHINE_IMAGE_NAME: o nome da imagem de máquina de origem criptografada por CSEK, por exemplo, csek-encrypted-image.
    • BOOT_DISK_DEVICE_NAME: o nome do dispositivo do disco de inicialização, conforme definido na imagem de máquina de origem, por exemplo, boot-disk-0.
    • KMS_PROJECT_ID: o ID do projeto em que a chave do Cloud KMS está localizada.
    • REGION: a região em que a chave do Cloud KMS está localizada, por exemplo, us-central1.
    • KEY_RING: o nome do keyring que inclui as chaves de criptografia.
    • BOOT_DISK_KMS_KEY: o nome da chave do Cloud KMS usada para criptografar o novo disco de inicialização.
    • DEVICE_NAME_FOR_DATA_DISK_1: o nome do dispositivo do primeiro disco de dados, conforme definido na imagem de máquina de origem.
    • KMS_KEY_FOR_DATA_DISK_1: o nome da chave do Cloud KMS usada para criptografar o primeiro disco de dados.
    • DEVICE_NAME_FOR_DATA_DISK_2: o nome do dispositivo do segundo disco de dados, conforme definido na imagem de máquina de origem.
    • KMS_KEY_FOR_DATA_DISK_2: o nome da chave do Cloud KMS usada para criptografar o segundo disco de dados.
  2. Verifique se a instância funciona conforme o esperado.

  3. Depois de testar a instância, crie uma imagem de máquina criptografada por CMEK com base na nova instância.

  4. Exclua a instância temporária.

Remover recursos não utilizados

Para evitar custos com recursos não utilizados, exclua todos os discos, imagens de máquina, snapshots, instâncias e imagens que não são mais necessários.

A seguir