Atualizar a criptografia de objetos - Amazon Simple Storage Service

Atualizar a criptografia de objetos

Você pode usar o Operações em Lote do Amazon S3 para executar operações em lote de grande escala em objetos do Amazon S3. A operação UpdateObjectEncryption do recurso Operações em Lote atualiza o tipo de criptografia do lado do servidor de um objeto do Amazon S3 com uma única solicitação. Um único trabalho da operação UpdateObjectEncryption pode comportar um manifesto com até 20 bilhões de objetos.

É possível usar a operação UpdateObjectEncryption com todas as classes de armazenamento do Amazon S3 aceitas por buckets de uso geral. É possível usar a operação UpdateObjectEncryption para alterar o tipo de criptografia de objetos de criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE- S3) para chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) ou aplicar chaves de bucket do S3. Também é possível usar a operação UpdateObjectEncryption para alterar a chave do KMS gerenciada pelo cliente utilizada na criptografia de seus dados e cumprir padrões personalizados de alternância de chaves.

Ao criar um trabalho de operações em lote, é possível gerar uma lista de objetos baseada no local de origem e em critérios de filtro especificados por você. É possível usar o filtro MatchAnyObjectEncryption para gerar uma lista de objetos do seu bucket que você deseja atualizar e incluir no seu manifesto. A lista de objetos gerada inclui somente objetos do bucket de origem com o tipo de criptografia do lado do servidor indicado. Se você selecionar SSE-KMS, poderá, opcionalmente, filtrar ainda mais os resultados especificando um ARN de chave do KMS e o status “Chave do bucket habilitada”. Para ter mais informações, consulte JobManifestGeneratorFilter e SSEKMSFilter na Referência de API do Amazon S3.

Restrições e considerações

Quando você usa a operação UpdateObjectEncryption do recurso Operações em Lote, as seguintes restrições e considerações se aplicam:

  • A operação UpdateObjectEncryption não permite objetos não criptografados ou objetos criptografados com a criptografia de camada dupla do lado do servidor com AWS KMS keys (DSSE-KMS) ou chaves de criptografia fornecidas pelo cliente (SSE-C). Além disso, não é possível especificar a solicitação UpdateObjectEncryption para o tipo de criptografia SSE-S3.

  • É possível usar a operação UpdateObjectEncryption para atualizar objetos em buckets que têm o Versionamento do S3 habilitado. Para atualizar o tipo de criptografia de uma versão específica, é necessário especificar um ID de versão na solicitação UpdateObjectEncryption. Se você não especificar um ID de versão, a solicitação UpdateObjectEncryption atuará na versão atual do objeto. Para obter mais informações sobre o S3 Versioning, consulte Reter várias versões de objetos com o Versionamento do S3.

  • A operação UpdateObjectEncryption falha em qualquer objeto que tenha um modo de retenção do Bloqueio de Objetos do S3 ou uma retenção jurídica aplicados a ele. Se um objeto tiver um período de retenção no modo de governança ou uma retenção jurídica, primeiro será necessário remover o status de bloqueio de objetos para emitir a solicitação UpdateObjectEncryption. Não é possível usar a operação UpdateObjectEncryption com objetos que tenham um período de retenção do modo de conformidade do Bloqueio de Objetos aplicado a eles. Para obter mais informações sobre bloqueio de objetos do S3, consulte Bloquear objetos com o Bloqueio de Objetos.

  • As solicitações UpdateObjectEncryption em buckets de origem com replicação em tempo real habilitada não iniciarão eventos de réplica no bucket de destino. Se você quiser alterar o tipo de criptografia dos objetos nos buckets de origem e destino, será necessário iniciar solicitações UpdateObjectEncryption separadas nos objetos nos buckets de origem e destino.

  • Por padrão, todas as solicitações UpdateObjectEncryption que especificam uma chave do KMS gerenciada pelo cliente são restritas às chaves do KMS pertencentes à Conta da AWS do proprietário do bucket. Se você estiver usando o AWS Organizations, existe a possibilidade de usar AWS KMS keys pertencentes a outras contas de membro em sua organização. Para isso, entre em contato com o AWS Support para fazer essa solicitação.

  • Se você usa o recurso Replicação em Lote do S3 para replicar conjuntos de dados entre regiões e já tiver atualizado o tipo de criptografia do lado do servidor de SSE-S3 para SSE-KMS, talvez você precise de permissões adicionais. No bucket da região de origem, é necessário ter a permissão kms:decrypt. Em seguida, é necessário ter as permissões kms:decrypt e kms:encrypt para o bucket na região de destino.

  • Forneça um ARN completo da chave do KMS na solicitação UpdateObjectEncryption. Não é possível usar um nome de alias ou ARN de alias. É possível determinar o ARN completo da chave do KMS no console do AWS KMS ou usando a API DescribeKey do AWS KMS.

Para obter mais informações sobre o UpdateObjectEncryption, consulte Atualizar a criptografia do lado do servidor para dados existentes.

Permissões obrigatórias

Para realizar a operação UpdateObjectEncryption, adicione a política do AWS Identity and Access Management (IAM) a seguir à sua entidade principal do IAM (usuário, perfil ou grupo). Para usar essa política, substitua amzn-s3-demo-bucket pelo nome do bucket que contém os objetos para os quais você deseja atualizar a criptografia. Substitua amzn-s3-demo-manifest-bucket pelo nome do bucket que contém seu manifesto e substitua amzn-s3-demo-completion-report-bucket pelo nome do bucket onde você deseja armazenar o relatório de conclusão.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3BatchOperationsUpdateEncryption", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:UpdateObjectEncryption" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-target" "arn:aws:s3:::amzn-s3-demo-bucket-target-target/*" ] }, { "Sid": "S3BatchOperationsPolicyForManifestFile", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-manifest/*" ] }, { "Sid": "S3BatchOperationsPolicyForCompletionReport", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-completion-report/*" ] }, { "Sid": "S3BatchOperationsPolicyManifestGeneration", "Effect": "Allow", "Action": [ "s3:PutInventoryConfiguration" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-target" ] }, { "Sid": "AllowKMSOperationsForS3BatchOperations", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }

Para ter informações sobre a política de confiança e a política de permissões que devem ser anexadas ao perfil do IAM que a entidade principal de serviço do recurso Operações em Lote do S3 assume para executar trabalhos de operações em lote em seu nome, consulte Conceder permissões para operações em lote e Atualizar a criptografia de objetos.