View a markdown version of this page

Bloquear ou desbloquear o SSE-C para um bucket de uso geral - Amazon Simple Storage Service

Bloquear ou desbloquear o SSE-C para um bucket de uso geral

Em abril de 2026, o Amazon S3 passou a desabilitar automaticamente a criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C) para todos os novos buckets de uso geral. O Amazon S3 também desabilitou o SSE-C para buckets existentes em contas sem objetos criptografados com SSE-C. Isso significa que, por padrão, as solicitações para fazer upload de objetos usando SSE-C são rejeitadas com o erro HTTP 403 AccessDenied.

O SSE-C exige que você forneça a chave de criptografia em todas as solicitações para ler ou gravar objetos criptografados, o que dificulta o compartilhamento do acesso com outros usuários, perfis ou serviços da AWS que operam em seus dados. A maioria das workloads usa criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) ou chaves do AWS KMS (SSE-KMS).

Se a workload exigir SSE-C, é possível habilitá-lo explicitamente atualizando a configuração de criptografia padrão do bucket. Entretanto, se você tiver buckets existentes nos quais o SSE-C ainda é permitido, será necessário bloqueá-lo para evitar novos uploads com SSE-C.

Quando o SSE-C é bloqueado para um bucket, qualquer solicitação PutObject, CopyObject, PostObject, de multipart upload ou de replicação que especificar a criptografia SSE-C será rejeitada com o erro HTTP 403 AccessDenied. Os objetos criptografados com SSE-C existentes no bucket não são afetados. Você ainda pode lê-los com GetObject ou HeadObject fornecendo os cabeçalhos SSE-C necessários.

Essa configuração é um parâmetro na API PutBucketEncryption e também poderá ser atualizada usando o console do S3, a AWS CLI ou SDKs da AWS. Você deve ter a permissão s3:PutEncryptionConfiguration.

Importante

Agora o Amazon Simple Storage Service aplica uma nova configuração de segurança de bucket padrão que desabilita automaticamente a criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C) para todos os buckets de uso geral. Em abril de 2026, o Amazon S3 implantou uma atualização para que todos os novos buckets de uso geral tenham a criptografia SSE-C desabilitada para todas as novas solicitações de gravação. Para buckets existentes em Contas da AWS sem objetos criptografados com SSE-C, o Amazon S3 também desabilita o SSE-C para todas as novas solicitações de gravação. Com essa mudança, as aplicações que precisam da criptografia SSE-C deverão habilitar deliberadamente o uso do SSE-C por meio da operação de API PutBucketEncryption após a criação do bucket. Para saber mais sobre essa mudança, consulte Perguntas frequentes sobre a configuração padrão do SSE-C para novos buckets.

Permissões

Use a PutBucketEncryption API ou o console do S3, SDKs da AWS ou a AWS CLI para bloquear ou desbloquear tipos de criptografia para um bucket de uso geral. É necessário ter a seguinte permissão:

  • s3:PutEncryptionConfiguration

Use a GetBucketEncryption API ou o console do S3, SDKs da AWS ou a AWS CLI para visualizar os tipos de criptografia bloqueados para um bucket de uso geral. É necessário ter a seguinte permissão:

  • s3:GetEncryptionConfiguration

Considerações antes de bloquear a criptografia SSE-C

Depois de bloquear o SSE-C para qualquer bucket, o seguinte comportamento de criptografia será aplicado:

  • Não há alteração na criptografia dos objetos que existiam no bucket antes de você bloquear a criptografia SSE-C.

  • Depois de bloquear a criptografia SSE-C, você pode continuar fazendo solicitações GetObject e HeadObject em objetos preexistentes criptografados com SSE-C, desde que forneça os cabeçalhos SSE-C necessários nas solicitações.

  • Quando o SSE-C é bloqueado para um bucket, qualquer solicitação PutObject, CopyObject, PostObject ou de multipart upload que especificar a criptografia SSE-C será rejeitada com o erro HTTP 403 AccessDenied.

  • Se um bucket de destino para replicação tiver o SSE-C bloqueado e os objetos de origem que estão sendo replicados forem criptografados com o SSE-C, a replicação falhará com o erro HTTP 403 AccessDenied.

Se você quiser verificar se está usando o SSE-C em qualquer um dos seus buckets antes de bloquear esse tipo de criptografia, use ferramentas como o AWS CloudTrail para monitorar o acesso aos seus dados. Esta publicação de blog mostra como auditar métodos de criptografia para uploads de objetos em tempo real. Você também pode consultar este artigo do re:Post para saber como consultar os relatórios do Inventário S3 para ver se você tem algum objeto criptografado com SSE-C.

Etapas

É possível bloquear ou desbloquear a criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C) para um bucket de uso geral usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), a API REST do Amazon S3 e SDKs da AWS.

Para bloquear ou desbloquear a criptografia SSE-C para um bucket usando o console Amazon S3:

  1. Faça login no Console de Gerenciamento da AWS e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets de uso geral.

  3. Selecione o bucket para o qual você gostaria de bloquear a criptografia SSE-C.

  4. Selecione a guia Propriedades do bucket.

  5. Navegue até o painel de propriedades Criptografia padrão do bucket e selecione Editar.

  6. Na seção Tipos de criptografia bloqueados, marque a caixa ao lado de Criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C) para bloquear a criptografia SSE-C ou desmarque essa caixa para permitir o SSE-C.

  7. Escolha Salvar alterações.

Para instalar a AWS CLI, consulte Instalar ou atualizar a versão mais recente da AWS CLI no Guia do usuário da versão 2 da AWS Command Line Interface.

O exemplo da CLI a seguir mostra como bloquear ou desbloquear a criptografia SSE-C para um bucket de uso geral usando a AWS CLI. Para usar o comando, substitua os espaços reservados para entrada do usuário por suas próprias informações.

Solicitação para bloquear a criptografia SSE-C para um bucket de uso geral:

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

Solicitação para habilitar o uso da criptografia SSE-C em um bucket de uso geral:

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

Os seguintes exemplos mostram como bloquear ou desbloquear gravações da criptografia SSE-C em buckets de uso geral usando os SDKs da AWS:

Exemplo: solicitação PutBucketEncryption que define a configuração de criptografia padrão como SSE-S3 e bloqueia o 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)));

Exemplo: solicitação PutBucketEncryption que define a configuração de criptografia padrão como SSE-S3 e desbloqueia o 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

Exemplo: solicitação PutBucketEncryption que define a configuração de criptografia padrão como SSE-S3 e bloqueia o SSE-C

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

Exemplo: solicitação PutBucketEncryption que define a configuração de criptografia padrão como SSE-S3 e desbloqueia o SSE-C

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

Para ter informações sobre a compatibilidade oferecida pela API REST do Amazon S3 para bloquear ou desbloquear a criptografia SSE-C para um bucket de uso geral, consulte a seguinte seção na Referência de API do Amazon Simple Storage Service: