Baja de las claves de encriptación proporcionadas por el cliente (CSEK) en Compute Engine

El uso de claves de encriptación proporcionadas por el cliente (CSEK) para encriptar los siguientes recursos de Compute Engine dejó de estar disponible. A partir del 20 de julio de 2026, ya no podrás usar una CSEK para encriptar ninguno de los siguientes recursos de Compute Engine:

  • Discos persistentes
  • Imágenes
  • Imágenes de máquina
  • Instantáneas estándar y de archivo
  • Instantáneas

Las CSEK se quitarán por completo de Compute Engine el 20 de julio de 2027.

Alternativas a las CSEK

Usa claves de encriptación administradas por el cliente (CMEK) administradas por el Cloud Key Management Service. Cloud KMS ofrece controles de seguridad mejorados, auditabilidad y compatibilidad con la rotación de tus claves, además de compatibilidad con volúmenes de Hyperdisk.

En este documento, se describe cómo migrar tus recursos de Compute Engine encriptados con CSEK para usar CMEK en su lugar.

Para obtener más información sobre el uso de CMEK para discos, instantáneas, e imágenes de Compute Engine, consulta Protege recursos con claves de Cloud KMS.

Migra los recursos encriptados con CSEK para usar claves de encriptación administradas por el cliente (CMEK)

No puedes quitar la CSEK que se usa para encriptar un recurso y reemplazarla por una CMEK. Debes crear una copia del recurso existente y encriptarla con la CMEK.

En esta sección, se describe cómo migrar los siguientes recursos de Compute Engine para usar CMEK en lugar de CSEK:

  • Volúmenes de Persistent Disk
  • Imágenes
  • Imágenes de máquina
  • Instantáneas estándar y de archivo
  • Instantáneas

Prepárate para migrar recursos encriptados con CSEK

Para encriptar un recurso con una CMEK, debes tener al menos un llavero de claves y una clave de Cloud KMS. Para crear un llavero de claves y una clave, sigue los pasos que se indican en Crea claves simétricas.

Migra los volúmenes de Persistent Disk encriptados con CSEK para usar CMEK

