我喜欢与成员分享我的Amazon S3私有内容。最初,我通过创建AWS Identity and Access Management (IAM)用户账户来做到这一点,但人们开始传递这些凭证。
所以我发现我可以向通过 IAM 创建的每个用户账户分发一个AWS 多重身份验证 (MFA)令牌/密钥卡。但是,测试显示我仍然可以下载文件,S3 不会询问令牌/离岸生成的 6 位数字。
我在这里想念什么?或者,如果我走错了路,请提出一种检测/防止成员共享这些凭据的方法。谢谢
我喜欢与成员分享我的Amazon S3私有内容。最初,我通过创建AWS Identity and Access Management (IAM)用户账户来做到这一点,但人们开始传递这些凭证。
所以我发现我可以向通过 IAM 创建的每个用户账户分发一个AWS 多重身份验证 (MFA)令牌/密钥卡。但是,测试显示我仍然可以下载文件,S3 不会询问令牌/离岸生成的 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 }}
}
]
}