您可以为AWS IAM帐户要求MFA吗?


Answers:


13

答案是肯定的。通过使用条件。例如,对于管理员帐户:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*", 
      "Condition":
      {
          "Null":{"aws:MultiFactorAuthAge":"false"}
      }
    }
  ]
}

它将使用API​​对密码身份验证和基于令牌的身份验证强制实施MFA。


6
以这种方式进行操作将需要同时访问控制台和API。是否可能要求控制台访问需要?
jeffbyrnes 2014年

不知道。我知道对于API(CLI)来说很烦人,因为MFA没有得到很好的支持。顺便说一句,如果这是通过使用另一种访问方法来绕过安全性的一种方法,那么我真的看不出设置更强的安全性的意义。
smad 2014年

3
@smad我认为重点是令牌凭证将自动生成并存储在用户的硬盘驱动器上,因此唯一的攻击手段是通过恶意软件,窃取计算机等从用户计算机上获取令牌凭据。另一方面可能是弱者或在其他站点上被重复使用,因此存在另外的攻击媒介,即强行实施攻击或从被黑客入侵的站点的密码转储中获取攻击。密码策略可以提供帮助,但是很难防止ppl,例如,使用仅将i替换为1或!的字典单词。
丹尼2015年

@jeffbyrnes在为用户启用MFA时,默认情况下仅对控制台访问启用。然后,您必须使用此类IAM策略来定义需要MFA的API / CLI操作(如果有)。
SeanFromIT

1
我不确定这是否能正常工作-至少,除非我没有正确应用它!(作为分配给管理员组的新策略)。我的帐户中的新管理员和现有管理员都可以登录而无需设置MFA。
Tim Malone

8

环顾四周后,答案似乎是“有点”。在IAM中,管理员可以为另一个IAM用户配置MFA。尽管如果您要设置虚拟MFA,这可能会有些棘手,但有可能。然后,如果未授予用户更新/删除其MFA的权限,则实际上是必需的。

虽然我尚未确定应拒绝(或根本不批准)的动作的完整列表,但此帖子似乎已经包含了信息,并且我将在测试后更新此答案。

[更新]

我能够将用户设置为超级用户(因此,尽管我确信您可以更详细地了解它们,但不授予他们访问IAM功能的权限),并与他们一起实现MFA。使用这种方法,他们将无法禁用它。


1
您知道是否可以让IAM用户自己设置MFA吗?
cavalcade

如果是这样,我还没有找到方法。
2014年


1

是的,您可以同时为Web控制台和awscli命令行要求IAM帐户的MFA 。实际上,不可能可靠地为Web控制台要求MFA,而对于awscli命令行则不需要,因为两者都使用相同的API。我之所以说“可靠”是因为,通过复杂的IAM策略,可以在awscli不使用MFA的情况下允许某些操作,同时为Web控制台实施MFA。但是,结果有些不可预测,此外,IAM密钥即使不是更危险的未受保护,也具有同样的作用。我的建议是同时要求两者,然后在绝对禁止MFA的特殊用途中创建不受保护的密钥。对于自动化流程,角色通常是一个更好的选择。

为了使命令行上的MFA操作更容易,我创建了一组bash脚本和精心设计的MFA实施策略示例,可轻松附加/分离vMFAd以及启动和管理MFA会话。它们适用于macOS和Linux变体,但可能不适用于Windows(未经测试)。


0

显然不是。 IAM帐户的MFA似乎是可选的,尽管您最好将其发布到AWS支持论坛以获取权威性答案。


感谢您提供的链接,但它回答了有关启用MFA时何时需要MFA的不同问题。这个问题是关于是否可以强制启用。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.