Global outage event
If you're experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
¿Cómo activo la eliminación de MFA en mi bucket de Amazon S3?
Quiero activar la eliminación mediante autenticación multifactor (MFA) en mi bucket de Amazon Simple Storage Service (Amazon S3) para proteger mis objetos de eliminaciones no deseadas.
Descripción corta
Si no configuras la eliminación de MFA, cualquier persona con alguno de los siguientes permisos puede eliminar permanentemente un objeto de Amazon S3:
- Contraseña de usuario raíz
- Credenciales de usuario o rol de AWS Identity and Access Management (IAM) con permiso de eliminación
Al configurar la eliminación de MFA, solo el usuario raíz puede eliminar permanentemente las versiones de los objetos o cambiar la configuración de control de versiones en su bucket de S3. Debes usar un dispositivo MFA para autenticar al usuario raíz para realizar la acción de eliminación.
Para configurar la eliminación de MFA para el bucket, sigue estos pasos:
- Genera una clave de acceso y una clave secreta para el usuario raíz.
- Activa un dispositivo MFA para el usuario raíz.
- Configura la AWS CLI con las credenciales del usuario raíz.
- Configura la eliminación de MFA.
- Confirma que la eliminación de MFA funciona y borre las claves de acceso raíz.
Puedes usar la eliminación de MFA solo en los buckets para los que hayas activado el control de versiones de S3. El propietario del bucket, la cuenta de AWS que ha creado el bucket y todos los usuarios de IAM autorizados pueden activar el control de versiones. Sin embargo, solo la cuenta de usuario raíz puede activar la eliminación de MFA. Para activar la eliminación de MFA, debes usar la AWS CLI o la API de REST de Amazon S3.
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Resolución
Generación de una clave de acceso y una clave secreta para el usuario raíz
Primero, crea claves de acceso para el usuario raíz. Tras crear estas claves, debes descargarlas y guardarlas inmediatamente. No podrás recuperar estas claves más tarde.
Activación de un dispositivo MFA para el usuario raíz
Si no has activado un dispositivo MFA para el usuario raíz, consulta Activación de un dispositivo MFA virtual para el usuario raíz (consola). Si ya has activado un dispositivo MFA para el usuario raíz, anota el ARN.
Configuración de la AWS CLI con las credenciales de usuario raíz
Sigue estos pasos:
- Ejecuta el comando configure de la AWS CLI.
- En ID de clave de acceso de AWS, por ejemplo AKIAEXAMPLEABCQWE, introduce el ID de clave de acceso del usuario raíz.
- Para la clave de acceso secreta de AWS del usuario raíz, introduce el ID de la clave de acceso secreta. Puedes encontrar la clave de acceso secreta en el archivo que contiene las credenciales del usuario raíz.
- (Opcional) Para el nombre de la región predeterminada, puedes introducir la región de AWS predeterminada.
- (Opcional) Para el formato de resultado predeterminado, puedes introducir el formato de resultado.
Importante: Si has configurado perfiles con nombre en la AWS CLI, debes crear otro perfil para las credenciales del usuario raíz. Para configurar un perfil con nombre, ejecuta el siguiente comando configure:
aws configure --profile root_user
Activación de la eliminación de MFA de S3
Para activar la eliminación de MFA, ejecuta el comando put-bucket-versioning:
aws s3api put-bucket-versioning --bucket mybucketname --versioning-configuration MFADelete=Enabled,Status=Enabled --mfa "arn:aws:iam::1XXXXXXX6789:mfa/root-account-mfa-device 123789"
Nota: En el comando anterior, sustituye 1XXXXXXX6789 por el ID de tu cuenta y 123789 por el número de serie que genera el dispositivo MFA.
Si usas un perfil con nombre para el usuario raíz, ejecuta el siguiente comando put-bucket-versioning:
aws s3api put-bucket-versioning --bucket mybucketname --versioning-configuration MFADelete=Enabled,Status=Enabled --mfa "arn:aws:iam::1XXXXXXX6789:mfa/root-account-mfa-device 123789" --profile root_user
Si el comando se ejecuta correctamente, no obtendrás ningún resultado. Si obtienes un resultado con un error, confirma que estás utilizando el usuario raíz y que los números de serie ARN y MFA son válidos.
También puedes llamar a la API PutBucketVersioning para activar la eliminación de MFA.
Nota: No puedes usar la eliminación de MFA con las configuraciones del ciclo de vida. Si hay una configuración de ciclo de vida en el bucket y ejecutas el comando put-bucket-versioning anterior, aparece el siguiente error:
«An error occurred (InvalidBucketState) when calling the PutBucketVersioning operation: Mfa Authentication is not supported on a bucket with lifecycle configuration. Delete lifecycle configuration before enabling Mfa Authentication.»
Confirmación de que la eliminación de MFA funciona
En primer lugar, asegúrate de haber activado el control de versiones de S3. Puedes utilizar la consola de Amazon S3 o la siguiente API GetBucketVersioning:
aws s3api get-bucket-versioning --bucket mybucketname
Resultado de ejemplo:
{ "Status": "Enabled", "MFADelete": "Enabled" }
Para eliminar permanentemente una versión de un objeto, debes incluir el encabezado de solicitud x-amz-mfa. Puedes usar la opción --mfa en el comando delete-object para incluir el valor del encabezado. El valor del encabezado es la cadena del número de serie del dispositivo de autenticación, un espacio y el código de autenticación. Para obtener más información, consulta Eliminación de un objeto de un bucket habilitado para la eliminación de MFA.
Si no activas la eliminación de MFA e intentas eliminar una versión de un objeto, aparecerá el siguiente error. También aparece el siguiente error cuando usas un usuario de IAM para intentar eliminar la versión del objeto:
«aws s3api delete-object --bucket mybucketname --key myobjectkey --version-id 3HL4kqCxf3vjVBH40Nrjkd An error occurred (AccessDenied) when calling the DeleteObject operation: Mfa Authentication must be used for this request»
Para usar el usuario raíz para eliminar una versión de un objeto en un bucket con la eliminación de MFA activada, ejecuta el siguiente comando delete-object:
aws s3api delete-object --bucket mybucketname --key myobjectkey --version-id 3HLkqCxf3vjVBH40Nrjkd --mfa "arn:aws:iam::(accountnumber):mfa/root-account-mfa-device (pass)" { "VersionId": "3HLkqCxf3vjVBH40Nrjkd" }
Nota: Para permitir que los usuarios o roles de IAM de su cuenta usen la solicitud de eliminación de objetos sin un ID de versión, concédeles el permiso s3:DeleteObject. En el caso de los buckets con control de versiones habilitado, la solicitud de eliminación de objetos solo crea un marcador de eliminación. No elimina permanentemente la versión del objeto. Para eliminar un objeto de forma permanente, debes especificar el ID de versión del objeto.
Después de activar la eliminación de MFA, lleva a cabo las siguientes acciones como práctica recomendada de seguridad:
- Invalida y elimina las credenciales de usuario raíz que almacenas en el sistema operativo (SO) en los archivos de configuración y credenciales de la AWS CLI.
- Usa la Consola de administración de AWS para eliminar las claves de acceso raíz.
- Temas
- Storage
- Etiquetas
- Amazon Simple Storage Service
- Idioma
- Español

Contenido relevante
- preguntada hace 6 meses
- preguntada hace un año
- preguntada hace un año
- preguntada hace 5 meses
OFICIAL DE AWSActualizada hace 2 años