

# 在 AWS 管理控制台 中分配虚拟 MFA 设备
<a name="id_credentials_mfa_enable_virtual"></a>

**重要**  
AWS 建议您在登录 AWS 时，尽可能使用通行密钥或安全密钥作为 MFA。有关更多信息，请参阅 [在 AWS 管理控制台 中分配密钥或安全密钥](id_credentials_mfa_enable_fido.md)。

您可以将手机或其他设备作为虚拟多重身份验证（MFA）设备。为此，请安装符合 [RFC 6238](https://datatracker.ietf.org/doc/html/rfc6238) 的移动应用程序，这是一种基于标准的 TOTP（基于时间的一次性密码）算法。这些应用程序生成六位数的身份验证代码。由于身份验证器可以在不安全的移动设备上运行，而且代码有可能与未经授权的各方共享，因此基于 TOTP 的 MFA 无法提供与 [FIDO2](https://en.wikipedia.org/wiki/FIDO_Alliance#FIDO2) 安全密钥和通行密钥等防网络钓鱼选项相同的安全级别。我们建议您使用通行密钥或安全密钥进行 MFA，以最有效地防范网络钓鱼等攻击。

如果您还不能使用通行密钥或安全密钥，我们建议您在等待硬件购买批准或等待硬件到达时，使用虚拟 MFA 设备作为临时措施。

大多数虚拟 MFA 应用程序支持创建多个虚拟设备，从而允许您在多个 AWS 账户 或用户中使用相同的应用程序。您最多可以向 AWS 账户根用户 和 IAM 用户注册 **8** 台 [MFA 类型](https://aws.amazon.com/iam/features/mfa/)任意组合的 MFA 设备。只需一台 MFA 设备即可登录 AWS 管理控制台 或通过 AWS CLI 创建会话。建议注册多个 MFA 设备。对于身份验证器应用程序，我们还建议您启用云备份或同步功能，以帮助避免在设备丢失或损坏时失去对账户的访问权限。

AWS 需要可产生六位数 OTP 的虚拟 MFA 应用程序。有关您可以使用的虚拟 MFA 应用程序的列表，请参阅 [Multi-Factor Authentication](https://aws.amazon.com/iam/features/mfa/?audit=2019q1)。

**Topics**
+ [所需权限](#mfa_enable_virtual_permissions-required)
+ [为 IAM 用户启用虚拟 MFA 设备（控制台）](#enable-virt-mfa-for-iam-user)
+ [替换虚拟 MFA 设备](#replace-virt-mfa)

## 所需权限
<a name="mfa_enable_virtual_permissions-required"></a>

要管理您的 IAM 用户的虚拟 MFA 设备，您必须具有以下策略中的权限：[AWS：允许使用 MFA 完成身份验证的 IAM 用户在“安全凭证”页面上管理自己的 MFA 设备。](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md)。

## 为 IAM 用户启用虚拟 MFA 设备（控制台）
<a name="enable-virt-mfa-for-iam-user"></a>

您可在 AWS 管理控制台 中使用 IAM 为您账户中的 IAM 用户启用和管理虚拟 MFA 设备。您可以将标签附加到 IAM 资源（包括虚拟 MFA 设备），以识别、组织和控制对这些资源的访问。只有在使用 AWS CLI 或 AWS API 时，才能标记虚拟 MFA 设备。要使用 AWS CLI 或 AWS API 启用和管理 MFA 设备，请参阅 [在 AWS CLI 或 AWS API 中分配 MFA 设备](id_credentials_mfa_enable_cliapi.md)。有关标记 IAM 资源的更多信息，请参阅 [AWS Identity and Access Management 资源的标签](id_tags.md)。

**注意**  
您必须拥有对将托管用户的虚拟 MFA 设备的硬件的物理访问权限以便配置 MFA。例如，您可能为使用在智能手机上运行的虚拟 MFA 设备的用户配置 MFA。在这种情况下，您必须具有智能手机才能完成该向导。因此，您可能想让用户配置和管理他们自己的虚拟 MFA 设备。在此情况下，您必须授予用户执行必要的 IAM 操作所需的权限。有关更多信息以及授予这些权限的 IAM 策略示例，请参阅 [IAM 教程：允许用户管理其凭证和 MFA 设置](tutorial_users-self-manage-mfa-and-creds.md) 和示例策略 [AWS：允许使用 MFA 完成身份验证的 IAM 用户在“安全凭证”页面上管理自己的 MFA 设备。](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md)。

**为 IAM 用户启用虚拟 MFA 设备（控制台）**

1. 登录 AWS 管理控制台，单击 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在导航窗格中，选择**用户**。

1. 在 **用户**列表中，选择 IAM 用户的名称。

1. 选择 **Security Credentials (安全凭证)** 选项卡。在 **Multi-factor authentication (MFA)** [多重身份验证（MFA）] 部分中，选择 **Assign MFA device**（分配 MFA 设备）。

1. 在向导中，键入**设备名称**，选择**身份验证器应用程序**，然后选择**下一步**。

   IAM 将生成并显示虚拟 MFA 设备的配置信息，包括 QR 代码图形。此图形是秘密配置密钥的表示形式，适用于不支持 QR 代码的设备上的手动输入。

1. 打开您的虚拟 MFA 应用程序。有关可用于托管虚拟 MFA 设备的应用程序的列表，请参阅[多重身份验证](https://aws.amazon.com/iam/details/mfa/)。

   如果虚拟 MFA 应用程序支持多个虚拟 MFA 设备或账户，请选择相应的选项以创建新的虚拟 MFA 设备或账户。

1. 确定 MFA 应用程序是否支持 QR 代码，然后执行以下操作之一：
   + 在向导中，选择 **Show QR 代码 (显示 QR 代码)**，然后使用该应用程序扫描 QR 代码。这可能是摄像头图标或使用设备的摄像头扫描代码的**扫描代码**选项。
   + 在向导中，选择 **Show secret key**（显示私有密钥），然后在您的 MFA 应用程序中键入私有密钥。

   完成操作后，虚拟 MFA 设备会开始生成一次性密码。

1. 在**设置设备**页面中的 **MFA 代码 1** 框中，键入虚拟 MFA 设备当前显示的一次性密码。请等候 30 秒，以便设备生成新的一次性密码。然后在 **MFA code 2 (MFA 代码 2)** 框中键入第二个一次性密码。选择 **Add MFA**（添加 MFA）。
**重要**  
生成代码之后立即提交您的请求。如果生成代码后等待很长时间才提交请求，MFA 设备会成功与用户关联，但 MFA 设备无法同步。这是因为基于时间的一次性密码（TOTP）很快会过期。这种情况下，您可以[重新同步设备](id_credentials_mfa_sync.md)。

虚拟 MFA 设备现在已准备好与 AWS 一起使用了。有关在 AWS 管理控制台上使用 MFA 的信息，请参阅 [已启用 MFA 的登录](console_sign-in-mfa.md)。

**注意**  
当您通过 AWS 管理控制台或在登录过程中添加新的虚拟 MFA 设备时，系统会删除您 AWS 账户中未分配的虚拟 MFA 设备。未分配的虚拟 MFA 设备是指您账户中的设备，但在登录过程中不被账户根用户或 IAM 用户使用。已删除这些设备，因此可以向您的账户添加新的虚拟 MFA 设备。它还允许您重复使用设备名称。  
要查看账户中未分配的虚拟 MFA 设备，您可以使用 [list-virtual-mfa-devices](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-virtual-mfa-devices.html) AWS CLI 命令或 [API](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html) 调用。
要停用虚拟 MFA 设备，您可以使用 [deactivate-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/deactivate-mfa-device.html) AWS CLI 命令或 [API](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html) 调用。设备将变为未分配状态。
要将未分配的虚拟 MFA 设备附加到您的 AWS 账户根用户或 IAM 用户，您需要设备生成的身份验证码，以及 [enable-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/enable-mfa-device.html) AWS CLI 命令或 [API](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html) 调用。

## 替换虚拟 MFA 设备
<a name="replace-virt-mfa"></a>

您的 AWS 账户根用户 和 IAM 用户最多可以注册 **8** 台 MFA 类型任意组合的 MFA 设备。如果用户丢失设备或出于任何原因需要更换设备，请先停用旧设备。然后，您可以为用户添加新设备。
+ 要停用当前与其他 IAM 用户关联的设备，请参阅 [停用 MFA 设备](id_credentials_mfa_disable.md)。
+ 要为其他 IAM 用户添加替换虚拟 MFA 设备，请按照上述 [为 IAM 用户启用虚拟 MFA 设备（控制台）](#enable-virt-mfa-for-iam-user) 过程中的步骤进行操作。
+ 要为 AWS 账户根用户添加替换虚拟 MFA 设备，请按照 [为根用户启用虚拟 MFA 设备（控制台）](enable-virt-mfa-for-root.md) 过程中的步骤操作。