保护您的AWS账户的关键资源,通过设置多因素认证(MFA)应该是首要任务,无论您的账户是否处于风险之中。如何做到呢?AWS MFA是一个强大的安全功能,可以显著提升您的AWS账户安全性。
在本教程中,您将学习如何为您的AWS账户设置MFA,并确保只有授权用户才能访问您的AWS基础架构和资源。
准备好了吗?继续阅读,确保恶意实体无法访问您的AWS资源!
先决条件
本教程包含实践演示。为了跟上,请确保您已经具备以下条件:
- 一个启用了活动计费的AWS账户 – 如果您还没有账户,请注册一个免费套餐账户。
- A mobile device (with an internet connection) to use for an authentication app to set up AWS MFA – This tutorial uses an Android device (Xiaomi 9C) as an example. Still, the process is similar for iOS devices.
创建具有密码访问权限的IAM用户
在设置AWS MFA之前,创建一个具有密码访问权限的IAM用户至关重要。这样做可以确保您有一个安全且独立的身份来访问您的AWS资源。您稍后将使用这个特定的IAM用户进行AWS MFA。
IAM用户是您AWS账户内的一个身份,您可以创建和管理以启用对AWS资源的安全访问。每个IAM用户都有唯一的凭据(即用户名和密码),用于登录到AWS管理控制台并访问AWS资源。
要创建具有密码访问权限的IAM用户:
1. 打开您首选的Web浏览器,以根用户身份登录AWS管理控制台,并导航到IAM控制台。
2. 在IAM控制台上,导航到用户(左侧窗格),然后单击添加用户以开始添加新用户。

3. 使用以下配置IAM用户详细信息:
- 用户名:为此新用户提供唯一用户名(aws_mfa_demo)
- 选中为用户提供访问AWS管理控制台的权限复选框,以允许用户登录到AWS管理控制台。
- 选择我想创建IAM用户以创建新的IAM用户。
- 选择自动生成的密码以使AWS为用户生成强密码。
配置完成后,单击“下一步”继续。

4. 现在,选择附加策略目录选项,在列表中选择AdministratorAccess策略,并单击下一步以授予用户对AWS资源的完全访问权限。

5. 查看用户详细信息,然后单击创建用户以完成创建IAM用户。

6. 最后,打开一个新的浏览器标签,导航到控制台登录网址,并使用显示的 IAM 用户凭据登录。
出于安全考虑,在设置 AWS MFA 时,强烈建议通过私密浏览器(例如谷歌 Chrome 的隐身模式)登录您的 AWS IAM 账户。

设置 AWS MFA 以保护 AWS 资源
创建了专用 IAM 用户后,您就可以开始设置 AWS MFA 了。但首先,您必须在您的移动设备上安装一个生成唯一六位代码的身份验证应用。除了密码外,登录 AWS 时还需要输入这个六位代码来完成 MFA 过程。
AWS 支持许多身份验证应用,但本教程选择的是谷歌 Authenticator,它是免费的,并与 Android 和 iOS 设备兼容。
要开始设置 AWS MFA 以保护您的资源:
1. 在您的 Android 设备上打开 Google Play 商店,搜索并安装谷歌 Authenticator,如下所示。

也许您的使用频率很高,想要使用多个设备(智能手机、平板电脑或台式电脑)来访问已启用MFA的AWS帐户。如果是这样,您可以使用Authy来对您任何设备上的登录尝试进行身份验证。
2. 安装完成后,请返回到您以IAM用户身份登录的浏览器选项卡,在IAM控制台中导航到并选择新创建的用户(aws_mfa_demo)。
3. 在安全建议下,单击添加MFA旁边的为自己添加MFA选项,以开始分配MFA。

4. 现在,单击分配MFA以继续。