No puedes quitar la CSEK de un disco. En su lugar, debes crear un disco nuevo encriptado con CMEK a partir de una instantánea del disco encriptado con CSEK.

  1. Opcional: Si el disco encriptado con CSEK existente es el disco de arranque de una instancia de procesamiento en ejecución, detén la instancia.

  2. Crea una instantánea estándar del disco encriptado con CSEK.

  3. Crea un disco nuevo a partir de la instantánea estándar y encripta el disco con una clave de Cloud KMS. Puedes usar Google Cloud CLI o REST.

    Gcloud CLI

    Usa el gcloud compute disks create comando.

    Si la CSEK de la instantánea está unida con RSA, usa el gcloud beta compute disks create command. en su lugar.

    Especifica la CMEK para el disco nuevo con la marca --kms-key.

    Para crear un disco regional, especifica las zonas de réplica del disco con la replica-zones marca: `--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
    

    Reemplaza lo siguiente:

    • NEW_CMEK_DISK_NAME: Es el nombre del disco nuevo, por ejemplo, migrated-cmek-disk.
    • CSEK_SNAPSHOT_NAME: Es el nombre de la instantánea creada a partir de l disco encriptado con CSEK, por ejemplo, my-csek-snapshot.
    • PATH_TO_CSEK_KEY_FILE: Es la ruta de acceso al archivo que contiene la CSEK que se usa para encriptar la instantánea, por ejemplo, /tmp/csek_key.json. El formato del archivo se describe en Formato de archivo de claves.
    • KMS_PROJECT_ID: Es el ID del proyecto en el que se encuentra la clave de Cloud KMS.
    • KEY_REGION: Es la región en la que se encuentra la clave.
    • KEY_RING: Es el nombre del llavero de claves que incluye la clave.
    • KMS_KEY_NAME: Es el nombre de la clave que se usa para encriptar el disco.
    • LOCATION_FLAG: Es la marca para especificar la ubicación, ya sea zone o region.
    • ZONE_OR_REGION: Es la zona o región del disco nuevo, por ejemplo, us-central1-a o us-central1.
    • DISK_TYPE: Es el tipo del disco nuevo, por ejemplo, para crear un nuevo volumen de disco persistente balanceado, especifica pd-balanced. Para obtener valores válidos, consulta Tipos compatibles para volúmenes de Hyperdisk y Variables de tipo de Persistent Disk.

    REST

    Realiza una solicitud POST al 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"
     }
    }
    

    Reemplaza lo siguiente:

    • API_VERSION_TO_USE: Es la versión de la API que se usará. Si la clave CSEK es una clave unida con RSA, especifica beta. De lo contrario, especifica v1.
    • PROJECT_ID: Es el ID de tu proyecto, por ejemplo, myproject-171.
    • LOCATION_TYPE: Es el tipo de ubicación, zones para crear un disco zonal, o regions para crear un disco regional.
    • ZONE_OR_REGION: Es la zona o región del disco nuevo, por ejemplo, us-central1-a o us-central1.
    • DISK_TYPE: Es el tipo del disco nuevo, por ejemplo, para crear un nuevo volumen de disco persistente balanceado, especifica pd-balanced. Para obtener valores válidos, consulta Tipos compatibles para volúmenes de Hyperdisk y Variables de tipo de Persistent Disk.
    • NEW_CMEK_DISK_NAME: Es el nombre del disco nuevo, por ejemplo, migrated-cmek-disk.
    • SNAPSHOT_PROJECT_ID: Es el ID del proyecto de la instantánea.
    • CSEK_SNAPSHOT_NAME: Es el nombre de la instantánea creada a partir del disco encriptado con CSEK, por ejemplo, my-csek-snapshot.
    • KMS_PROJECT_ID: Es el ID del proyecto en el que se encuentra la clave de Cloud KMS.
    • KEY_REGION: Es la región en la que se encuentra la clave.
    • KEY_RING: Es el nombre del llavero de claves que incluye la clave.
    • KMS_KEY_NAME: Es el nombre de la clave que se usa para encriptar el disco.
    • CSEK_KEY_TYPE: Es el tipo de clave de encriptación proporcionada por el cliente, rawKey para una clave sin procesar o rsaEncryptedKey si la clave está unida con RSA.
    • RAW_OR_RSA_KEY: Es el valor de la clave sin procesar o encriptada con RSA.
  4. Usa el disco nuevo con tu instancia de procesamiento:

    1. Si el disco encriptado con CSEK existente es el disco de arranque de una instancia de procesamiento en ejecución, detén la instancia.

    2. Para comenzar a usar el disco nuevo, desconecta el disco de origen encriptado con CSEK de la instancia y conecta el disco nuevo que acabas de crear.

    3. Inicia la instancia.

    4. Verifica que el disco nuevo funcione como se espera.

    5. Después de probar el disco nuevo, borra la instantánea y el disco original encriptado con CSEK.

      Seguirás incurriendo en cargos por el disco y la instantánea hasta que los borres.

Migra las instantáneas inmediatas encriptadas con CSEK

No puedes quitar directamente la CSEK de una instantánea inmediata. En su lugar, debes convertir la instantánea en una instantánea inmediata encriptada con CMEK. Para ello, completa las siguientes tareas:

  1. Crea una instantánea estándar temporal encriptada con CSEK a partir de la instantánea inmediata.

  2. Crea un disco temporal encriptado con CMEK a partir de la instantánea encriptada con CSEK.

  3. Crea una instantánea inmediata encriptada con CMEK del disco nuevo.

  4. Después de crear la instantánea inmediata encriptada con CMEK, borra la instantánea estándar encriptada con CSEK y el disco temporal.

Migra imágenes y instantáneas encriptadas con CSEK

No puedes quitar la CSEK de una imagen, una instantánea de archivo, una instantánea inmediata ni una instantánea estándar. En su lugar, debes crear un disco nuevo encriptado con CMEK a partir de la imagen o la instantánea y, luego, crear una imagen o una instantánea del disco nuevo.

  1. Crea un nuevo volumen de Google Cloud Hyperdisk o Persistent Disk a partir de la imagen o la instantánea:

  2. Crea una imagen o una instantánea estándar del disco nuevo. Encripta la imagen o la instantánea nueva con una CMEK.

  3. Borra el disco que creaste antes.

Migra imágenes de máquina encriptadas con CSEK

Para crear una imagen de máquina encriptada con CMEK a partir de una imagen de máquina encriptada con CSEK, debes crear una instancia temporal a partir de la imagen de máquina y, luego, crear una imagen de máquina encriptada con CMEK a partir de la instancia temporal. Sigue estos pasos.

  1. Crea una instancia nueva a partir de la imagen de máquina encriptada con CSEK y especifica una clave de Cloud KMS para cada disco que se encuentre en la imagen de la máquina. Debes usar REST o Google Cloud CLI. Para obtener más información sobre cómo anular propiedades cuando creas una imagen de máquina, consulta Crea una instancia a partir de una imagen de máquina con anulaciones de propiedad.

    Google Cloud CLI

    Usa el gcloud compute instances create comando.

    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
    
    

    Reemplaza lo siguiente:

    • NEW_INSTANCE_NAME: Es el nombre de la instancia nueva, por ejemplo, migrated-instance.
    • PROJECT_ID: Es el ID del proyecto en el que deseas crear la instancia, por ejemplo,myproject-123.
    • ZONE: Es la zona de la instancia nueva, por ejemplo, us-central1-a.
    • INSTANCE_MACHINE_TYPE: Es el tipo de máquina de la instancia nueva, por ejemplo, c3-standard-4.
    • CSEK_MACHINE_IMAGE_NAME: Es el nombre de la imagen de máquina de origen encriptada con CSEK.
    • PATH_TO_CSEK_KEY_FILE: Es la ruta de acceso al archivo que contiene la CSEK que se usa para encriptar la imagen de máquina de origen, por ejemplo, /tmp/csek_key.json. Para obtener el formato de archivo requerido, consulta Formato de archivo de claves.
    • BOOT_DISK_DEVICE_NAME: Es el nombre del dispositivo nuevo para el disco de arranque tal como se define en la imagen de máquina.
    • KMS_PROJECT_ID: Es el ID del proyecto en el que se encuentra tu clave de Cloud KMS.
    • REGION: Es la región en la que se encuentra tu clave de Cloud KMS, por ejemplo, us-central1.
    • KEY_RING: Es el nombre del llavero de claves que incluye las claves.
    • BOOT_DISK_KMS_KEY: Es el nombre de la clave de Cloud KMS que se usa para encriptar el disco de arranque de la instancia nueva.
    • DEVICE_NAME_FOR_DATA_DISK_1: Es un nombre de dispositivo nuevo para el primer disco de datos tal como se define dentro de la imagen de máquina de origen.
    • KMS_KEY_FOR_DATA_DISK_1: Es el nombre de la clave de Cloud KMS que se usa para encriptar el primer disco de datos.
    • KMS_KEY_FOR_DATA_DISK_2: Es el nombre de la clave de Cloud KMS que se usa para encriptar el segundo disco de datos.

    REST

    Realiza una solicitud POST al método instances.insert.

     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"
              }
           }
        ]
     }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto en el que deseas crear la instancia temporal, por ejemplo, myproject-123.
    • ZONE: Es la zona de la instancia nueva, por ejemplo, us-central1-a.
    • NEW_INSTANCE_NAME: Es el nombre de la instancia temporal que se creará, por ejemplo, migrated-instance.
    • CSEK_MACHINE_IMAGE_NAME: Es el nombre de la imagen de máquina de origen encriptada con CSEK, por ejemplo, csek-encrypted-image.
    • BOOT_DISK_DEVICE_NAME: Es el nombre del dispositivo del disco de arranque tal como se define en la imagen de máquina de origen, por ejemplo, boot-disk-0.
    • KMS_PROJECT_ID: Es el ID del proyecto en el que se encuentra tu clave de Cloud KMS.
    • REGION: Es la región en la que se encuentra tu clave de Cloud KMS, por ejemplo, us-central1.
    • KEY_RING: Es el nombre del llavero de claves que incluye las claves de encriptación.
    • BOOT_DISK_KMS_KEY: Es el nombre de la clave de Cloud KMS que se usa para encriptar el disco de arranque nuevo.
    • DEVICE_NAME_FOR_DATA_DISK_1: Es el nombre del dispositivo del primer disco de datos tal como se define en la imagen de máquina de origen.
    • KMS_KEY_FOR_DATA_DISK_1: Es el nombre de la clave de Cloud KMS que se usa para encriptar el primer disco de datos.
    • DEVICE_NAME_FOR_DATA_DISK_2: Es el nombre del dispositivo del segundo disco de datos tal como se define en la imagen de máquina de origen.
    • KMS_KEY_FOR_DATA_DISK_2: Es el nombre de la clave de Cloud KMS que se usa para encriptar el segundo disco de datos.
  2. Verifica que la instancia funcione como se espera.

  3. Después de probar la instancia, crea una imagen de máquina encriptada con CMEK a partir de la instancia nueva.

  4. Borra la instancia temporal.

Quita los recursos sin usar

Para evitar incurrir en costos por recursos sin usar, borra los discos, las imágenes de máquina, las instantáneas, las instancias y las imágenes que ya no necesites.

¿Qué sigue?