AWS身份和访问管理(IAM)指的是提供用户和访问管理以及AWS云计算安全防护的服务。多因子身份验证(MFA)作为IAM的一部分,能使用户访问更加安全。

多因子身份验证为用户使用密码登陆时提供了额外一层的保护。如今有多重途径导致密码泄露,所以MFA具有重要的安全意义。AWS安全最佳实践明确指出,强烈建议为根账户和高权限IAM用户提供多因子身份验证,从而阻止对您的AWS云计算环境的未授权访问。可以想象的是,如果一名黑客控制了您的根用户,那么他就可以删除您所有的资源、备份等内容。

多因子身份验证有两种——硬件MFA设备,这与用于银行和网上支付的USB或者安全令牌设备相似。另一种是以智能手机应用的形式呈现的虚拟MFA,通常采用的是谷歌身份验证器(Google Authenticator)。注意,谷歌身份验证器并不需要注册谷歌账户或者任何互联网连接;它就是一个简单的移动端应用,存储着密钥并通过算法生成一次性动态密码。

AWS云计算可以在多个方面用到MFA。首先,它可以用于AWS控制台登陆。一旦激活MFA,当您尝试登录到AWS控制台来管理您的AWS环境时,您需要(在输入你的密码之后)输入一个MFA密码。

它也可以用来保护API访问——这被称为“MFA保护的API访问”。我们正处于自动化和DevOps运维开发的时代,所以API访问广泛用于大型业务,但如果我们对于重要的操作(例如终止实例、改变关键配置、或读取敏感数据)不够慎重的话,它也可能对运营环境造成危害。对某些API调用启用MFA可以避免那些不必要的麻烦。

此外,MFA可以用于S3的版本控制和删除操作。您可以选择对特定的S3存储桶启用MFA,MFA保证在任何尝试改变S3存储桶版本状态或者永久删除某些内容时需要您进行额外的授权。这一点可以用于针对误删或者由黑客删除备份或者PCI-SOX审计日志等操作。

MFA功能非常强大,但是如果你丢失设备(或者更换电话)时恢复MFA的过程会非常麻烦,尤其对于根账户来说,因为其他IAM管理用户不能管理IAM的根账户——您需要联系AWS云计算支持团队并在确认信息后方可禁用根账户的MFA。其他IAM用户的MFA设备受管理用户管理,并可以通过控制台重置。请始终保有备用的管理用户。

一个常见的问题是,如何使两个人(或者两部手机)使用同一账户以及MFA。这个在AWS文档中并未很好地提及,但你可以在配置两个手机时就通过扫描同一二维码来实现这一操作。这就让你有了一个共享同一账号及其MFA的备份用户。这谈不上最佳实践,但这却可能很有用,尤其对于根账户来说。

注意,不幸的是,AWS中国区还不支持MFA(中国区现在也没有根账户)。

总的来说,MFA是AWS IAM的一个强大的安全特征。请阅读更多相关细节,尽可能地启用MFA,并使其融入到您的工作之中。永远追求更高的安全性!