Información sobre la encriptación de discos


De forma predeterminada, Compute Engine encripta el contenido en reposo del cliente. Compute Engine controla y administra esta encriptación sin que debas realizar ninguna acción adicional. Esta opción se conoce como encriptación administrada por Google.

Sin embargo, si tienes requisitos específicos relacionados con el cumplimiento o la localidad del material criptográfico, puedes personalizar la encriptación que Compute Engine usa para tus recursos.

Para personalizar la encriptación, proporciona claves de encriptación de claves. Las claves de encriptación de claves no encriptan tus datos de modo directo, pero encriptan las claves generadas por Google que Compute Engine usa para encriptar tus datos.

Tienes dos opciones para proporcionar las claves de encriptación de claves:

  • Recomendada. Usa Cloud Key Management Service (Cloud KMS) en Compute Engine para crear y administrar claves de encriptación de claves.

    Las claves administradas por Cloud Key Management Service se conocen como claves de encriptación administradas por el cliente (CMEKs). Después de crear una clave, puedes usarla como clave de encriptación de la clave de un disco.

    En la mayoría de los casos, después de crear un disco encriptado con CMEK, no es necesario que especifiques la clave cuando trabajas con el disco, ya que Cloud Key Management Service sabe qué clave usaste. La excepción es crear un disco a partir de una instantánea de encriptación con CMEK.

  • 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 con los discos y otras opciones de almacenamiento que ofrece Compute Engine.

Encripta discos 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) 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 opción predeterminada.

Para ver el tipo de encriptación de un disco, puedes usar la CLI de gcloud, la consola de Google Cloud o la API de Compute Engine.

Consola

  1. En la consola de Google Cloud, ve a la página Discos.

    Ir a Discos

  2. En la columna Nombre, haz clic en el nombre del disco.

  3. 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

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. 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 configuración predeterminada.

      De lo contrario, el resultado 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 propiedad kmsKeyName indica el nombre de la clave específica que se usa para encriptar el disco:
        {
          "diskEncryptionKey": {
            "kmsKeyName": "projects/my-proj/.."
          }
        }
        
      • Si la propiedad diskEncryptionKey.sha256 está presente, el disco está encriptado con CSEK. La propiedad sha256 es el hash SHA-256 de la clave de encriptación proporcionada por el cliente que protege el disco.
          {
            "diskEncryptionKey": {
              "sha256": "abcdefghijk134560459345dssfd"
            }
          }
            

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 opció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 propiedad kmsKeyName indica el nombre de la clave específica que se usa para encriptar el disco:
    {
      "diskEncryptionKey": {
        "kmsKeyName": "projects/my-proj/.."
      }
    }
    
  • Si la propiedad diskEncryptionKey.sha256 está presente, el disco está encriptado con CSEK. La propiedad sha256 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 de CMEK, puedes encontrar información detallada sobre la clave, su llavero de claves y la ubicación mediante los pasos que se indican en Visualiza claves por proyecto.

Si el disco usa la encriptación CSEK, comunícate con el administrador de tu organización para obtener detalles sobre la clave.

¿Qué sigue?