【发布时间】:2016-04-10 03:03:16
【问题描述】:
给定一个 S3 对象,我如何知道使用哪个 STS 密钥上传它?
解释我的用例场景(仅供参考):
在我的应用程序中,我允许我的用户使用 Javascript SDK 将数据上传到 s3。为了启动 SDK,我向我的用户提供了一个 STS token,有效期为 15 分钟。
用户应该使用该密钥一次上传恰好 1 个数据,我的应用程序稍后会处理这些数据。
问题是一旦我发出这个令牌并把它交给用户,一些恶意用户可能会尝试向我的存储桶上传许多随机的大数据。
由于只是看到一个对象,我无法将该数据与用户相关联,我不知道谁是罪魁祸首。如果通过某种 magic 方法我可以要求 aws 给我用于上传此数据的密钥,那么我可以交叉匹配我已将其发给的用户的密钥,从而找到我的罪魁祸首。
- 我不能使用
metadata,因为恶意用户不会提供它。
【问题讨论】: