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

Joe*_*Joe 27 amazon-web-services amazon-iam

是否可以要求为 Amazon Web Services 中的特定/所有 IAM 账户启用多重身份验证 (MFA)?

有密码要求的选项,很清楚如何选择将其添加到自己的帐户,但不清楚是否有选项可以强制用户拥有 MFA。

小智 13

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

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*", 
      "Condition":
      {
          "Null":{"aws:MultiFactorAuthAge":"false"}
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

它将使用 API 为密码身份验证和基于令牌的身份验证强制执行 MFA。

  • 这样做将需要它用于控制台和 API 访问;_only_ 控制台访问是否可以要求它? (6认同)
  • @smad 我认为重点是令牌凭据将自动生成并存储在用户的硬盘驱动器上,因此唯一的攻击媒介是通过恶意软件、窃取计算机等从用户的计算机获取它。另一方面,它可能较弱或在其他站点上重复使用,因此还有一个额外的攻击向量,即强制执行它或从被黑站点的密码转储中获取它。密码策略可以提供帮助,但很难阻止 ppl 例如使用字典中的单词,其中只有 i 替换为 1 或 ! (4认同)

Joe*_*Joe 12

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

虽然我还没有确定应该拒绝(或根本不允许)的完整操作列表,但这篇文章似乎有信息,我会在测试后更新这个答案。

[更新]

我能够将用户设置为高级用户(因此不会授予他们对 IAM 功能的访问权限,尽管我相信您可以获得更详细的信息),并与他们一起实施他们的 MFA。使用这种方法,他们将无法禁用它。

  • @MattTagg 是的,有可能,请参阅 http://docs.aws.amazon.com/IAM/latest/UserGuide/Credentials-Permissions-examples.html#creds-policies-mfa-console (3认同)

小智 7

接受的答案不再有效 AFAICT。AWS 在此处通过他们的教程文章记录了您如何做到这一点:

https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html

我在我的新 AWS 账户和团队中遵循了这一点,并且效果很好。