De forma predeterminada, Compute Engine encripta el contenido en reposo del cliente. Compute Engine controla la encriptación por ti sin que debas realizar ninguna acción adicional. Esta opción se denomina Encriptación predeterminada de Google.
Sin embargo, puedes personalizar la encriptación que Compute Engine utiliza para tus recursos si proporcionas claves de encriptación de claves (KEK). Las claves de encriptación de claves no encriptan tus datos de forma directa, sino que encriptan las claves generadas por Google que Compute Engine usa para encriptar tus datos.
Tienes dos opciones para proporcionar claves de encriptación de claves:
Recomendada. Usa claves de encriptación administradas por el cliente (CMEK) en Cloud KMS con Compute Engine. El uso de las claves de Cloud KMS te brinda control sobre su nivel de protección, ubicación, programación de rotación, permisos de uso y acceso, y límites criptográficos. El uso de Cloud KMS también te permite hacer un seguimiento del uso de las claves, ver los registros de auditoría y controlar los ciclos de vida de las claves. En lugar de que Google posea y administre las claves de encriptación de claves (KEK) simétricas que protegen tus datos, tú controlas y administras estas claves en Cloud KMS.
Puedes crear CMEK de forma manual o usar la clave automática de Cloud KMS para que se creen automáticamente en tu nombre.
En la mayoría de los casos, después de crear un disco encriptado con CMEK, no es necesario especificar la clave cuando trabaje con el disco.
Puedes administrar tus propias claves de encriptación de claves fuera de Compute Engine y proporcionar la clave cada vez que crees o administres un disco. Esta opción se conoce como claves de encriptación proporcionadas por el cliente (CSEKs). Cuando administras recursos encriptados con CSEK, siempre debes especificar la clave que usaste cuando encriptaste el recurso.
Para obtener más información, consulta Claves de encriptación administradas por el cliente y Claves de encriptación proporcionadas por el cliente.
Tipos de discos compatibles
En esta sección, se enumeran los tipos de encriptación compatibles para los discos y otras opciones de almacenamiento que ofrece Compute Engine.
Los volúmenes de Persistent Disk admiten la encriptación predeterminada con Google, CMEK y CSEK.
El hiperdisco de Google Cloud admite las CMEKs y la encriptación predeterminada de Google. No puedes usar las CSEKs para encriptar hiperdiscos.
Los discos SSD locales solo son compatibles con la encriptación predeterminada de Google. No puedes usar CSEK ni CMEK para encriptar discos SSD locales.
Las clonaciones de discos y las imágenes de máquina admiten la encriptación predeterminada de Google, CMEK y CSEK.
Las instantáneas estándar y las instantáneas inmediatas admiten la encriptación predeterminada de Google, CMEK y CSEK.
CMEK con Autokey de Cloud KMS
Si decides usar claves de Cloud KMS para proteger tus recursos de Compute Engine, puedes crear CMEKs de forma manual o usar la clave automática de Cloud KMS para crearlas. Con Autokey, los llaveros de claves y las claves se generan a pedido como parte de la creación de recursos en Compute Engine. Los agentes de servicio que usan las claves para las operaciones de encriptación y desencriptación se crean si aún no existen y se les otorgan los roles de Identity and Access Management (IAM) necesarios. Para obtener más información, consulta Descripción general de las claves automáticas.
Para aprender a usar las CMEK que crea la clave automática de Cloud KMS para proteger tus recursos de Compute Engine, consulta Cómo usar la clave automática con recursos de Compute Engine.
Instantáneas
Cuando usas Autokey para crear claves que protejan tus recursos de Compute Engine, Autokey no crea claves nuevas para las instantáneas. Debes encriptar una instantánea con la misma clave que usaste para encriptar el disco de origen. Si creas una instantánea con la consola de Google Cloud, la clave de encriptación que usa el disco se aplica automáticamente a la instantánea. Si creas una instantánea con la gcloud CLI, Terraform o la API de Compute Engine, debes obtener el identificador de recursos de la clave que se usa para encriptar el disco y, luego, usar esa clave para encriptar la instantánea.
Encripta datos con claves de encriptación administradas por el cliente
Si deseas obtener más información sobre cómo usar las claves de encriptación administradas por el cliente (CMEK) creadas manualmente para encriptar discos y otros recursos de Compute Engine, consulta Protege recursos mediante el uso de claves de Cloud KMS.
Encripta discos con claves de encriptación proporcionadas por el cliente
Para aprender a usar las claves de encriptación proporcionadas por el cliente (CSEK) para encriptar discos y otros recursos de Compute Engine, consulta Encripta discos con claves de encriptación proporcionadas por el cliente.
Visualiza información sobre la encriptación de un disco
Los discos en Compute Engine se encriptan con claves de encriptación administradas por Google, administradas por el cliente o proporcionadas por él. La encriptación administrada por Google es la predeterminada.
Para ver el tipo de encriptación de un disco, puedes usar gcloud CLI, la consola de Google Cloud o la API de Compute Engine.
Console
En la consola de Google Cloud, ve a la página Discos.
En la columna Nombre, haz clic en el nombre del disco.
En la tabla Propiedades, la fila etiquetada Encriptación indica el tipo de encriptación: Administrada por Google, administrada por el cliente o suministrada por el cliente.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Usa el comando
gcloud compute disks describe
:gcloud compute disks describe DISK_NAME \ --zone=ZONE \ --format="json(diskEncryptionKey)"
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID de tu proyecto.ZONE
: Es la zona en la que se encuentra el disco.DISK_NAME
: el nombre del disco.Resultado del comando
Si el resultado es
null
, el disco usa la encriptación administrada por Google, que es la predeterminada.De lo contrario, el resultado es un objeto JSON.
Si el objeto JSON contiene un campo llamado
diskEncryptionKey
, el disco está encriptado. El objetodiskEncryptionKey
contiene información sobre si el disco está encriptado con CMEK o CSEK:- Si la propiedad
diskEncryptionKey.kmsKeyName
está presente, el disco está encriptado con CMEK. La propiedadkmsKeyName
indica el nombre de la clave específica que se usó para encriptar el disco:{ "diskEncryptionKey": { "kmsKeyName": "projects/my-proj/.." } }
- Si la propiedad
diskEncryptionKey.sha256
está presente, el disco está encriptado con CSEK. La propiedadsha256
es el hash SHA-256 de la clave de encriptación proporcionada por el cliente que protege el disco.{ "diskEncryptionKey": { "sha256": "abcdefghijk134560459345dssfd" } }
- Si la propiedad
API
Realiza una solicitud POST
al método compute.disks.get
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID de tu proyecto.ZONE
: Es la zona en la que se encuentra el disco.DISK_NAME
: Es el nombre del disco
Solicitar respuesta
Si la respuesta es null
, el disco usa la encriptación administrada por Google, que es la configuración predeterminada.
De lo contrario, la respuesta es un objeto JSON.
Si el objeto JSON contiene un campo llamado diskEncryptionKey
, el disco está encriptado.
El objeto diskEncryptionKey
contiene información sobre si el disco está encriptado con CMEK o CSEK:
- Si la propiedad
diskEncryptionKey.kmsKeyName
está presente, el disco está encriptado con CMEK. La propiedadkmsKeyName
indica el nombre de la clave específica que se usó para encriptar el disco:{ "diskEncryptionKey": { "kmsKeyName": "projects/my-proj/.." } }
- Si la propiedad
diskEncryptionKey.sha256
está presente, el disco está encriptado con CSEK. La propiedadsha256
es el hash SHA-256 de la clave de encriptación proporcionada por el cliente que protege el disco.{ "diskEncryptionKey": { "sha256": "abcdefghijk134560459345dssfd" } }
Si el disco usa la encriptación CMEK, puedes encontrar información detallada sobre la clave, su llavero de claves y su ubicación si sigues los pasos en Visualiza claves por proyecto.
Si el disco usa la encriptación CSEK, comunícate con el administrador de la organización para obtener detalles sobre la clave. Si usas CMEK, también puedes ver qué recursos protege esa clave con el seguimiento de uso de las claves. Para obtener más información, consulta Visualiza el uso de claves.
¿Qué sigue?
- Para obtener información sobre cómo automatizar la creación de CMEK, consulta Cloud KMS con clave automática (vista previa).
- Para aprender a crear CMEKs, consulta Crea claves de encriptación con Cloud KMS.
- Encripta un disco con claves de encriptación administradas por el cliente (CMEKs).
- Obtén más información sobre el formato y la especificación de CSEKs.