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