

# Bloqueo o desbloqueo de SSE-C para un bucket de uso general
<a name="blocking-unblocking-s3-c-encryption-gpb"></a>

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 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) 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](default-s3-c-encryption-setting-faq.md).

## Permisos
<a name="bucket-encryption-permissions"></a>

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
<a name="considerations-before-blocking-sse-c"></a>

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](https://aws.amazon.com/cloudtrail/) para supervisar el acceso a los datos. En esta [entrada de blog](https://aws.amazon.com/blogs/storage/auditing-amazon-s3-server-side-encryption-methods-for-object-uploads/), 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](https://repost.aws/articles/ARhGC12rOiTBCKHcAe9GZXCA/how-to-detect-existing-use-of-sse-c-in-your-amazon-s3-buckets) 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
<a name="block-sse-c-gpb-steps"></a>

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.

### Uso de la consola de S3
<a name="block-sse-c-gpb-console"></a>

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

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

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

1. Seleccione la pestaña **Propiedades** del bucket.

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

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

1. Seleccione **Save Changes (Guardar cambios)**.

### Uso de AWS CLI
<a name="block-sse-c-gpb-cli"></a>

Para instalar la CLI de AWS, consulte [Instalación de la CLI de AWS](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 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"
      }
    }]
  }'
```

## Uso de los AWS SDK
<a name="block-sse-c-gpb-sdks"></a>

------
#### [ 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"]
            }
        }]
    }
)
```

------

## Uso de la API de REST
<a name="bucket-tag-add-api"></a>

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*:
+ Tipo de datos [BlockedEncryptionTypes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_BlockedEncryptionTypes.html) usado en el tipo de datos [ServerSideEncryptionRule](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionRule.html) de las operaciones de la API [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) y [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html).