View a markdown version of this page

Como usar criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C) - Amazon Simple Storage Service

Como usar criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C)

A criptografia de servidor envolve a proteção de dados em repouso. A criptografia no lado do servidor criptografa somente os dados de objeto, não os metadados de objeto. É possível usar a criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C) em buckets de uso geral para criptografar seus dados com suas próprias chaves de criptografia. Com a chave de criptografia que você fornece como parte de sua solicitação, o Amazon S3 gerencia a criptografia de dados ao gravar em discos, e a descriptografia dos dados quando você acessa seus objetos. Portanto, você não precisa manter um código para executar a criptografia e a descriptografia de dados. A única coisa que você precisa fazer é gerenciar as chaves de criptografia fornecidas.

A maioria dos casos de uso modernos no Amazon S3 não usa mais o SSE-C porque esse tipo de criptografia não tem a flexibilidade da criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) ou da criptografia do lado do servidor com chaves do AWS KMS (SSE-KMS). Como o SSE-C exige que você forneça a chave de criptografia toda vez que interage com seus dados criptografados por SSE-C, é impossível compartilhar a chave SSE-C com outros usuários, perfis ou serviços da AWS que leem dados dos seus buckets do S3 para operar com seus dados. Devido ao amplo suporte ao SSE-KMS na AWS, a maioria das workloads modernas não usa a criptografia SSE-C porque ela não tem a flexibilidade do SSE-KMS. Para saber mais sobre o SSE-KMS, consulte Usar criptografia do lado do servidor com o AWS KMS (SSE-KMS).

Se você quiser evitar que a criptografia SSE-C seja usada para objetos gravados em seu bucket, é possível bloquear a criptografia SSE-C ao alterar a configuração de criptografia padrão do bucket. Quando o SSE-C é bloqueado para um bucket de uso geral, 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. Para saber mais sobre como bloquear o SSE-C, consulte Bloquear ou desbloquear o SSE-C para um bucket de uso geral.

Não há cobranças adicionais pelo uso de SSE-C. No entanto, as solicitações para configurar e usar SSE-C incorrem em cobranças padrão de solicitação do Amazon S3. Para obter mais informações sobre preços, consulte Preços do Amazon S3.

Importante

Conforme anunciado em 19 de novembro de 2025, o Amazon Simple Storage Service está implantando 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. Para buckets existentes em Contas da AWS sem objetos criptografados com SSE-C, o Amazon S3 também desabilitará o SSE-C para todas as novas solicitações de gravação. Para Contas da AWS que usam SSE-C, o Amazon S3 não alterará a configuração de criptografia do bucket em nenhum dos buckets existentes nessas contas. Essa implantação começou em 6 de abril de 2026 e será concluída nas próximas semanas em 37 regiões da AWS, inclusive nas regiões da AWS na China e na AWS GovCloud (EUA).

Com essas mudanças, 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.

Considerações antes de usar o SSE-C

  • O S3 nunca armazena a chave de criptografia quando se usa o SSE-C. Você deve fornecer a chave de criptografia sempre que quiser que alguém baixe seus dados criptografados por SSE-C no S3.

    • Você gerencia um mapeamento cuja chave de criptografia foi usada para criptografar objetos. Você é responsável por acompanhar a chave de criptografia que forneceu para um objeto. Isso também significa que, se você perder a chave de criptografia, perderá o objeto.

    • Como gerencia chaves de criptografia no lado do cliente, você gerencia todas as proteções adicionais, como a alternância de chave, no lado do cliente.

    • Esse esquema pode dificultar o compartilhamento da chave SSE-C com outros usuários, perfis ou serviços da AWS que você possa operar com seus dados. Devido ao amplo suporte ao SSE-KMS na AWS, a maioria das workloads modernas não usa o SSE-C porque ele não tem a flexibilidade do SSE-KMS. Para saber mais sobre o SSE-KMS, consulte Usar criptografia do lado do servidor com o AWS KMS (SSE-KMS).

    • Isso significa que objetos criptografados com SSE-C não podem ser descriptografados nativamente pelos serviços gerenciados da AWS.

  • É necessário usar HTTPS ao especificar cabeçalhos SSE-C em suas solicitações.

    • O Amazon S3 rejeitará todas as solicitações feitas por HTTP ao usar SSE-C. Por questões de segurança, recomendamos considerar que todas as chaves enviadas erroneamente por HTTP estão comprometidas. Descarte a chave e alterne conforme apropriado.

  • Se o bucket tiver o versionamento habilitado, cada versão de objeto carregada poderá ter sua própria chave de criptografia. Você é responsável por acompanhar a chave de criptografia usada para uma versão de objeto.

  • Não é possível usar o SSE-C no console do Amazon S3. Não é possível usar o console do Amazon S3 para fazer upload de um objeto e especificar a criptografia SSE-C. Também não é possível usar o console para atualizar (por exemplo, alterar a classe de armazenamento ou adicionar metadados) um objeto armazenado com o SSE-C.