Configuración de una clave de bucket de S3 en el nivel de objeto
Cuando realiza una operación PUT o COPY mediante la API de REST, los SDK de AWS o la AWS CLI, puede habilitar o desactivar una clave de bucket de S3 en el nivel de objeto agregando el encabezado de la solicitud x-amz-server-side-encryption-bucket-key-enabled
con un valor true
o false
. Las claves de bucket de S3 permiten reducir el costo de cifrado del lado del servidor mediante AWS Key Management Service (AWS KMS) (SSE-KMS) al disminuir el tráfico de solicitudes de Amazon S3 a AWS KMS. Para obtener más información, consulte Reducción del costo de SSE-KMS con las claves de bucket de Amazon S3.
Cuando se configura una clave de bucket de S3 para un objeto mediante una operación PUT o COPY, Amazon S3 solo actualiza la configuración de ese objeto. El ajuste de la clave de bucket de S3 para el bucket de destino no cambia. Si envía una solicitud PUT o COPY para un objeto cifrado con KMS a un bucket con las claves de bucket de S3 habilitadas, la operación en el nivel de objeto utilizará automáticamente las claves de bucket de S3, a menos que desactive las claves del encabezado de la solicitud. Si no especifica una clave de bucket de S3 para el objeto, Amazon S3 aplica el ajuste de la clave de bucket de S3 para el bucket de destino al objeto.
Requisito previo:
Antes de configurar el objeto para usar una clave de bucket de S3, consulte Cambios para tener en cuenta antes de habilitar una clave de bucket de S3.
Temas
Herramienta de operaciones por lotes de Amazon S3
Para cifrar los objetos de Amazon S3 existentes, puede utilizar la herramienta de operaciones por lotes de Amazon S3. A las operaciones por lotes de S3 se les proporciona una lista de objetos en los que deben actuar. Las operaciones por lotes llaman a la API correspondiente para llevar a cabo la operación especificada.
Puede utilizar la operación de copia de la herramienta de operaciones por lotes de S3 para copiar objetos existentes sin cifrar y escribirlos como objetos cifrados en el mismo bucket. Un solo trabajo de la herramienta de operaciones por lotes puede realizar la operación especificada en miles de millones de objetos. Para obtener más información, consulte Realización de operaciones de objetos de forma masiva con Operaciones por lotes y Cifrado de objetos con la herramienta de operaciones por lotes de Amazon S3
Uso de la API de REST
Si utiliza SSE-KMS, puede habilitar una clave de bucket de S3 para un objeto con las siguientes operaciones de la API:
-
PutObject : al cargar un objeto, puede especificar el encabezado de solicitud
x-amz-server-side-encryption-bucket-key-enabled
para habilitar o deshabilitar una clave de bucket de S3 en el nivel de objeto. -
CopyObject : al copiar un objeto y configurar SSE-KMS, puede especificar el encabezado de solicitud
x-amz-server-side-encryption-bucket-key-enabled
para habilitar o deshabilitar una clave de bucket de S3 para el objeto. -
POST Object: al utilizar una operación
POST
para cargar un objeto y configurar SSE-KMS, puede utilizar el campo de formulariox-amz-server-side-encryption-bucket-key-enabled
para habilitar o deshabilitar una clave de bucket de S3 para el objeto. -
CreateMultipartUpload: al cargar objetos grandes mediante la operación de la API
CreateMultipartUpload
y configurar SSE-KMS, puede usar el encabezado de solicitudx-amz-server-side-encryption-bucket-key-enabled
para habilitar o deshabilitar una clave de bucket de S3 para el objeto.
Para habilitar una clave de bucket de S3 en el nivel de objeto, incluya el encabezado de solicitud x-amz-server-side-encryption-bucket-key-enabled
. Para obtener más información sobre SSE-KMS y la API de REST, consulte Uso de la API de REST.
Uso de AWS SDK para Java (PutObject)
Puede utilizar el siguiente ejemplo para configurar una clave de bucket de S3 en el nivel de objeto mediante AWS SDK for Java.
Uso de la AWS CLI (PutObject)
Puede utilizar el siguiente ejemplo de la AWS CLI para configurar una clave de bucket de S3 en el nivel de objeto como parte de una solicitud PutObject
.
aws s3api put-object --bucket
amzn-s3-demo-bucket
--keyobject key name
--server-side-encryption aws:kms --bucket-key-enabled --bodyfilepath