En este documento, se proporciona información sobre cómo usar las claves de Cloud Key Management Service Cloud KMS creadas de forma manual para encriptar discos y otros recursos relacionados con el almacenamiento. Las claves administradas en Cloud KMS se conocen como claves de encriptación administradas por el cliente (CMEK).
Puedes usar CMEKs para encriptar recursos de Compute Engine, como discos, imágenes de máquina, instantáneas instantáneas y instantáneas estándar.
Para obtener más información sobre el uso de claves de encriptación proporcionadas por el cliente (CSEKs) para encriptar discos y otros recursos de almacenamiento, consulta Encripta discos con claves de encriptación proporcionadas por el cliente.
Obtén más información sobre la encriptación de disco.
Antes de empezar
- Obtén información sobre discos, imágenes, instantáneas de discos persistentese instancias de máquina virtual (VM).
- Decide si ejecutarás Compute Engine y Cloud KMS en el mismo proyecto de Google Cloud o en proyectos distintos. Para obtener información sobre los ID de proyecto de Google Cloud y los números de proyecto, consulta la sección sobre cómo identificar proyectos.
- En el proyecto de Google Cloud que ejecuta Cloud KMS, haz lo siguiente:
-
Enable the Cloud KMS API.
-
- + Si deseas crear un nuevo volumen de Hyperdisk Balanced en modo confidencial, asegúrate de que tu caso de uso sea compatible revisando las limitaciones y las regiones admitidas relevantes.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
KMS_PROJECT_ID
: es el ID del proyecto de Google Cloud que ejecuta Cloud KMS (incluso si es el mismo proyecto que ejecuta Compute Engine)PROJECT_NUMBER
: es el número del proyecto de Google Cloud (no el ID del proyecto de Google Cloud) que ejecuta los recursos de Compute EngineNo puedes encriptar los recursos existentes con CMEKs. Solo puedes encriptar discos, imágenes y, también, instantáneas con CMEKs cuando las creas.
Cuando creas un disco a partir de una instantánea inmediata encriptada con CMEK, debes especificar la clave que se usa para encriptar el disco de origen. No es necesario que especifiques la clave cuando trabajas con otros recursos encriptados con CMEK, como las clonaciones de discos y las instantáneas estándar.
No puedes usar tus propias claves con discos SSD locales porque la infraestructura de Google Cloud administra las claves y se borran cuando se finaliza la VM.
Los recursos regionales (discos) solo se pueden encriptar con una clave en una de las siguientes ubicaciones de Cloud KMS:
- Una clave en la misma región que el disco
- Una clave multirregional en la misma ubicación geográfica que el disco
- Una clave en la ubicación global.
Por ejemplo, un disco en la zona
us-west1-a
se puede encriptar mediante una clave en la ubicación global, la regiónus-west1
o la multirregiónus
.Los recursos globales (como imágenes y las instantáneas) se pueden encriptar mediante claves en cualquier ubicación. Si quieres obtener más información, consulta Tipos de ubicaciones para Cloud KMS.
La encriptación de un disco, una instantánea o una imagen con una clave es permanente. No puedes quitar la encriptación del recurso, cambiar el tipo de encriptación ni cambiar la clave que se usa. La única forma de quitar la encriptación o cambiar las claves de encriptación es crear una copia del recurso mientras se especifica una opción de encriptación nueva. Por ejemplo, para cambiar un disco de usar las claves generadas por Google a las CMEK, sigue estos pasos:
- Crea una instantánea del disco.
- Crea un disco nuevo a partir de la instantánea. Cuando crees el disco nuevo, selecciona el tipo de encriptación que desees.
Para obtener más información, consulta Cambia el tipo de un disco.
- En la consola de Google Cloud, ve a la página Discos.
- Haz clic en Crear disco y, luego, escribe las propiedades del disco nuevo.
- En Encriptación, elige Clave administrada por el cliente.
- En el menú desplegable, elige la clave de Cloud KMS que deseas usar para encriptar este disco.
- Para crear el disco, haz clic en Crear.
DISK_NAME
: Es el nombre del disco nuevoKMS_PROJECT_ID
: Es el proyecto que posee la clave de Cloud KMSREGION
: es la región en la que se encuentra la claveKEY_RING
: el nombre del llavero de claves que incluye la claveKEY
: es el nombre de la clave que se usa para encriptar el discoPROJECT_ID
: es el ID del proyecto de Google Cloud que ejecuta Compute EngineZONE
: Es la zona en la que se creará la VM.MACHINE_TYPE
: el tipo de máquina, por ejemplo,c3-standard-4
KMS_PROJECT_ID
: Es el proyecto que posee la clave de Cloud KMSREGION
: Es la región en la que se encuentra el disco.KEY_RING
: es el nombre del llavero de claves que incluye la clave.KEY
: es el nombre de la clave que se usa para encriptar el disco.SOURCE_IMAGE
: La imagen que se usará cuando se cree la VM, por ejemplo,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
PROJECT_ID
: es el ID del proyecto de Google Cloud que ejecuta Compute EngineZONE
: Es la zona en la que se creará la VM.SOURCE_IMAGE
: es la imagen que se usará cuando se cree el disco, por ejemplo,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
DISK_NAME
: Es un nombre para el disco nuevoKMS_PROJECT_ID
: Es el proyecto que posee la clave de Cloud KMSREGION
: Es la región en la que se encuentra el disco.KEY_RING
: es el nombre del llavero de claves que incluye la clave.KEY
: es el nombre de la clave que se usa para encriptar el disco.DISK_TYPE
: es el tipo de disco que se creará- En la consola de Google Cloud, ve a la página Discos.
- Haz clic en Crear disco y, luego, ingresa las propiedades del disco nuevo.
- En la sección Configuración de disco, selecciona Hyperdisk Balanced para el tipo de disco.
- Opcional. Cambia la configuración predeterminada de Tamaño, IOPS aprovisionadas y Capacidad de procesamiento aprovisionada del disco.
- En la sección Encriptación, selecciona Clave de Cloud KMS.
- En la lista de claves, selecciona la clave de Cloud HSM que deseas usar para encriptar este disco.
- En la sección Confidential Computing, selecciona Habilitar servicios de Confidential Computing.
- Para crear el disco, haz clic en Crear.
DISK_NAME
: Es el nombre del disco nuevo.KMS_PROJECT_ID
: el proyecto que posee la clave de Cloud HSM.REGION
: es la región en la que se encuentra la claveKEY_RING
: el nombre del llavero de claves que incluye la claveKEY
: es el nombre de la clave que se usa para encriptar el discoDISK_TYPE
: El tipo de disco que se creará, por ejemplo,hyperdisk-balanced
.PROJECT_ID
: es el ID del proyecto de Google Cloud que ejecuta Compute EngineZONE
: Es la zona en la que se creará la VM.MACHINE_TYPE
: el tipo de máquina, por ejemplo,n2d-standard-4
KMS_PROJECT_ID
: el proyecto que posee la clave de Cloud HSM.REGION
: Es la región en la que se encuentra el disco.KEY_RING
: el nombre del llavero de claves que incluye la claveKEY
: es el nombre de la clave que se usa para encriptar el discoSOURCE_IMAGE
: la imagen que admite Confidential VM para usar cuando se crea la VM, por ejemplo,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
.PROJECT_ID
: es el ID del proyecto de Google Cloud que ejecuta Compute EngineZONE
: Es la zona en la que se creará la VM.SOURCE_IMAGE
: la imagen que admite Confidential VM cuando se crea el disco, por ejemplo,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
.DISK_NAME
: Es un nombre para el disco nuevoKMS_PROJECT_ID
: el proyecto que posee la clave de Cloud HSM.REGION
: Es la región en la que se encuentra el disco.KEY_RING
: es el nombre del llavero de claves que incluye la clave.KEY
: es el nombre de la clave que se usa para encriptar el disco.DISK_TYPE
: el tipo de disco que se creará, por ejemplo,hyperdisk-balanced
.- En la consola de Google Cloud, ve a la página Instantáneas.
- Haz clic en Crear instantánea.
- En Disco de origen, elige el disco de origen para la instantánea. La instantánea se encripta de forma automática con la misma clave que usa el disco de origen.
Para crear una instantánea en la ubicación predefinida o en la ubicación personalizada predeterminada que se estableció en la configuración de instantánea, usa el 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
-
De lo contrario, si quieres anular la configuración de la instantánea y crear una instantánea en una ubicación de almacenamiento personalizada, incluye la marca
--storage-location
para indicar dónde almacenar la instantánea.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION
Reemplaza lo siguiente:
- SNAPSHOT_NAME: Es un nombre para la instantánea.
- SOURCE_ZONE: Es la zona del disco de origen.
- SOURCE_DISK_NAME: Es el nombre del volumen de disco desde el que deseas crear una instantánea.
- SNAPSHOT_TYPE: Es el tipo de instantánea, ya sea STANDARD o ARCHIVE.
Si no se especifica un tipo de instantánea, se crea una instantánea
STANDARD
. -
STORAGE_LOCATION: Opcional: la multirregión de Cloud Storage o la región de Cloud Storage en la que quieres almacenar la instantánea. Solo puedes especificar una ubicación de almacenamiento.
Usa el parámetro
--storage-location
solo cuando quieras anular la ubicación de almacenamiento predeterminada o personalizada establecida en tu configuración de instantáneas.
-
Para crear la instantánea en la ubicación predeterminada o personalizada establecida en tu configuración de instantáneas, haz una solicitud
POST
al métodosnapshots.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" }
-
De forma alternativa, para anular la configuración de instantáneas y crear una instantánea en una ubicación de almacenamiento personalizada, haz una solicitud
POST
al métodosnapshots.insert
y, además, incluye la propiedadstorageLocations
en tu solicitud: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" ], }
- DESTINATION_PROJECT_ID: Es el ID del proyecto en el que deseas crear la instantánea.
- SNAPSHOT_NAME: Es un nombre para la instantánea.
- SOURCE_PROJECT_ID: Es el ID del proyecto del disco de origen.
- SOURCE_ZONE: Es la zona del disco de origen.
- SOURCE_DISK_NAME: Es el nombre del disco desde el que deseas crear una instantánea.
- KMS_PROJECT_ID: El proyecto que contiene la clave de encriptación que se almacena en Cloud Key Management Service.
- KEY_REGION: es la región en la que se encuentra la clave de Cloud KMS.
- KEY_RING: Es el nombre del llavero de claves que contiene la clave de Cloud KMS.
- SNAPSHOT_KEY: Es el nombre de la clave de Cloud KMS que usaste para encriptar el disco de origen.
- SNAPSHOT_TYPE: Es el tipo de instantánea, ya sea STANDARD o ARCHIVE.
Si no se especifica un tipo de instantánea, se crea una instantánea
STANDARD
. -
STORAGE_LOCATION: Opcional: la multirregión de Cloud Storage o la región de Cloud Storage en la que quieres almacenar la instantánea. Solo puedes especificar una ubicación de almacenamiento.
Usa el parámetro
storageLocations
solo cuando quieras anular la ubicación de almacenamiento predeterminada o personalizada establecida en tu configuración de instantáneas. - En la consola de Google Cloud, ve a la página Imágenes.
- Haga clic en Crear imagen.
- En Disco de origen, elige el disco del que deseas crear una imagen.
- En Encriptación, elige Clave administrada por el cliente.
- En el menú desplegable, elige la clave de Cloud KMS que deseas usar para encriptar esta imagen.
- Continúa con el proceso de creación de imágenes.
IMAGE_NAME
: Es el nombre de la imagen que crearásSOURCE_DISK
: Es el nombre del disco del que se creará una instantáneaKMS_PROJECT_ID
: el proyecto que contiene la clave de Cloud KMSREGION
: Es la región en la que se encuentra la clave de Cloud KMSKEY_RING
: Es el llavero de claves que contiene la clave de Cloud KMSKEY
: es el nombre de la clave que se usará para encriptar el disco nuevoPROJECT_ID
: Es el proyecto en el que se creará la imagen encriptadaIMAGE_NAME
: Es el nombre de la imagen que crearásKMS_PROJECT_ID
: el proyecto que contiene la clave de Cloud KMSREGION
: Es la región en la que se encuentra la clave de Cloud KMSKEY_RING
: Es el llavero de claves que contiene la clave de Cloud KMSKEY
: es el nombre de la clave que usaste para encriptar el disco de origen- En la consola de Google Cloud, ve a la página Discos.
- Haz clic en Crear disco y, luego, escribe las propiedades del disco nuevo.
- En Tipo de fuente, elige la instantánea o imagen que deseas usar.
Opcional: Si quieres especificar una clave de encriptación nueva, para Encriptación, especifica el tipo de clave de encriptación que se usará y, luego, proporciona la información de la clave de encriptación.
Si deseas quitar la clave de encriptación administrada por el cliente o proporcionada por él, para la Encriptación, usa el valor predeterminado Clave de encriptación administrada por Google.
Continua con el proceso de creación del Persistent Disk.
DISK_NAME
: Es el nombre del disco nuevoSNAPSHOT_NAME
: Es el nombre de la instantánea encriptadaPara usar una imagen en lugar de una instantánea, reemplaza
--source-snapshot SNAPSHOT_NAME
por--image IMAGE_NAME
.KMS_PROJECT_ID
: (Opcional) es el proyecto que contiene la clave de Cloud KMSREGION
: (Opcional) la región en la que se encuentra la clave de Cloud KMSKEY_RING
: (Opcional) es el llavero de claves que contiene la clave de Cloud KMSKEY
: (Opcional) Es el nombre de la clave de Cloud KMS que se usará para encriptar el disco nuevoPara encriptar el disco nuevo, puedes realizar una de las siguientes acciones:
- Para especificar una clave de encriptación nueva administrada por el cliente, usa la marca
--kms-key
. - Para usar la clave predeterminada de Google y administrada por Google, no incluyas la
marca
--kms-key
.
- Para especificar una clave de encriptación nueva administrada por el cliente, usa la marca
PROJECT_ID
: Es el proyecto en el que se creará el disco nuevoZONE
: Es la zona en la que se creará el disco nuevoDISK_NAME
: Es el nombre del disco nuevoSNAPSHOT_PROJECT_ID
: Es el proyecto que contiene la instantáneaSNAPSHOT_NAME
: Es el nombre de la instantánea encriptadaPara usar una imagen en lugar de una instantánea, reemplaza
sourceSnapshot
porsourceImage
.KMS_PROJECT_ID
: (Opcional) es el proyecto que contiene la clave de Cloud KMSREGION
: (Opcional) la región en la que se encuentra la clave de Cloud KMSKEY_RING
: (Opcional) es el llavero de claves que contiene la clave de Cloud KMSKEY
: (Opcional) Es el nombre de la clave de Cloud KMS que se usará para encriptar el disco nuevoSi incluyes
diskEncryptionKey
, el disco se encripta con la clave de Cloud KMS especificada. Si no incluyesdiskEncryptionKey
, el disco se encripta con una clave de Google y administrada por Google.En la consola de Google Cloud, ve a la página Crea una instancia.
Especifica los detalles de la VM y, en la sección Disco de arranque, haz clic en Cambiar. A continuación, sigue estos pasos:
- Haz clic en Discos existentes.
- En la lista Disco, elige un disco existente para conectar a la VM.
- Haz clic en Seleccionar.
Continúa con el proceso de creación de VM.
VM_NAME
: Es el nombre de la VM que estás creandoDISK_NAME
: Es el nombre del disco encriptadoPROJECT_ID
: Es el proyecto en el que se creará la VM nuevaZONE
: Es la zona en la que se creará la VM.DISK_ALIAS
: un nombre de dispositivo único para usar como alias de disco en el directorio/dev/disk/by-id/google-*
de la VM que ejecuta un sistema operativo Linux. Este nombre se puede usar para hacer referencia al disco a fin de activar, cambiar el tamaño, etc., desde la instancia. Si no especificas un nombre de dispositivo, la VM elige un nombre de dispositivo predeterminado para aplicarlo a este disco, con el formatopersistent-disk-x
, en el quex
es un número asignado por Compute Engine. Este campo solo se aplica a los volúmenes de Persistent Disk.DISK_NAME
: Es el nombre del disco encriptado- Crea una instantánea del disco de arranque.
- Usa la instantánea encriptada nueva para crear un disco persistente nuevo.
- Rota la clave de Cloud KMS.
- Crea una instantánea del disco de arranque.
- Usa la instantánea nueva para crear un disco nuevo con la clave rotada en el paso anterior.
- Reemplaza el disco conectado a la VM que usa la clave de encriptación anterior.
- No puedes iniciar una VM si alguno de sus discos adjuntos tiene claves revocadas.
- Si un disco que usa la clave está conectado a una VM en ejecución y habilitaste el cierre de VM en la revocación de claves para la VM, Compute Engine la cerrará en un plazo de 7 horas.
- No puedes conectar un disco con una clave revocada a una VM ni crear una instantánea a partir del disco.
- No puedes usar imágenes ni instantáneas encriptadas con claves revocadas para crear discos.
- Para comenzar, crea una VM que incluya un disco protegido por una clave de Cloud KMS.
- Abre el menú Herramientas de redes, discos, seguridad, administración, usuario único.
- Expande la sección Administración.
- En Política de revocación de clave de encriptación administrada por el cliente (CMEK), elige Cerrar.
- Para comenzar, crea una plantilla de instancias nueva que incluya un disco protegido por una clave de Cloud KMS.
- Abre el menú Herramientas de redes, discos, seguridad, administración, usuario único.
- Expande la sección Administración.
- En Política de revocación de clave de encriptación administrada por el cliente (CMEK), elige Cerrar.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Roles obligatorios
Para asegurarte de que el agente de servicio de Compute Engine tenga los permisos necesarios para proteger los recursos mediante claves de Cloud KMS, pídele a tu administrador que otorgue al agente de servicio de Compute Engine el siguiente servicio: Rol de IAM de Encriptador/Desencriptador de CryptoKey de Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Es posible que tu administrador también pueda otorgar los permisos necesarios al agente de servicio de Compute Engine mediante roles personalizados o cualquier otra rol predefinido.
El agente de servicio de Compute Engine tiene el siguiente formato:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
Puedes usar Google Cloud CLI para asignar el rol:
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Reemplaza lo siguiente:
Especificaciones de encriptación
Las claves de Cloud KMS que se usan para ayudar a proteger tus datos en Compute Engine son claves AES-256. Estas son claves de encriptación de claves y se usan para encriptar las claves de encriptación de datos que inculyen tus datos, no los datos en sí.
Los datos en los discos se encriptan con claves de Google y administradas por Google. Para conocer las especificaciones relacionadas con la encriptación predeterminada en Google Cloud, consulta Encriptación en reposo predeterminada en la documentación de seguridad.
Con el modo confidencial de Hyperdisk Balanced y Cloud HSM, la clave de encriptación de datos (DEK) tiene propiedades de seguridad adicionales con enclaves respaldados por hardware.
Limitaciones
Creación manual o automática de claves
Puedes crear claves de Cloud KMS de forma manual o usar la clave automática de Cloud KMS. Autokey simplifica la creación y la administración de claves de Cloud KMS mediante la automatización del aprovisionamiento y la asignación. Con la clave automática, no necesitas aprovisionar llaveros de claves, claves y cuentas de servicio con anticipación. En cambio, se generan a pedido como parte de la creación de recursos de Compute Engine. Para obtener más información, consulta la descripción general de las claves automáticas.
Crea un llavero de claves y una clave de forma manual
Para el proyecto de Google Cloud que ejecuta Cloud KMS, crea un llavero de claves y una clave como se describe en Crea claves y llaveros de claves.
Encripta un Persistent Disk nuevo con CMEK
Puedes proporcionar una clave durante la creación de la VM o el disco para encriptar un Persistent Disk nuevo.
Console
gcloud
Crea un disco encriptado mediante el comando
gcloud compute disks create
y especifica la clave mediante la marca--kms-key
.gcloud compute disks create DISK_NAME \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Reemplaza lo siguiente:
REST
Realiza una solicitud
POST
alinstances.insert
método . Para encriptar un disco, usa la propiedaddiskEncryptionKey
con la propiedadkmsKeyName
. Por ejemplo, puedes encriptar un disco nuevo durante la creación de la VM con tu clave de Cloud KMS mediante el siguiente procedimiento: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 } ], ... }
Reemplaza lo siguiente:
Del mismo modo, puedes usar el método
disks.insert
para crear un nuevo Persistent Disk independiente y encriptarlo con tu clave de 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" }
Reemplaza lo siguiente:
Crea un disco Hyperdisk Balanced en modo confidencial
Puedes crear un nuevo disco Hyperdisk Balanced en modo confidencial con la console de Google Cloud, Google Cloud CLI o REST.
Console
gcloud
Encripta un disco nuevo con el modo confidencial de Hyperdisk Balanced con el comando
gcloud compute disks create
. Habilita el modo confidencial con la marca--confidential-compute
y especifica la clave con la marca--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
Reemplaza lo siguiente:
REST
Realiza una solicitud
POST
al métodoinstances.insert
. Para encriptar un disco con el modo confidencial de Hyperdisk Balanced, usa la propiedaddiskEncryptionKey
con la propiedadkmsKeyName
y establece la marcaenableConfidentialCompute
. Por ejemplo, puedes encriptar un disco nuevo durante la creación de la VM con tu clave de Cloud HSM mediante el siguiente procedimiento: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" } ] }
Reemplaza lo siguiente:
Del mismo modo, puedes usar el método
disks.insert
para crear un nuevo modo confidencial para 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 }
Reemplaza lo siguiente:
Crea una instantánea desde un disco encriptado con CMEK
Para ayudar a proteger una instantánea que creas desde un disco encriptado con CMEK, debes usar la misma clave de encriptación que usaste para encriptar el disco.
No se puede crear una instantánea que use CMEK, a menos que el disco de origen también use CMEK. Además, no se pueden convertir discos ni instantáneas encriptados con CMEK para usar la encriptación predeterminada de Google Cloud, a menos que crees una imagen de disco completamente nueva y un disco persistente nuevo.
Las instantáneas de los discos encriptados con CMEK son incrementales.
Console
gcloud
En el caso de la encriptación administrada por el cliente, la clave de Cloud KMS que se usó para encriptar el disco también se usa a fin de encriptar la instantánea.
Puedes crear tu instantánea en la política de ubicación de almacenamiento que define tu configuración de instantáneas o usar una ubicación de almacenamiento alternativa de tu elección. Para obtener más información, consulta Elige la ubicación de almacenamiento de tu instantánea.
REST
Puedes crear tu instantánea en la política de ubicación de almacenamiento que define tu configuración de instantáneas o usar una ubicación de almacenamiento alternativa de tu elección. Para obtener más información, consulta Elige la ubicación de almacenamiento de tu instantánea.
Reemplaza lo siguiente:
Encripta una imagen importada con CMEK
Puedes encriptar una imagen nueva si importas una imagen personalizada a Compute Engine. Antes de importar una imagen, debes crear y comprimir un archivo de imagen de disco y subir ese archivo comprimido a Cloud Storage.
Console
gcloud
Para importar y encriptar una imagen, usa el comando
gcloud compute images create
. En el caso de la encriptación administrada por el cliente, especifica la clave de Cloud KMS para la imagen.gcloud compute images create IMAGE_NAME \ --source-disk=SOURCE_DISK \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Reemplaza lo siguiente:
REST
Para encriptar una imagen importada, crea una solicitud
POST
al métodoimages.insert
. Especifica el URI para el archivo comprimido, agrega la propiedadimageEncryptionKey
a la solicitud de creación de la imagen y especifica la clave a fin de encriptar la imagen en la propiedadkmsKeyName
.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" } }
Reemplaza lo siguiente:
Crea un Persistent Disk desde una instantánea encriptada con CMEK
Para crear un nuevo Persistent Disk independiente a partir de una instantánea encriptada, haz lo siguiente:
Console
gcloud
Usa el comando
gcloud compute disks create
para crear un nuevo disco persistente independiente a partir de una instantánea encriptada.gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Reemplaza lo siguiente:
REST
Crea una solicitud
POST
al métodocompute.disks.insert
para crear un Persistent Disk independiente nuevo a partir de una instantánea encriptada. Usa la propiedadsourceSnapshot
para especificar la instantánea.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" } }
Reemplaza lo siguiente:
Conecta un disco de arranque encriptado con CMEK a una VM nueva
Console
gcloud
Para conectar un disco encriptado cuando creas una VM nueva, usa el comando
gcloud compute instances create
. Usa la marca--disk
para especificar el disco de arranque encriptado, como se muestra en el siguiente ejemplo:gcloud compute instances create VM_NAME \ ... --disk name=DISK_NAME,boot=yes
Reemplaza lo siguiente:
REST
Realiza una solicitud
POST
alcompute.instances.insert
método . Usa la propiedaddisks
para especificar el disco de arranque encriptado, como se muestra en el siguiente ejemplo: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" } ] }
Reemplaza lo siguiente:
Quita la clave de encriptación de Cloud KMS de un Persistent Disk
Puedes desencriptar el contenido de un disco encriptado y crear un disco nuevo que use la encriptación predeterminada de Google Cloud. De forma predeterminada, Google Cloud encripta todos los datos en reposo.
Después de crear el disco persistente nuevo, este usa la encriptación predeterminada de Google Cloud para proteger el contenido del disco. Las instantáneas que creas desde ese disco también deben usar la encriptación predeterminada.
Rota la clave de encriptación de Cloud KMS para un disco
Rota la clave que se usa para encriptar el disco mediante la creación de un disco nuevo que use una versión de clave de Cloud KMS nueva. La rotación de las claves es una práctica recomendada para cumplir con las prácticas de seguridad estandarizadas. Para rotar tus claves, haz lo siguiente:
Cuando creas el disco nuevo, este usa la versión de clave nueva para la encriptación. Las instantáneas que creas desde ese disco usan la última versión de la clave primaria.
Cuando rotas una clave, los datos que se encriptaron con versiones de claves anteriores no se vuelven a encriptar de forma automática. Para obtener más información, consulta Vuelve a encriptar datos. La rotación de una clave no inhabilita ni destruye de forma automática una versión de clave existente.
Inhabilita o borra una CMEK
Si ya no necesitas una CMEK o quieres evitar su uso, borra o inhabilita la clave. Borrar, inhabilitar o quitar los permisos de IAM de una clave también se conoce como revocar la clave.
Impacto de la revocación de claves en los recursos encriptados
Cuando revocas una clave de encriptación, los recursos que protege se ven afectados de la siguiente manera:
Si inhabilitas la clave, puedes revertir los efectos anteriores si la habilitas. Si borras la clave, no podrás revertir los efectos anteriores.
Configura el cierre de VM en la revocación de claves de Cloud KMS
Puedes configurar la VM para que se cierre de forma automática cuando revoques la clave de Cloud KMS que ayuda a proteger un disco conectado a la VM. Puedes revocar una clave mediante su inhabilitación o eliminación. Con esta configuración habilitada, la VM se cierra dentro de 7 horas tras la revocación de claves.
Si vuelves a habilitar la clave, puedes reiniciar la VM con el disco adjunto que la clave ayuda a proteger. La VM no se reinicia de forma automática después de habilitar la clave.
Console
Para configurar una VM para que se cierre cuando se revoca una clave de Cloud KMS, haz lo siguiente:
gcloud
Usa el comando
gcloud compute instances create
para crear una VM y, luego, incluye--key-revocation-action-type=stop
.gcloud compute instances create
VM_NAME
\ --imageIMAGE
\ --key-revocation-action-type=stopREST
Usa el método
instances.insert
para crear una VM y configura la propiedad"keyRevocationActionType"
como"STOP"
. En el siguiente ejemplo, se crea la VM a partir de una imagen pública.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" }De forma alternativa, puedes configurar una plantilla de instancias para crear VMs que se cierren cuando se revoquen claves mediante Google Cloud CLI o REST.
Console
Puedes usar una plantilla de instancias para crear VMs que se cierran cuando se revoque una clave de Cloud KMS.
gcloud
Crea una plantilla de instancias con el comando
gcloud compute instance-templates create
e incluye--key-revocation-action-type=stop
.gcloud compute instance-templates create
INSTANCE_TEMPLATE_NAME
\ --key-revocation-action-type=stopREST
Realiza una solicitud POST al método
instanceTemplates.insert
. En el cuerpo de la solicitud, debes definir de forma explícita todos los campos de configuración obligatorios. Si deseas que las VM creadas a partir de esta plantilla se cierren en la revocación de claves, especifica"keyRevocationActionType":"STOP"
. Por ejemplo, una plantilla de instancias con la cantidad mínima de campos obligatorios para crear VMs que se cierran con la revocación de claves se ve de la siguiente manera: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" } }Después de crear una VM que esté configurada para cerrarse cuando se revoque Cloud KMS, crea y adjunta un Persistent Disk encriptado con una clave de Cloud KMS.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-