Reducción del costo de SSE-KMS con las claves de bucket de Amazon S3 - Amazon Simple Storage Service

Reducción del costo de SSE-KMS con las claves de bucket de Amazon S3

Las claves de bucket de Amazon S3 reducen el costo del cifrado del lado del servidor de Amazon S3 mediante AWS Key Management Service (SSE-KMS). Esta nueva clave de bucket para SSE puede reducir los costos de solicitud de AWS KMS hasta en un 99 % al disminuir el tráfico de solicitudes de Amazon S3 a AWS KMS. Con unos pocos clics en la AWS Management Console y sin modificar sus aplicaciones de cliente, puede configurar su bucket de modo que utilice una clave de bucket de S3 para el cifrado basado en AWS KMS en objetos nuevos.

Claves de bucket de S3 para SSE-KMS

Las cargas de trabajo que acceden a millones o miles de millones de objetos cifrados con SSE-KMS pueden generar grandes volúmenes de solicitudes para AWS KMS. Cuando utiliza SSE-KMS para proteger los datos sin una clave de bucket de S3, Amazon S3 recurre a AWS KMS para utilizar una clave de datos individual por cada objeto. Realiza una llamada a AWS KMS cada vez que se realiza una solicitud respecto de un objeto con cifrado de KMS. Para obtener información sobre cómo funciona SSE-KMS, consulte Protección de los datos con el cifrado del lado del servidor con CMK AWS Key Management Service (SSE-KMS).

Cuando configura el bucket de manera que utilice una clave de bucket de S3 para SSE-KMS, AWS KMS genera una clave de bucket que se utiliza en la creación de claves de datos únicas para los objetos nuevos que se agregan a dicho bucket. Esta clave de bucket de S3 se utiliza durante un periodo limitado dentro de Amazon S3, lo que reduce la necesidad de que Amazon S3 realice solicitudes a AWS KMS para completar las operaciones de cifrado. De esta manera, se reduce el tráfico de S3 a AWS KMS, lo que le permite acceder a objetos cifrados con AWS KMS en S3 a una fracción del costo anterior.

Cuando se configura una clave de bucket de S3, los objetos que ya están en el bucket no utiliza la clave de bucket de S3. Para configurar una clave de bucket de S3 para objetos existentes, puede utilizar una operación COPY. Para obtener más información, consulte Configuración de una clave de bucket de S3 en el nivel de objeto mediante la herramienta de operaciones por lotes, la API REST, los SDK de AWS o la AWS CLI .

Amazon S3 solo compartirá una clave de Bucket de S3 para los objetos que se cifren con la misma AWS KMS key.


        Diagrama en el que se muestra cómo AWS KMS genera una clave de bucket que crea claves de datos para objetos de un bucket en S3.

Configuración de claves de bucket de S3

Es posible configurar su bucket para utilizar una clave de bucket de S3 para SSE-KMS en objetos nuevos a través de la consola de Amazon S3, los SDK de AWS, la AWS CLI o la API REST. También puede anular la configuración de la clave de bucket de S3 para objetos específicos de un bucket con una clave de KMS individual por objeto mediante la API REST, el SDK de AWS o la AWS CLI. También puede ver el ajuste de la clave de bucket de S3.

Antes de configurar el bucket para utilizar una clave de bucket de S3, consulte Cambios para tener en cuenta antes de habilitar una clave de bucket de S3.

Configuración de una clave de bucket de S3 mediante la consola de Amazon S3

Al crear un nuevo bucket, puede configurarlo para utilizar una clave de bucket de S3 para SSE-KMS en objetos nuevos. También puede configurar un bucket existente para utilizar una clave de bucket de S3 para SSE-KMS en objetos nuevos al actualizar las propiedades del bucket. 

Para obtener más información, consulte Configuración del bucket para utilizar una clave de bucket de S3 con SSE-KMS para objetos nuevos .

Compatibilidad con la API REST, la AWS CLI y el SDK de AWS para claves de buckets de S3