5. 在下一页上,按以下设置配置设置:
- 设备名称 – 为您的设备提供一个描述性名称,以帮助您区分与您的AWS帐户关联的不同MFA设备。
- 选择MFA设备 – 根据您的特定需求和偏好,从可用选项中选择一个MFA设备。
本教程选择了身份验证器应用程序。基于软件的身份验证器通常是由于其易用性和在移动设备上的可用性而成为最受欢迎的选择。但是,在需要额外物理安全措施的高安全性环境中,可能更喜欢硬件为基础的选项。
MFA Device | Details |
---|---|
Authenticator app | Involves a software-based authenticator app, such as Google Authenticator or Authy, to generate the MFA codes. |
Security Key | Involves a hardware-based security key, such as a YubiKey or a Nitrokey, to generate the MFA codes. With this option, you must purchase the hardware Security Key from a third-party website or vendor — more expensive than a software-based authenticator app. |
Hardware TOTP token | Involves a hardware token (an RSA SecurID or a Gemalto token) to generate the MFA codes. These tokens are specifically intended for users with AWS GovCloud (US) accounts accessing IAM. |
配置完成后,请单击下一步以开始注册您的MFA设备。

AWS允许您向根用户和IAM用户注册最多八个MFA设备(可以是任何受支持的MFA类型的组合)。此功能使您能够灵活管理MFA设备。同时,您可以根据用户的特定需求和要求为每个用户选择最合适的MFA设备类型。
您的浏览器将重定向到一个类似下面的页面,您可以在其中看到显示的QR码。

6. 接下来,在您的移动设备上打开Google身份验证器应用,并点击扫描QR码以打开设备摄像头进行QR码扫描。

7. 将您设备的摄像头对准浏览器上显示的QR码,确保QR码在屏幕上处于焦点并完全可见。
Google身份验证器应用会自动检测到QR码,并为您的AWS IAM用户添加一个新条目,以及一个六位数的身份验证代码。请注意,六位数代码会定期更改。
8. 现在,在设置设备页面的两个空框中填入Google身份验证器应用中两个连续的身份验证代码,然后点击添加MFA。这样就完成了对IAM用户的MFA设备的身份验证和注册。
请注意,每个六位数代码仅在有限的时间内有效,通常为30秒,并会过期。MFA代码的这种时间限制特性通过减少攻击者拦截代码以未经授权访问AWS资源的窗口时间来增加安全性。
MFA 系统通过要求用户提供两个连续的代码来验证用户设备实时生成的代码。 这种行为比从先前会话中重播或窃取代码更安全。

仅为 IAM 用户启用 MFA 认证仅影响该特定用户的凭据。 同一 AWS 帐户中的其他 IAM 用户具有不同的凭据标识,每个标识都有自己的 MFA 配置。
9. 最后,返回 IAM 控制台页面,您将看到已成功为您的 IAM 用户添加了 MFA 设备,如下所示。

验证 MFA 设置
在为您的 AWS 帐户设置 MFA 后,您仍然需要验证您的 MFA 设置是否正确运行,然后再依赖它进行身份验证。
要验证您的 MFA 设置是否有效:
1. 注销 IAM 控制台,然后使用您的 IAM 用户凭据登录。 这次,您将被要求从您设备上的 Google Authenticator 应用程序输入六位数的 MFA 认证代码。
2. 输入代码,然后单击提交以完成身份验证过程。

3. 最后,尝试访问您的 AWS 资源,看看是否一切正常。
如果您无法使用您的 MFA 设备访问 AWS 资源,请单击 IAM 控制台上的重新同步按钮以重新同步您的 MFA 设备。

结论
安全性在涉及到云计算时始终是首要关注的问题。借助多因素身份验证,您可以增强AWS账户的安全性。在本教程中,您已经学会了如何为IAM用户设置AWS MFA,以保护您的资源免受未经授权的访问。
通过完全功能的MFA,您可以确信您的AWS账户和资源受到了恶意活动的保护。
通过AWS管理控制台保护您的账户效果非常好,这是肯定的。但如果您更喜欢在命令行环境下工作,为什么不选择使用AWS CLI进行AWS MFA呢?