Claves de encriptación administradas por el cliente

En esta página, se analizan las claves de encriptación administradas por el cliente. Para obtener más opciones de encriptación, consulta las Opciones de encriptación de datos. Para ver ejemplos de uso de esta función, consulta Usa claves de encriptación administradas por el cliente.

Descripción general

Como una capa adicional, sobre las claves de encriptación administradas por Google, puedes elegir usar las claves generadas por Cloud Key Management Service. Estas claves se conocen como claves de encriptación administradas por el cliente. Si usas una clave de encriptación administrada por el cliente, tus claves de encriptación se almacenan en Cloud KMS. El proyecto que contiene tus claves de encriptación puede ser independiente del que contiene tus depósitos, lo que permite una mejor separación de tareas.

¿Cuándo se usa la clave?

Cuando aplicas una clave de encriptación administrada por el cliente a un objeto, Cloud Storage usa la clave para encriptar los siguientes elementos:

  • Los datos del objeto
  • La suma de verificación CRC32C del objeto
  • El hash MD5 del objeto

Cloud Storage usa claves en el lado del servidor estándar para encriptar los metadatos restantes del objeto, incluido el nombre del objeto. Esto te permite leer y actualizar metadatos generales, además de enumerar y borrar objetos, sin necesidad de usar la clave de encriptación administrada por el cliente. Sin embargo, para realizar cualquiera de estas acciones, debes tener suficientes permisos.

Por ejemplo, si un objeto está encriptado con una clave de encriptación administrada por el cliente, la clave se debe usar para realizar operaciones en el objeto, como descargarlo o moverlo. Si intentas leer los metadatos del objeto sin proporcionar la clave, recibirás metadatos como el nombre del objeto y el Content-Type, pero no la suma de verificación CRC32C ni el hash MD5 del objeto. Si proporcionas tu clave cuando solicitas los metadatos del objeto, la suma de verificación CRC32C y el hash MD5 de este se incluyen en los metadatos.

Cuentas de servicio

La encriptación y la desencriptación con claves de encriptación administradas por el cliente se realizan con cuentas de servicio. Una vez que das acceso a tu cuenta de servicio de Cloud Storage a una clave de encriptación, esa cuenta de servicio encripta los siguientes elementos:

Cuando agregas o reescribes un objeto en Cloud Storage, si tienes una clave predeterminada establecida en tu depósito y una clave específica incluida en tu solicitud, se usa la clave específica para encriptar el objeto en Cloud Storage.

Cuando un solicitante desea leer un objeto encriptado con una clave de encriptación administrada por el cliente, simplemente accede al objeto como lo haría normalmente. Durante esta solicitud, la cuenta de servicio desencripta de forma automática el objeto solicitado, siempre que se cumplan las siguientes condiciones:

  • La cuenta de servicio todavía tiene permiso para la desencriptación con la clave.
  • No inhabilitaste ni destruiste la clave.

Si una de estas condiciones no se cumple, la cuenta de servicio no desencripta los datos y la solicitud falla.

Recursos clave

Un recurso clave de Cloud KMS tiene el siguiente formato:

projects/[PROJECT_STORING_KEYS]/locations/[LOCATION]/keyRings/[KEY_RING_NAME]/cryptoKeys/[KEY_NAME]

En el que:

  • [PROJECT_STORING_KEYS] es el ID del proyecto asociado con la clave. Por ejemplo, my-pet-project.
  • [LOCATION] es la ubicación de la clave. Por ejemplo, us-east1.
  • [KEY_RING_NAME] es el nombre del llavero de claves. Por ejemplo, my-key-ring.
  • [KEY_NAME] es el nombre de la clave. Por ejemplo, my-key.

Restricciones

Las siguientes restricciones se aplican cuando se usan claves de encriptación administradas por el cliente:

  • En la actualidad, las exportaciones de Cloud SQL a Cloud Storage y a Cloud Dataflow no admiten objetos encriptados con claves de encriptación administradas por el cliente.

  • No puedes usar el método de copiar objetos de la API de JSON cuando el objeto de origen está encriptado con una clave de encriptación administrada por el cliente o cuando el objeto de destino se puede encriptar con una clave de encriptación administrada por el cliente. En su lugar, usa el método de reescritura de objetos.

  • No puedes usar el método de redactar objetos de la API de JSON cuando uno o más objetos de origen se encriptaron con una clave de encriptación administrada por el cliente.

  • No puedes encriptar un objeto con una clave de encriptación administrada por el cliente mediante la actualización de los metadatos del objeto. Incluye la clave como parte de una reescritura del objeto en su lugar.

  • Debes crear la clave de Cloud KMS en la misma ubicación que los datos que deseas encriptar. Por ejemplo, si tu depósito está ubicado en us-east1, cualquier objeto de encriptación de claves de Cloud KMS en ese depósito también se debe crear en us-east1. Para conocer las ubicaciones disponibles de Cloud KMS, consulta las ubicaciones de Cloud KMS.

  • No puedes especificar una clave de encriptación administrada por el cliente como parte de un Servicio de transferencia de almacenamiento y cualquiera de estas claves en los objetos de origen no se aplica a los objetos transferidos. Configura una clave administrada por el cliente predeterminada en tu depósito antes de realizar la transferencia.

Relación con las claves de encriptación proporcionadas por el cliente

Además de la encriptación administrada por el cliente, en Cloud Storage se ofrecen claves de encriptación proporcionadas por el cliente como una forma de controlar la encriptación de datos. Puedes encriptar diferentes objetos en un solo depósito con distintos métodos de encriptación, pero ten en cuenta la siguiente información:

  • Un mismo objeto solo se puede encriptar mediante uno de estos métodos a la vez.

  • Si tienes una clave administrada por el cliente predeterminada para tu depósito y especificas una clave proporcionada por el cliente en una solicitud, Cloud Storage usa la clave proporcionada por el cliente para encriptar el objeto.

  • Puedes configurar una clave predeterminada administrada por el cliente en tu depósito, pero no puede configurar una clave predeterminada proporcionada por el cliente en tu depósito.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.