Usar a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) - Amazon Simple Storage Service

Usar a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3)

Importante

O Amazon S3 agora aplica criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3) como nível básico de criptografia para cada bucket no Amazon S3. Desde 5 de janeiro de 2023, todos os novos uploads de objetos para o Amazon S3 são automaticamente criptografados sem custo adicional e sem impacto na performance. O status de criptografia automática para a configuração de criptografia padrão do bucket do S3 e para novos uploads de objetos está disponível em logs do AWS CloudTrail, no Inventário do S3, na Lente de Armazenamento do S3, no console do Amazon S3 e como cabeçalho adicional de resposta da API do Amazon S3 na AWS Command Line Interface e em AWS SDKs. Para obter mais informações, consulte Perguntas frequentes sobre criptografia padrão.

Todos os uploads de novos objetos para buckets do Amazon S3 são criptografados por padrão com criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3).

A criptografia no lado do servidor protege dados em repouso. O Amazon S3 criptografa cada objeto com uma chave exclusiva. Como uma proteção adicional, ela criptografa a si mesma utilizando uma chave que alterna regularmente. A criptografia do lado do servidor do Amazon S3 usa o Advanced Encryption Standard Galois/Counter Mode (AES-GCM) de 256 bits para criptografar todos os objetos carregados.

Não existem taxas adicionais pelo uso da criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3). Mas, as solicitações de configuração do recurso de criptografia padrão geram os encargos de solicitação padrão do Amazon S3. Para obter mais informações sobre preços, consulte Preços do Amazon S3.

Se você precisar que os uploads de dados sejam criptografados usando somente chaves gerenciadas pelo Amazon S3, poderá usar a política de bucket a seguir. Por exemplo, a política de bucket a seguir negará permissões para fazer upload de um objeto, a menos que a solicitação não inclua o cabeçalho x-amz-server-side-encryption a fim de solicitar criptografia no lado do servidor:

{ "Version": "2012-10-17", "Id": "PutObjectPolicy", "Statement": [ { "Sid": "DenyObjectsThatAreNotSSES3", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "AES256" } } } ] }
nota

A criptografia no lado do servidor criptografa somente os dados de objeto, não os metadados de objeto.

Suporte de API para criptografia do lado do servidor

Todos os buckets do Amazon S3 têm criptografia configurada por padrão e todos os novos objetos que são carregados em um bucket do S3 são automaticamente criptografados em repouso. A criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) é a configuração de criptografia padrão para todos os buckets no Amazon S3. Para usar um tipo diferente de criptografia, você pode especificar a criptografia do lado do servidor a ser usada nas solicitações PUT do S3 ou atualizar a configuração de criptografia padrão no bucket de destino.

Se quiser especificar um tipo de criptografia diferente nas solicitações PUT, você pode usar a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), criptografia de camada dupla do lado do servidor com chaves do AWS KMS (DSSE-KMS) ou criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C). Se quiser definir uma configuração de criptografia padrão diferente no bucket de destino, você pode usar SSE-KMS ou DSSE-KMS.

Para ter mais informações sobre a alteração da configuração padrão de criptografia para buckets de uso geral, consulte Configurar a criptografia padrão.

Quando você altera a configuração de criptografia padrão do bucket para SSE-KMS, o tipo de criptografia dos objetos do Amazon S3 existentes no bucket não é alterado. Para alterar o tipo de criptografia de objetos preexistentes depois de atualizar a configuração padrão de criptografia para SSE-KMS, use o recurso Operações em Lote do Amazon S3. Basta fornecer uma lista de objetos ao recurso Operações em Lote do S3 para que ele chame a respectiva operação de API. É possível usar a ação Copiar objetos para copiar objetos existentes, gravando-os de volta no mesmo bucket que os objetos criptografados por SSE-KMS. Um único trabalho do Batch Operations pode realizar a operação especificada em bilhões de objetos. Para ter mais informações, consulte Executar operações de objetos em massa com o Operações em Lote e a publicação How to retroactively encrypt existing objects in Amazon S3 using S3 Inventory, Amazon Athena, and S3 Batch Operations do Blog do AWS Storage.

Para configurar a criptografia do lado do servidor usando as APIs REST de criação de objetos, é necessário fornecer o cabeçalho de solicitação x-amz-server-side-encryption. Para obter informações sobre as APIs REST, consulte Uso da API REST.

As APIs do Amazon S3 a seguir são compatíveis com este cabeçalho:

  • Operações PUT: especifique o cabeçalho de solicitação ao fazer upload de dados usando a API PUT. Para obter mais informações, consulte Objeto PUT.

  • Iniciar upload de várias partes: especifique o cabeçalho na solicitação de inicialização ao fazer upload de objetos grandes usando a operação de API de upload de várias partes. Para obter mais informações, consulte Iniciar Multipart Upload.

  • Operações COPY: quando você copia um objeto, tem um objeto de origem e um objeto de destino. Para obter mais informações, consulte Objeto PUT - Copiar.

nota

Ao usar uma operação POST para fazer upload de um objeto, em vez de fornecer o cabeçalho de solicitação, você fornece as mesmas informações nos campos de formulário. Para obter mais informações, consulte Objeto POST.

Os AWS SDKs também fornecem APIs de wrapper que você pode usar para solicitar criptografia no lado do servidor. Você também pode usar o AWS Management Console para fazer upload de objetos e solicitar a criptografia no lado do servidor.

Para obter mais informações gerais, consulte Conceitos do AWS KMS no Guia do desenvolvedor do AWS Key Management Service.