View a markdown version of this page

Bloqueo o desbloqueo de SSE-C para un bucket de uso general - Amazon Simple Storage Service

Bloqueo o desbloqueo de SSE-C para un bucket de uso general

A partir de abril de 2026, Amazon S3 desactiva automáticamente el cifrado del servidor con claves proporcionadas por el cliente (SSE-C) para todos los buckets nuevos de uso general. Amazon S3 también desactivó SSE-C para los buckets existentes en cuentas con objetos no cifrados por SSE-C. Esto significa que, de forma predeterminada, las solicitudes para cargar objetos mediante SSE-C se rechazan con un error HTTP 403 AccessDenied.

SSE-C requiere que proporcione la clave de cifrado con cada solicitud para leer o escribir objetos cifrados, lo que dificulta compartir el acceso con otros usuarios, roles o servicios de AWS que operan en los datos. La mayoría de las cargas de trabajo usan el cifrado del servidor con claves administradas por Amazon S3 (SSE-S3) o claves de AWS KMS (SSE-KMS) en su lugar.

Si la carga de trabajo requiere SSE-C, puede habilitarlo de forma explícita actualizando la configuración de cifrado predeterminada para el bucket. Por el contrario, si ya tiene buckets en los que todavía se permite SSE-C, puede bloquearlos para evitar nuevas cargas de SSE-C.

Cuando se bloquea SSE-C para un bucket, cualquier solicitud PutObject, CopyObject, PostObject, de carga multiparte o replicación que especifique el cifrado SSE-C se rechazará con un error HTTP 403 AccessDenied. Los objetos cifrados con SSE-C existentes en el bucket no se ven afectados, puede leerlos con GetObject o HeadObject proporcionando los encabezados de SSE-C requeridos.

Esta configuración es un parámetro de la API PutBucketEncryption y también se puede actualizar mediante la consola de S3, la AWS CLI y los AWS SDK. Debe tener el permiso de s3:PutEncryptionConfiguration.

importante

Amazon Simple Storage Service ahora aplica una nueva configuración de seguridad de buckets predeterminada que desactivará automáticamente el cifrado del servidor con claves proporcionadas por el cliente (SSE-C) para todos los buckets de propósito general nuevos. En abril de 2026, Amazon S3 implementó una actualización para que todos los buckets de uso general nuevos tengan desactivado el cifrado SSE-C para todas las nuevas solicitudes de escritura. Para los buckets existentes en Cuentas de AWS sin objetos cifrados de SSE-C, Amazon S3 también ha desactivado SSE-C para todas las nuevas solicitudes de escritura. Con este cambio, las aplicaciones que necesitan el cifrado SSE-C deberán habilitar deliberadamente el uso de SSE-C a través de la operación de la API PutBucketEncryption después de crear un bucket nuevo. Para obtener más información sobre este cambio, consulte Configuración de SSE-C predeterminada para preguntas frecuentes de buckets nuevos.

Permisos

Utilice la API de PutBucketEncryption o la consola de S3, los AWS SDK o la AWS CLI para bloquear o desbloquear los tipos de cifrado para un bucket de uso general. Debe tener el siguiente permiso:

  • s3:PutEncryptionConfiguration

Utilice la API de GetBucketEncryption o la consola de S3, los AWS SDK o la AWS CLI para ver los tipos de cifrado bloqueados para un bucket de uso general. Debe tener el siguiente permiso:

  • s3:GetEncryptionConfiguration

Consideraciones antes de bloquear el cifrado SSE-C

Después de bloquear SSE-C para cualquier bucket, se aplica el siguiente comportamiento de cifrado:

  • No hay ninguna variación en el cifrado de los objetos que existían en el bucket antes de que bloqueara el cifrado SSE-C.

  • Tras bloquear el cifrado SSE-C, puede seguir realizando solicitudes GetObject y HeadObject en objetos preexistentes cifrados con SSE-C siempre que proporcione los encabezados de SSE-C necesarios en las solicitudes.

  • Cuando se bloquea SSE-C para un bucket, cualquier solicitud PutObject, CopyObject, PostObject o de carga multiparte que especifique el cifrado SSE-C se rechazará con un error 403 AccessDenied.

  • Si un bucket de destino para la replicación tiene SSE-C bloqueado y los objetos de origen que se están replicando están cifrados con SSE-C, la replicación producirá un error HTTP 403 AccessDenied.

Si quiere comprobar si utiliza el cifrado SSE-C en alguno de los buckets antes de bloquear este tipo de cifrado, puede utilizar herramientas como AWS CloudTrail para supervisar el acceso a los datos. En esta entrada de blog, se muestra cómo auditar los métodos de cifrado para la carga de objetos en tiempo real. También puede consultar este artículo de re:Post como guía a la hora de consultar los informes de inventario de S3 para ver si tiene algún objeto cifrado con SSE-C.

Steps

