我知道可以通过将另一层(虚拟/硬件)MFA放在密码上来增强安全性。我可以通过MFA保护访问密钥吗?
我想解决的问题是我有时会意外地将访问密钥提交到github。所以我需要一个MFA的东西,
答案 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角色 - 这将设置每隔几个小时轮换一次的实例上可用的凭据。