

# 在 AWS 管理控制台 中分配硬件 TOTP 令牌
<a name="id_credentials_mfa_enable_physical"></a>

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

硬件 TOTP 令牌以基于时间的一次性密码（TOTP）算法为基础生成一个六位数字代码。在登录过程中，用户必须在出现提示时从该设备键入有效代码。分配给用户的每个 MFA 设备都必须是唯一的；进行身份验证时，某个用户无法从另一个用户的设备键入代码。MFA 设备不能跨账户或用户共享。

硬件 TOTP 令牌和 [FIDO 安全密钥](id_credentials_mfa_enable_fido.md)都是您购买的物理设备。硬件 MFA 设备会在您登录 AWS 时生成 TOTP 验证码来验证身份。此类设备需要使用电池，并且随着时间推移可能需要更换以及与 AWS 重新同步。FIDO 安全密钥采用公钥加密技术，不需要电池，并且可提供无缝的身份验证流程。我们建议使用 FIDO 安全密钥，是因为此类密钥能够抵御网络钓鱼攻击，是 TOTP 设备的更安全替代方案。此外，FIDO 安全密钥可以在同一台设备上支持多个 IAM 用户后根用户，从而增强在保护账户安全方面的实用性。有关这两种设备类型的规格和购买信息，请参阅[多重身份验证](https://aws.amazon.com/iam/details/mfa/)。



您可以从 AWS 管理控制台、命令行或 IAM API 为 IAM 用户启用硬件 TOTP 令牌。要为 AWS 账户根用户 启用 MFA 设备，请参阅[为根用户启用硬件 TOTP 令牌（控制台）](enable-hw-mfa-for-root.md)。

您最多可以向 AWS 账户根用户 和 IAM 用户注册 **8** 台[当前支持的 MFA 类型](https://aws.amazon.com/iam/features/mfa/)任意组合的 MFA 设备。注册多台 MFA 设备后，只需一台 MFA 设备即可以该用户的身份登录 AWS 管理控制台 或通过 AWS CLI 创建会话。

**重要**  
我们建议您为用户启用多台 MFA 设备，以便在 MFA 设备丢失或无法访问时能够继续访问您的账户。

**注意**  
如果想从命令行启用 MFA 设备，请使用 [https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html)。如要使用 IAM API 启用 MFA 设备，请使用 [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html) 操作。

**Topics**
+ [所需权限](#enable-hw-mfa-for-iam-user-permissions-required)
+ [为您自己的 IAM 用户启用硬件 TOTP 令牌（控制台）](#enable-hw-mfa-for-own-iam-user)
+ [为其他 IAM 用户启用硬件 TOTP 令牌（控制台）](#enable-hw-mfa-for-iam-user)
+ [替换物理 MFA 设备](#replace-phys-mfa)

## 所需权限
<a name="enable-hw-mfa-for-iam-user-permissions-required"></a>

要为您自己的 IAM 用户管理硬件 TOTP 令牌，同时保护与 MFA 相关的敏感操作，您必须具有以下策略中的权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## 为您自己的 IAM 用户启用硬件 TOTP 令牌（控制台）
<a name="enable-hw-mfa-for-own-iam-user"></a>

 您可以从 AWS 管理控制台 启用您自己的硬件 TOTP 令牌。

**注意**  
在启用硬件 TOTP 令牌之前，您必须拥有对设备的物理访问权限。

**为您自己的 IAM 用户启用硬件 TOTP 令牌（控制台）**

1. 使用 AWS 账户 ID 或账户别名、您的 IAM 用户名和密码登录到 [IAM 控制台](https://console.aws.amazon.com/iam)。
**注意**  
为方便起见，AWS 登录页面使用浏览器 Cookie 记住您的 IAM 用户名和账户信息。如果您之前以其他用户身份登录，请选择页面底部的 **Sign-in to a different account**（登录到其他账户）以返回主登录页面。在此处，您可以输入要重新导向到您账户 IAM 用户登录页面的 AWS 账户 ID 或账户别名。

   要获取 AWS 账户 ID，请联系管理员。

1. 在右上角的导航栏中，选择您的用户名，然后选择 **Security credentials**（安全凭证）。  
![\[AWS 管理控制台 安全凭证链接\]](http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. 在 **AWS IAM 凭证**选项卡的**多重身份验证（MFA）**部分中，选择**分配 MFA 设备**。

1. 在向导中，键入 **Device name**（设备名称），选择 **Hardware TOTP token**（硬件 TOTP 令牌），然后选择 **Next**（下一步）。

1. 键入设备序列号。序列号通常位于设备的背面。

1. 在 **MFA code 1 (MFA 代码 1)** 框中，输入 MFA 设备显示的六位数编码。您需要按设备正面的按钮来显示编码。  
![\[IAM 控制面板，MFA 设备\]](http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/images/MFADevice.png)

1. 在设备刷新期间等候 30 秒，然后在 **MFA code 2 (MFA 代码 2)** 框中键入第二个六位数编码。您需要再次按设备正面的按钮来显示第二个编码。

1. 选择 **Add MFA**（添加 MFA）。
**重要**  
在生成身份验证代码后立即提交您的请求。如果生成代码后等待很长时间才提交请求，MFA 设备会成功与用户关联，但 MFA 设备无法同步。这是因为基于时间的一次性密码（TOTP）很快会过期。这种情况下，您可以[重新同步设备](id_credentials_mfa_sync.md)。

设备已准备就绪，可在 AWS 上使用。有关在 AWS 管理控制台上使用 MFA 的信息，请参阅 [已启用 MFA 的登录](console_sign-in-mfa.md)。

## 为其他 IAM 用户启用硬件 TOTP 令牌（控制台）
<a name="enable-hw-mfa-for-iam-user"></a>

 您可以从 AWS 管理控制台 为其他 IAM 用户启用硬件 TOTP 令牌。

**为其他 IAM 用户启用硬件 TOTP 令牌（控制台）**

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

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

1. 选择要为其启用 MFA 的用户的名称。

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

1. 在向导中，键入 **Device name**（设备名称），选择 **Hardware TOTP token**（硬件 TOTP 令牌），然后选择 **Next**（下一步）。

1. 键入设备序列号。序列号通常位于设备的背面。

1. 在 **MFA code 1 (MFA 代码 1)** 框中，输入 MFA 设备显示的六位数编码。您需要按设备正面的按钮来显示编码。  
![\[IAM 控制面板，MFA 设备\]](http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/images/MFADevice.png)

1. 在设备刷新期间等候 30 秒，然后在 **MFA code 2 (MFA 代码 2)** 框中键入第二个六位数编码。您需要再次按设备正面的按钮来显示第二个编码。

1. 选择 **Add MFA**（添加 MFA）。
**重要**  
在生成身份验证代码后立即提交您的请求。如果生成代码后等待很长时间才提交请求，MFA 设备会成功与用户关联，但 MFA 设备无法同步。这是因为基于时间的一次性密码（TOTP）很快会过期。这种情况下，您可以[重新同步设备](id_credentials_mfa_sync.md)。

设备已准备就绪，可在 AWS 上使用。有关在 AWS 管理控制台上使用 MFA 的信息，请参阅 [已启用 MFA 的登录](console_sign-in-mfa.md)。

## 替换物理 MFA 设备
<a name="replace-phys-mfa"></a>

您一次最多可以向您的 AWS 账户根用户 和 IAM 用户分配 8 台[当前支持的 MFA 类型](https://aws.amazon.com/iam/features/mfa/)任意组合的 MFA 设备。如果用户丢失设备或出于任何原因需要替换它，您必须先停用旧设备。然后，您可以为用户添加新设备。
+ 要停用当前与用户关联的设备，请参阅[停用 MFA 设备](id_credentials_mfa_disable.md)。
+ 要为 IAM 用户添加替代用硬件 TOTP 令牌，请按照本主题前面部分的过程 [为其他 IAM 用户启用硬件 TOTP 令牌（控制台）](#enable-hw-mfa-for-iam-user) 中的步骤进行操作。
+ 要为 AWS 账户根用户 添加替代用硬件 TOTP 令牌，请按照本主题前面部分的过程 [为根用户启用硬件 TOTP 令牌（控制台）](enable-hw-mfa-for-root.md) 中的步骤进行操作。