如何排查 IAM 用户尝试创建新的 MFA 设备时出现的“实体已存在”错误?

上次更新时间:2022 年 3 月 28 日

我尝试为一个 AWS Identity and Access Management(IAM)用户创建新的多重验证(MFA)设备。我收到了与以下类似的错误消息:

“MFA Device entity at the same path and name already exists.”(已存在具有相同路径和名称的 MFA 设备实体。)

但此 IAM 用户没有任何 MFA 设备。如何解决此问题?

简短描述

出现此错误的原因是 MFA 设备已经创建,但尚未为了任何 IAM 用户启用。

解决方法

首先,停用此 MFA 设备。然后,使用 AWS Command Line Interface(AWS CLI)将其删除。最后,重新创建此 MFA 设备。

注意:如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

1.    运行以下 AWS CLI 命令 list-virtual-mfa-devices 以列出在您的 AWS 账户中创建的所有虚拟 MFA 设备:

$aws iam list-virtual-mfa-devices

2.    记下与以下格式类似的 MFA 设备序列号,以便在第 4 步中使用:

arn:aws:iam::<account-id>:mfa/<username-path>

3.    运行 AWS CLI 命令 deactivate-mfa-device 以停用该 MFA 设备,如下所示:

$aws iam deactivate-mfa-device --user-name <username> --serial-number arn:aws:iam::<account-id>:mfa/<username>

注意:如果您收到与以下类似的错误消息,则忽略它:

An error occurred (NoSuchEntity) when calling the DeactivateMFADevice operation: MFA Device with serial number arn:aws:iam::<account-id>:mfa/<username-path> doesn't exist.

4.    运行 AWS CLI 命令 delete-virtual-mfa-device 以删除该 MFA 设备,如下所示:

$aws iam delete-virtual-mfa-device --serial-number arn:aws:iam::<account-id>:mfa/<username-path>

5.    创建新的 MFA 设备。

按照为 IAM 用户启用虚拟 MFA 设备(控制台)的说明操作。

– 或者 –

按照为 IAM 用户启用虚拟 MFA 设备(AWS CLI 或 AWS API)的说明操作。