Actualización de cifrado de objetos - Amazon Simple Storage Service

Actualización de cifrado de objetos

Puede utilizar Operaciones por lotes de Amazon S3 para realizar operaciones por lotes a gran escala en objetos de Amazon S3. La operación UpdateObjectEncryption de operaciones por lotes actualiza el tipo de cifrado del servidor de más de un objeto de Amazon S3 con una sola solicitud. Un solo trabajo de operación UpdateObjectEncryption puede admitir un manifiesto con hasta 20 000 millones de objetos.

La operación UpdateObjectEncryption es compatible con todas las clases de almacenamiento de Amazon S3 compatibles con los buckets de uso general. Puede usar la operación UpdateObjectEncryption para cambiar los objetos cifrados de cifrado del servidor con claves administradas por Amazon S3 (SSE-S3) a claves de AWS Key Management Service (AWS KMS) (SSE-KMS) o aplicar las claves de bucket de S3. También puede usar la operación UpdateObjectEncryption para cambiar la clave de KMS administrada por el cliente que se usa para cifrar los datos, de modo que pueda cumplir con los estándares personalizados de rotación de claves.

Cuando cree un trabajo de operaciones por lotes, puede generar una lista de objetos en función de la ubicación de origen y filtrar los criterios que especifique. Puede usar el filtro MatchAnyObjectEncryption para generar una lista de objetos del bucket que desee actualizar e incluir en el manifiesto. La lista de objetos generada incluye solo los objetos del bucket de origen con el tipo de cifrado del servidor indicado. Si selecciona SSE-KMS, también puede filtrar opcionalmente los resultados especificando el ARN de una clave de KMS específica y el estado habilitado de la clave del bucket. Para obtener más información, consulte JobManifestGeneratorFilter y SSEKMSFilter en la Referencia de la API de Amazon S3.

Restricciones y consideraciones

Al utilizar la operación UpdateObjectEncryption de operaciones por lotes, se aplican las siguientes restricciones y consideraciones:

  • La operación UpdateObjectEncryption no admite objetos que no estén cifrados u objetos que estén cifrados con cifrado del servidor de doble capa con AWS KMS keys (DSSE-KMS) o claves de cifrado proporcionadas por el cliente (SSE-C). Además, no puede especificar la solicitud de UpdateObjectEncryption de tipo de cifrado de SSE-S3.

  • Puede usar la operación UpdateObjectEncryption para actualizar objetos en buckets que tienen habilitado el control de versiones de S3. Para actualizar el tipo de cifrado de una versión concreta, debe especificar un ID de versión en la solicitud de UpdateObjectEncryption. Si no especifica el ID de versión, la solicitud de UpdateObjectEncryption actúa en la versión actual del objeto. Para obtener más información sobre el control de versiones de S3, consulte Retención de varias versiones de objetos con Control de versiones de S3.

  • La operación UpdateObjectEncryption produce un error en cualquier objeto al que se le aplique un modo de retención de Bloqueo de objetos de S3 o una retención legal. Si un objeto tiene un periodo de retención en modo de gobernanza o una retención legal, primero debe eliminar el estado de Bloqueo de objetos del objeto antes de emitir la solicitud de UpdateObjectEncryption. No puede usar la operación UpdateObjectEncryption con objetos a los que se les haya aplicado un periodo de retención del modo de cumplimiento de Bloqueo de objetos. Para obtener más información acerca de S3 Object Lock, consulte Bloqueo de objetos mediante Bloqueo de objetos.

  • Las solicitudes de UpdateObjectEncryption en los buckets de origen con la replicación en directo habilitada no iniciarán los eventos de réplica en el bucket de destino. Si desea cambiar el tipo de cifrado de los objetos en los buckets de origen y destino, debe iniciar solicitudes de UpdateObjectEncryption independientes en los objetos de los buckets de origen y destino.

  • De forma predeterminada, todas las solicitudes de UpdateObjectEncryption que especifican una clave de KMS administrada por el cliente están restringidas a las claves de KMS que son propiedad de la Cuenta de AWS del propietario del bucket. Si utiliza AWS Organizations, puede solicitar la posibilidad de utilizar AWS KMS keys si son propiedad de otras cuentas de miembros de la organización contactando con AWS Support.

  • Si usa la replicación por lotes de S3 para replicar conjuntos de datos entre regiones y los objetos anteriormente actualizaron el tipo de cifrado del servidor de SSE-S3 a SSE-KMS, es posible que necesite permisos adicionales. En el bucket de la región de origen, debe tener permisos kms:decrypt. A continuación, necesitará los permisos kms:decrypt y kms:encrypt para el bucket en la región de destino.

  • Proporcione un ARN de clave de KMS completo en la solicitud de UpdateObjectEncryption. No puede usar un nombre de alias o ARN de alias. Puede determinar el ARN de clave de KMS completo en la consola de AWS KMS o mediante la API de AWS KMS DescribeKey.

Para obtener más información acerca de UpdateObjectEncryption, consulte Actualización de cifrado del servidor para los datos existentes.

Permisos necesarios

Para realizar la operación UpdateObjectEncryption, agregue la siguiente política de AWS Identity and Access Management (IAM) a la entidad principal de IAM (usuario, rol o grupo). Para usar esta política, sustituya amzn-s3-demo-bucket por el nombre del bucket que contiene los objetos para los que desea actualizar el cifrado. Sustituya amzn-s3-demo-manifest-bucket por el nombre del bucket que contiene el manifiesto y sustituya amzn-s3-demo-completion-report-bucket por el nombre del bucket en el que desea almacenar el informe de finalización.

{ "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 ver la política de confianza y la política de permisos que debe adjuntar al rol de IAM que la entidad principal del servicio de operaciones por lotes de S3 asume para ejecutar los trabajos de operaciones por lotes en su nombre, consulte Concesión de permisos para Operaciones por lotes y Actualización de cifrado de objetos.