如何使用MFA保护IAM访问密钥?

时间:2016-01-14 12:51:31

标签: amazon-web-services amazon-iam

我知道可以通过将另一层(虚拟/硬件)MFA放在密码上来增强安全性。我可以通过MFA保护访问密钥吗?

我想解决的问题是我有时会意外地将访问密钥提交到github。所以我需要一个MFA的东西,

1 个答案:

答案 0 :(得分:4)

是的,您可以通过向需要最近MFA身份验证的IAM策略添加条件来执行此操作。例如,

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

如果您在过去一小时内通过MFA身份验证,则可以访问ec2 Apis。文档中有more examples

这要求您使用凭据和MFA代码调用GetSessionToken api,然后使用返回的临时凭证进行实际的api调用。

如果您的代码在EC2上运行,那么您应该使用IAM角色 - 这将设置每隔几个小时轮换一次的实例上可用的凭据。