我知道可以通过在
密码上放置另一层(虚拟/硬件)MFA来增强安全性。我可以通过 MFA 保护访问密钥吗?
我试图解决的问题是,我有时会意外地将我的访问密钥提交到 github 中。 所以我需要一个MFA的东西,
是的,您可以通过向 IAM 策略添加需要最新 MFA 身份验证的条件来执行此操作。例如
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["ec2:*"],
"Resource": ["*"],
"Condition": {"NumericLessThan": {"aws:MultiFactorAuthAge": "3600"}}
}]
}
如果您在过去一小时内已使用 MFA 进行身份验证,则允许访问 ec2 API。文档中有更多示例。
这要求您使用凭证和 MFA 代码调用 GetSessionToken api,然后将返回的临时凭证用于实际的 api 调用。
如果您的代码在 EC2 上运行,则应改用 IAM 角色 - 这会设置实例上可用的凭证,这些凭证每隔几个小时轮换一次。