我喜欢与会员分享我的Amazon S3私有内容。最初,我通过创建一个AWS身份和访问管理(IAM)用户帐户来做到这一点,但人们开始传递这些凭据。
所以我发现我可以向通过IAM创建的每个用户帐户分发AWS多因素身份验证(MFA)令牌/fob。但是,测试表明我仍然可以下载文件,S3不会要求令牌/fob生成的6位数字。
我在这里错过了什么?或者如果我走错了路,请建议一种方法来检测/防止成员共享这些凭据。由于
您需要为您试图保护的资源(即您的S3内容)专门配置mfa保护的API访问,请参阅关于mfa保护的API访问的介绍性博客文章,了解该功能的工作原理。
幸运的是,有一些关于添加桶策略以要求MFA身份验证可用的示例-请阅读该部分以了解详细信息,但是第一个示例已经解决了您的用例(第三个示例通过添加条件来限制aws:MultiFactorAuthAge密钥有效的持续时间来扩展它):
{
"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 }}
}
]
}