Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Como faço para ativar a exclusão com MFA para meu bucket do Amazon S3?
Quero ativar a exclusão de autenticação multifator (MFA) para meu bucket do Amazon Simple Storage Service (Amazon S3) para proteger meus objetos contra exclusões não intencionais.
Breve descrição
Quando você não configura a exclusão com MFA, qualquer pessoa com uma das seguintes permissões pode excluir permanentemente um objeto do Amazon S3:
- Senha do usuário-raiz
- Credenciais de usuário ou perfil do AWS Identity and Access Management (AWS IAM) com permissão de exclusão
Quando você configura a exclusão com MFA, somente o usuário-raiz pode excluir permanentemente as versões do objeto ou alterar a configuração de controle de versionamento no seu bucket do S3. Você deve usar um dispositivo MFA para autenticar o usuário-raiz para realizar a ação de exclusão.
Para configurar a exclusão com MFA para seu bucket, conclua as seguintes etapas:
- Gere uma chave de acesso e uma chave secreta para o usuário-raiz.
- Ativar um dispositivo MFA para o usuário-raiz.
- Configure o AWS CLI com as credenciais do usuário-raiz.
- Configure a exclusão com MFA.
- Confirme se a exclusão com MFA está funcionando e exclua suas chaves de acesso raiz.
É possível usar a exclusão com MFA somente em buckets para os quais o versionamento do S3 foi ativado. O proprietário do bucket, a conta da AWS que criou o bucket e todos os usuários do IAM autorizados podem ativar o versionamento. No entanto, somente a conta de usuário-raiz pode ativar a exclusão com MFA. Para ativar a exclusão com MFA, você deve usar a AWS CLI ou a API REST do Amazon S3.
Observação: Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Resolução
Gere uma chave de acesso e uma chave secreta para o usuário-raiz
Primeiro, crie chaves de acesso para o usuário-raiz. Após criar essas chaves, você deve baixá-las e salvá-las imediatamente. Não será possível recuperar essas chaves posteriormente.
Ativar um dispositivo MFA para o usuário-raiz
Se você não ativou um dispositivo MFA para o usuário-raiz, consulte Ativar um dispositivo MFA virtual para o usuário-raiz (console). Se você já ativou um dispositivo MFA para o usuário-raiz, anote o ARN.
Configure o AWS CLI com as credenciais do usuário-raiz
Conclua as seguintes etapas:
- Execute o comando configure da AWS CLI.
- Para o ID da chave de acesso da AWS, por exemplo, AKIAEXAMPLEABCQWE, insira o ID da chave de acesso do usuário-raiz.
- Para a Chave de acesso secreta AWS do usuário-raiz, insira o ID da chave de acesso secreta. É possível encontrar a chave de acesso secreta no arquivo que contém as credenciais do usuário-raiz.
- (Opcional) Para o Nome da região padrão, é possível inserir a região da AWS padrão.
- (Opcional) Para o formato de saída padrão, é possível inserir o formato de saída.
Importante: se você configurou perfis nomeados na AWS CLI, deverá criar outro perfil para as credenciais do usuário-raiz. Para configurar um perfil nomeado, execute o seguinte comando configure:
aws configure --profile root_user
Ativar a exclusão com MFA do S3
Para ativar a exclusão com MFA, execute o 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"
Observação: no comando anterior, substitua 1XXXXXXX6789 pelo ID da sua conta e 123789 pelo número de série que o dispositivo MFA gera.
Se você usar um perfil nomeado para o usuário-raiz, execute o seguinte 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
Se o comando for bem-sucedido, você não receberá nenhuma saída. Se você receber uma saída com um erro, confirme se está usando o usuário-raiz e se o número de série do ARN e do MFA são válidos.
Também é possível chamar a API PutBucketVersioning para ativar a exclusão com MFA.
Observação: não é possível usar a exclusão com MFA com configurações de ciclo de vida. Se houver uma configuração de ciclo de vida no bucket e você executar o comando put-bucket-versioning anterior, receberá o seguinte erro:
“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.”
Confirme se a exclusão com MFA está funcionando
Primeiro, certifique-se de ativar o controle de versionamento do S3. É possível usar o console do Amazon S3 ou a seguinte API GetBucketVersioning:
aws s3api get-bucket-versioning --bucket mybucketname
Exemplo de saída:
{ "Status": "Enabled", "MFADelete": "Enabled" }
Para excluir permanentemente uma versão do objeto, você deve incluir o cabeçalho da solicitação x-amz-mfa. É possível usar a opção --mfa no comando delete-object para incluir o valor do cabeçalho. O valor do cabeçalho é a cadeia do número de série do seu dispositivo de autenticação, um espaço e o código de autenticação. Para obter mais informações, consulte Excluindo um objeto de um bucket habilitado para exclusão com MFA.
Se você não ativar a exclusão com MFA e tentar excluir uma versão do objeto, receberá o erro a seguir. Você também recebe o erro a seguir ao usar um usuário do IAM para tentar excluir a versão do 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 o usuário-raiz para excluir uma versão do objeto em um bucket com a exclusão com MFA ativada, execute o seguinte 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" }
Observação: para permitir que usuários do IAM ou funções em sua conta usem a solicitação delete-object sem um ID de versão, conceda a eles a permissão s3:DeleteObject. Para buckets habilitados para controle de versionamento, a solicitação de exclusão de objeto cria apenas um marcador de exclusão. Ele não exclui permanentemente a versão do objeto. Para excluir permanentemente um objeto, você deve especificar o ID da versão do objeto.
Depois de ativar a exclusão com MFA, execute as seguintes ações como uma prática recomendada de segurança:
- Invalide e remova as credenciais do usuário-raiz que você armazena na sua AWS CLI nos arquivos de configuração e credenciais do seu sistema operacional (OS).
- Use o Console de Gerenciamento da AWS para excluir as chaves de acesso do usuário-raiz.

Conteúdo relevante
- feita há 2 meseslg...
- feita há 3 meseslg...
- feita há 2 meseslg...
- feita há um mêslg...
- feita há um mêslg...