我已经在我的iPhone上安装了Google Authenticator,并使用它登录到我的AWS根帐户。我想添加使用对应的令牌生成器Android应用程序,使用我的Android手机进行MFA登录的功能。
是否可以添加第二个设备,以及如何添加?或者AWS根帐户MFA绑定到一个(虚拟)设备吗?
我已经在我的iPhone上安装了Google Authenticator,并使用它登录到我的AWS根帐户。我想添加使用对应的令牌生成器Android应用程序,使用我的Android手机进行MFA登录的功能。
是否可以添加第二个设备,以及如何添加?或者AWS根帐户MFA绑定到一个(虚拟)设备吗?
截至2022年11月16日:
https://aws.amazon.com/blogs/security/you-can-now-assign-multiple-mfa-devices-in-iam
我将旧答案保留以供参考,但现在已不再需要。
你只能将一个MFA设备绑定到你的根账户。你需要为你的其他设备设置单独的IAM用户账户。
从FAQ中得知:
问:我可以为我的AWS账户激活多个身份验证设备吗? 可以。每个IAM用户可以有自己的身份验证设备。但是,每个身份(IAM用户或根账户)只能关联一个身份验证设备。
更新:虽然它还没有官方支持,但有人声称他通过同时使用相同QR码在两个设备上完成了Google Authenticator的注册。尽管他没有在AWS上使用此方法,但这个方法值得一试。
https://www.quora.com/Can-Google-Authenticator-be-used-on-multiple-devices
更新2:我开始使用Authy代替Google Authenticator进行MFA。 Authy现在支持所有MFA令牌的多设备,这是一个很酷的功能。 我目前已经将我的手机和平板电脑设置为使用Authy多设备访问我的AWS账户。
以下是解决方案:
当 AWS MFA 页面显示条形码时,同时使用不同的设备(我尝试过 3 个设备)扫描条形码。它们会生成相同的代码,用相同的代码填写表单就可以了。
这并不是一个新的答案,但它试图澄清并更好地解释(或至少有所不同),为什么不同的虚拟设备可以被认为是一个虚拟设备
目前(2020年5月7日)您不能为同一用户使用两个不同的身份验证设备(如多个以下之一:U2F USB密钥/虚拟设备/硬件设备)。
但是,如果您使用相同的初始化代码(QR代码)在多个设备上初始化,则可以在多个设备(手机/平板电脑/个人电脑)上安装相同的虚拟设备应用程序。
虚拟MFA设备只是TOTP算法的实现(https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm)
每个TOTP应用程序都必须使用“秘密”代码(QR代码)进行初始化
因此,如果您在不同的TOTP应用程序中扫描相同的QR代码,则所有这些应用程序都可以进行身份验证(它们将表现相同)
在AWS上初始化时,您需要输入由您的TOTP应用程序生成的两个连续代码。 (只需从任何使用QR代码初始化的应用程序中输入它们。 或者如果您真的很疯狂。先使用一个应用程序创建一个代码,然后再使用另一个应用程序创建另一个代码。只需先输入生成的第一个代码即可)
之后,所有虚拟设备都将工作并且是完全可互换的。
您甚至可以在安全的地方“归档”QR码图像,并稍后添加其他虚拟设备(QR码仅包含初始化TOTP应用程序所需的秘密)。它不会过期。
来自AWS组织文档:
如果您选择使用虚拟MFA应用程序,则与我们对管理帐户根用户的建议不同,对于成员账户,您可以为多个成员账户重复使用单个MFA设备。您可以通过打印和安全存储用于配置虚拟MFA应用程序中帐户的QR代码来解决地理限制问题。记录QR代码的目的,并根据您的信息安全策略在横跨您操作的时区的可访问保险柜中密封和存储它。然后,当需要在不同的地理位置访问时,可以检索QR代码的本地副本并用于在新位置中配置虚拟MFA应用程序。
我实际上尝试使用AWS上的相同秘密配置密钥,在iPhone、iPad和Android上使用Google Authenticator,它们都可以正常工作。就像@Jaap所做的一样。
除了上述解决方案:
1)在将MFA设备附加到AWS账户后,您无法使QR码重新出现。因此,如果您需要添加另一个虚拟MFA设备,请删除现有设备,重新附加,截取QR码的屏幕截图(或保存Secret code),然后使用另一个设备扫描此QR码。
2)QR码不会过期。我可以在初始化后数周内使用我的代码。
您可以将Google Authenticator中的账户从当前设备导出到另一台设备,而不会失去在当前设备上的访问权限。
当我要升级我的手机并且发现新设备上的多因素认证代码与我的当前设备同时显示时,我才发现这一点。