Puede emplear la API REST, la AWS CLI o el SDK de AWS a fin de configurar el bucket de manera que utilice una clave de bucket de S3 para SSE-KMS en los objetos nuevos. También puede habilitar una clave de bucket de S3 en el nivel de objeto.

Para obtener más información, consulte los siguientes temas: 

Las siguientes API admiten claves de bucket de S3 para SSE-KMS:

Uso de AWS CloudFormation

En AWS CloudFormation, el recurso AWS::S3::Bucket contiene una propiedad de cifrado denominada BucketKeyEnabled que usted puede utilizar para activar o desactivar una clave de bucket de S3.

Para obtener más información, consulte Uso AWS CloudFormation .

Cambios para tener en cuenta antes de habilitar una clave de bucket de S3

Antes de habilitar una clave de bucket de S3, tenga en cuenta los siguientes cambios relacionados:

Políticas de clave de IAM o KMS

Si sus políticas del IAM o sus políticas de clave de AWS KMS existentes utilizan el nombre de recurso de Amazon (ARN) del objeto como contexto de cifrado para ajustar o limitar el acceso a sus claves de KMS, estas políticas no funcionarán con una clave de Bucket de S3. Las claves de bucket de S3 utilizan el ARN del bucket como contexto de cifrado. Antes de habilitar una clave de bucket de S3, actualice las políticas de IAM o las políticas de clave de AWS KMS de manera que utilicen el ARN del bucket como contexto de cifrado.

Para obtener más información sobre el contexto de cifrado y las claves de bucket de S3, consulte Contexto de cifrado.

Eventos de CloudTrail de AWS KMS

Después de habilitar una clave de bucket de S3, los eventos de AWS KMS CloudTrail registran el ARN del bucket en lugar del ARN del objeto. Además, en sus registros verá menos eventos de KMS CloudTrail para objetos SSE-KMS. Dado que el material clave tiene un tiempo limitado en Amazon S3, se realizan menos solicitudes a AWS KMS. 

Uso de una clave de bucket de S3 con replicación

Puede usar claves de bucket de S3 con replicación en la misma región (SRR) y replicación entre regiones (CRR).

Cuando Amazon S3 replica un objeto cifrado, generalmente conserva la configuración de cifrado del objeto replicado en el bucket de destino. Sin embargo, si el objeto de origen no está cifrado y el bucket de destino utiliza el cifrado predeterminado o una clave de bucket de S3, Amazon S3 cifra el objeto con la configuración del bucket de destino.

Los siguientes ejemplos ilustran cómo funciona una clave de bucket de S3 con la replicación. Para obtener más información, consulte Replicación de objetos creados con cifrado del lado del servidor (SSE) mediante claves de KMS.

ejemplo Ejemplo 1: el objeto de origen utiliza claves de bucket de S3 y el bucket de destino utiliza el cifrado predeterminado

Si el objeto de origen utiliza una clave de bucket de S3 pero el bucket de destino utiliza el cifrado predeterminado con SSE-KMS, el objeto de réplica mantiene su configuración de cifrado de clave de bucket de S3 en el bucket de destino. El bucket de destino sigue utilizando el cifrado predeterminado con SSE-KMS.

ejemplo Ejemplo 2: el objeto de origen no está cifrado y el bucket de destino utiliza una clave de bucket de S3 con SSE-KMS

Si el objeto de origen no está cifrado y el bucket de destino utiliza una clave de bucket de S3 con SSE-KMS, el objeto de origen se cifra con una clave de bucket de S3 que utiliza SSE-KMS en el bucket de destino. Esto hace que el elemento ETag del objeto de origen sea diferente al elemento ETag del objeto de réplica. Debe actualizar las aplicaciones que utilicen el elemento ETag para incluir esta diferencia.

Trabajar con claves de bucket de S3

Para obtener más información sobre cómo habilitar claves de bucket de S3 y trabajar con ellas, consulte las siguientes secciones: