我喜欢分享我的Amazon S3与成员(member)的私有(private)内容。最初,我通过创建一个 AWS Identity and Access Management (IAM) 来做到这一点。用户帐户,但人们开始传递这些凭据。
所以我发现我可以分发AWS Multi-Factor Authentication (MFA) token /fob 到通过 IAM 创建的每个用户帐户。但是,测试表明我仍然可以下载文件,S3 不会要求 token /fob 生成的 6 位数字。
我在这里缺少什么?或者,如果我走错了路,请建议一种方法来检测/防止成员共享这些凭据。谢谢
最佳答案
您需要特别Configure MFA-Protected API Access对于您要保护的资源(即您案例中的 S3 内容),请参阅有关 MFA-Protected API Access 的介绍性博客文章了解此功能的工作原理。
幸运的是,有一些 Adding a Bucket Policy to Require MFA Authentication 的示例可用 - 请阅读该部分了解详细信息,但第一个示例已经解决了您的用例(第三个示例通过添加一个条件来扩展它,限制 aws:MultiFactorAuthAge key 的有效持续时间):
{
"Version": "2008-10-17",
"Id": "123",
"Statement": [
{
"Sid": "",
"Effect": "Deny",
"Principal": { "AWS": "*" },
"Action": "s3:**",
"Resource": "arn:aws:s3:::examplebucket/taxdocuments/*",
"Condition": { "Null": { "aws:MultiFactorAuthAge": true }}
}
]
}
关于amazon-web-services - 如何通过 IAM 共享具有 MFA 保护的 Amazon S3 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15822177/