如何强制IAM用户使用多因素身份验证来使用控制台?

And*_*res 5 amazon-web-services amazon-iam

我想要在登录AWS控制台时要求IAM用户使用MFA.我知道可以为API访问做到这一点,但不确定在登录控制台时是否可以实现相同目的.

Ste*_*pel 5

更新

您可以强制与您的要求IAM策略基础上的IAM条件指定AWS:MultiFactorAuthAge关键在部分概述与MFA条件IAM策略配置MFA保护的API访问 -你可以在两个层次上执行此:

  • 存在 - 要简单验证用户是否已使用MFA进行身份验证,请检查aws:MultiFactorAuthAge键是否为空.(如果用户未使用MFA进行身份验证,则此密钥不存在,因此为空.)
  • 持续时间 - 如果要仅在MFA身份验证后的指定时间内授予访问权限,请使用数字条件类型将密钥的年龄与值(例如3600秒)进行比较.

因此,仅测试MFA身份验证存在的所有AWS操作的通用IAM策略可能如下所示:

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

初步答复

这是'它只是工作'的情况,即,对于AWS管理控制台的 MFA保护访问没有任何事情可做,具体而言,控制台依次使用API​​并相应地调用每个API操作与登录用户的IAM凭据(一旦用户已经配置并启用了MFA设备,登录页面将需要令牌自动进入MFA) -也见使用MFA保护的API的通过Console配置MFA保护的API访问:

AWS为控制台中的操作评估受MFA保护的API策略,例如终止Amazon EC2实例.使用MFA设备设置IAM用户并启用受MFA保护的API策略.然后,用户可以使用MFA身份验证登录控制台,并遵守受MFA保护的API的策略.对于已经分配了MFA设备的用户,控制台体验不会发生变化(某些受MFA保护的API的可选时间限制除外,这些API需要更频繁的重新验证).有关使用MFA设备设置 IAM用户的详细信息,请参阅设置MFA设备.