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
UpdateObjectEncryptionno 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 deUpdateObjectEncryptionde tipo de cifrado de SSE-S3. -
Puede usar la operación
UpdateObjectEncryptionpara 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 deUpdateObjectEncryption. Si no especifica el ID de versión, la solicitud deUpdateObjectEncryptionactú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
UpdateObjectEncryptionproduce 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 deUpdateObjectEncryption. No puede usar la operaciónUpdateObjectEncryptioncon 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
UpdateObjectEncryptionen 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 deUpdateObjectEncryptionindependientes en los objetos de los buckets de origen y destino. -
De forma predeterminada, todas las solicitudes de
UpdateObjectEncryptionque 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 permisoskms:decryptykms:encryptpara 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 KMSDescribeKey.
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 por el nombre del bucket que contiene los objetos para los que desea actualizar el cifrado. Sustituya amzn-s3-demo-bucket por el nombre del bucket que contiene el manifiesto y sustituya amzn-s3-demo-manifest-bucket por el nombre del bucket en el que desea almacenar el informe de finalización.amzn-s3-demo-completion-report-bucket
{ "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.