Habilitar el control de versiones en buckets
Utilice S3 Versioning para mantener varias versiones de un objeto en un bucket. En esta sección, se proporcionan ejemplos de cómo habilitar el control de versiones en un bucket mediante la consola, la API de REST, los SDK de AWS y AWS Command Line Interface (AWS CLI).
nota
Después de habilitar el control de versiones en un bucket por primera vez, es posible que el cambio tarde unos 15 minutos en propagarse en todo el sistema de S3. Durante este tiempo, las solicitudes GET
de objetos creados o actualizados después de habilitar el control de versiones pueden provocar errores HTTP 404 NoSuchKey
. Recomendamos esperar 15 minutos después de habilitar el control de versiones antes de realizar operaciones de escritura (PUT
o DELETE
) en los objetos del bucket. Este periodo de espera ayuda a evitar posibles problemas con la visibilidad de los objetos y el seguimiento de versiones.
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. Para obtener información sobre cómo trabajar con objetos que se encuentran en buckets con control de versiones habilitado, consulte Trabajar con objetos en un bucket con control de versiones habilitado.
Para obtener más información sobre cómo utilizar el control de versiones de S3 para proteger los datos, consulte el Tutorial: Protecting data on Amazon S3 against accidental deletion or application bugs using S3 Versioning, S3 Object Lock, and S3 Replication
Cada bucket de S3 que crea cuenta con un subrecurso de control de versiones asociado. (Para obtener más información, consulte Opciones de configuración de buckets de uso general.) De forma predeterminada, su bucket no tendrá control de versiones y, por tanto, el subrecurso de control de versiones almacena una configuración de control de versiones vacía.
<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> </VersioningConfiguration>
Para habilitar el control de versiones, puede enviar una solicitud a Amazon S3 con una configuración de control de versiones que incluya un estado.
<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Status>Enabled</Status> </VersioningConfiguration>
Para suspender el control de versiones, puede configurar el valor de estado como Suspended
.
El propietario del bucket y todos los usuarios autorizados pueden habilitar el control de versiones. El propietario del bucket es la Cuenta de AWS que creó el bucket (la cuenta raíz). Para obtener más información sobre los permisos, consulte Administración de identidades y accesos para Amazon S3.
En las siguientes secciones, se proporcionan más detalles sobre cómo habilitar el control de versiones de S3 a través de la consola, la AWS CLI y los SDK de AWS.
Siga estos pasos para utilizar la AWS Management Console a fin de habilitar el control de versiones en un bucket de S3.
Habilitación o deshabilitación del control de versiones en un bucket de uso general de S3
Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En el panel de navegación izquierdo, elija Buckets de uso general.
-
En la lista de buckets, elija el nombre del bucket para el que desea activar el control de versiones.
-
Seleccione Propiedades.
-
En Control de versiones del bucket, elija Editar.
-
Elija Suspender o Habilitar y, a continuación, elija Guardar cambios.
nota
Puede utilizar la autenticación multifactor (MFA) de AWS con el control de versiones. Cuando utiliza MFA con el control de versiones, debe proporcionar las claves de acceso de su Cuenta de AWS y un código válido del dispositivo MFA de la cuenta para eliminar de manera permanente una versión de un objeto o suspender o volver a activar el control de versiones.
Para utilizar la MFA con el control de versiones, habilite MFA Delete
. Sin embargo, no puede habilitar MFA Delete
mediante la AWS Management Console. Para ello debe utilizar AWS Command Line Interface (AWS CLI) o la API. Para obtener más información, consulte Configurar la eliminación de MFA.
En el ejemplo siguiente se habilita el control de versiones en un bucket de uso general de S3.
aws s3api put-bucket-versioning --bucket
amzn-s3-demo-bucket1
--versioning-configuration Status=Enabled
En el siguiente ejemplo se habilita el control de versiones de S3 y la eliminación de la autenticación multifactor (MFA) en un bucket para un dispositivo MFA físico. En el caso de los dispositivos MFA físicos, en el parámetro --mfa
, pase una concatenación del número de serie del dispositivo MFA, un carácter de espacio y el valor que se muestra en el dispositivo de autenticación.
aws s3api put-bucket-versioning --bucket
amzn-s3-demo-bucket1
--versioning-configuration Status=Enabled,MFADelete=Enabled --mfa "SerialNumber 123456
"
En el siguiente ejemplo se habilita el control de versiones de S3 y la eliminación de la autenticación multifactor (MFA) en un bucket para un dispositivo MFA virtual. En el caso de los dispositivos MFA virtuales, en el parámetro --mfa
, pase una concatenación del ARN del dispositivo MFA, un carácter de espacio y el valor que se muestra en el dispositivo de autenticación.
aws s3api put-bucket-versioning --bucket
amzn-s3-demo-bucket1
--versioning-configuration Status=Enabled,MFADelete=Enabled --mfa "arn:aws:iam::account-id
:mfa/root-account-mfa-device123789
"
nota
El uso de la eliminación de MFA requiere un dispositivo de autenticación física o virtual aprobado. Para obtener más información sobre el uso de eliminación de MFA en Amazon S3, consulte Configurar la eliminación de MFA.
Para obtener más información sobre cómo habilitar el control de versiones mediante la AWS CLI, consulte put-bucket-versioning
Mediante los siguientes ejemplos, se habilita el control de versiones en un bucket y, a continuación, se recupera el estado de control de versiones mediante AWS SDK para Java y AWS SDK para .NET. Para obtener información acerca del uso de otros SDK de AWS, consulte el Centro de desarrolladores de AWS