Puede bloquear o desbloquear el cifrado del servidor con claves proporcionadas por el cliente (SSE-C) para un bucket de uso general mediante la consola de Amazon S3, la AWS Command Line Interface (AWS CLI), la API de REST de Amazon S3 y los AWS SDK.

Para bloquear o desbloquear el cifrado SSE-C de un bucket mediante la consola de Amazon S3:

  1. Inicie sesión en la consola de administración de AWS y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Buckets de uso general.

  3. Seleccione el bucket para el que desea bloquear el cifrado SSE-C.

  4. Seleccione la pestaña Propiedades del bucket.

  5. Navegue hasta el panel de propiedades de Cifrado predeterminado del bucket y seleccione Editar.

  6. En la sección Tipos de cifrado bloqueados, marque la casilla situada junto a Cifrado del servidor con claves proporcionadas por el cliente (SSE-C) para bloquear el cifrado SSE-C o desmarque esta casilla para permitir SSE-C.

  7. Seleccione Save Changes (Guardar cambios).

Para instalar la CLI de AWS, consulte Instalación de la CLI de AWS en la Guía del usuario de AWS Command Line Interface.

En el ejemplo de la CLI siguiente se muestra cómo bloquear o desbloquear el cifrado SSE-C para un bucket de uso general mediante la AWS CLI. Para usar el comando, sustituya los marcadores de posición de entrada del usuario con su propia información.

Solicitud para bloquear el cifrado SSE-C para un bucket de uso general:

aws s3api put-bucket-encryption \ --bucket amzn-s3-demo-bucket \ --server-side-encryption-configuration '{ "Rules": [{ "BlockEncryptionTypes": { "EncryptionType": "SSE-C" } }] }'

Solicitud para habilitar el uso del cifrado SSE-C en un bucket de uso general:

aws s3api put-bucket-encryption \ --bucket amzn-s3-demo-bucket \ --server-side-encryption-configuration '{ "Rules": [{ "BlockEncryptionTypes": { "EncryptionType": "NONE" } }] }'
SDK for Java 2.x

En los ejemplos siguientes, se muestra cómo bloquear o desbloquear las escrituras de cifrado SSE-C para los buckets de uso general mediante los AWS SDK.

Ejemplo: solicitud PutBucketEncryption que establece la configuración de cifrado predeterminada en SSE-S3 y bloquea SSE-C

S3Client s3Client = ...; ServerSideEncryptionByDefault defaultSse = ServerSideEncryptionByDefault .builder() .sseAlgorithm(ServerSideEncryption.AES256) .build(); BlockedEncryptionTypes blockedEncryptionTypes = BlockedEncryptionTypes .builder() .encryptionType(EncryptionType.SSE_C) .build(); ServerSideEncryptionRule rule = ServerSideEncryptionRule.builder() .applyServerSideEncryptionByDefault(defaultSse) .blockedEncryptionTypes(blockedEncryptionTypes) .build(); s3Client.putBucketEncryption(be -> be .bucket(bucketName) .serverSideEncryptionConfiguration(c -> c.rules(rule)));

Ejemplo: solicitud PutBucketEncryption que establece la configuración de cifrado predeterminada en SSE-S3 y desbloquea SSE-C

S3Client s3Client = ...; ServerSideEncryptionByDefault defaultSse = ServerSideEncryptionByDefault .builder() .sseAlgorithm(ServerSideEncryption.AES256) .build(); BlockedEncryptionTypes blockedEncryptionTypes = BlockedEncryptionTypes .builder() .encryptionType(EncryptionType.NONE) .build(); ServerSideEncryptionRule rule = ServerSideEncryptionRule.builder() .applyServerSideEncryptionByDefault(defaultSse) .blockedEncryptionTypes(blockedEncryptionTypes) .build(); s3Client.putBucketEncryption(be -> be .bucket(bucketName) .serverSideEncryptionConfiguration(c -> c.rules(rule)));
SDK for Python Boto3

Ejemplo: solicitud PutBucketEncryption que establece la configuración de cifrado predeterminada en SSE-S3 y bloquea SSE-C

s3 = boto3.client("s3") s3.put_bucket_encryption( Bucket="amzn-s3-demo-bucket", ServerSideEncryptionConfiguration={ "Rules":[{ "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" }, "BlockedEncryptionTypes": { "EncryptionType": ["SSE-C"] } }] } )

Ejemplo: solicitud PutBucketEncryption que establece la configuración de cifrado predeterminada en SSE-S3 y desbloquea SSE-C

s3 = boto3.client("s3") s3.put_bucket_encryption( Bucket="amzn-s3-demo-bucket", ServerSideEncryptionConfiguration={ "Rules":[{ "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" }, "BlockedEncryptionTypes": { "EncryptionType": ["NONE"] } }] } )

Para obtener información sobre la compatibilidad con la API de REST de Amazon S3 para el bloqueo o desbloqueo del cifrado SSE-C para un bucket de uso general, consulte la siguiente sección en la Referencia de la API de Amazon Simple Storage Service: