使用哪个 STS 密钥将数据上传到 s3?
Which STS key was used to upload data to s3?
我如何知道给定一个 S3 对象,使用哪个 STS 密钥上传它?
解释我的用例场景(仅供参考):
在我的应用程序中,我允许我的用户使用 Javascript SDK 将数据上传到 s3。为了启动 SDK,我为我的用户提供了一个 STS token
,有效期为 15 分钟。
用户应该使用该密钥一次来上传 正好 1 个数据,我的应用程序稍后会处理这些数据。
问题是一旦我发出这个令牌并将其提供给用户,一些恶意用户可能会尝试将许多随机大数据上传到我的存储桶。
由于只是看到一个对象,我无法将那个数据关联到一个用户,我不知道谁是罪魁祸首。如果通过某种 magic 方法我可以要求 aws 给我用于上传此数据的密钥,那么我可以将该密钥交叉匹配到我发布给它的用户,从而找到我的罪魁祸首。
- 我无法使用
metadata
,因为恶意用户不会提供。
启用 AWS CloudTrail and/or enabling S3 server logs 应该会为您提供适当的日志记录来跟踪此信息。
我如何知道给定一个 S3 对象,使用哪个 STS 密钥上传它?
解释我的用例场景(仅供参考):
在我的应用程序中,我允许我的用户使用 Javascript SDK 将数据上传到 s3。为了启动 SDK,我为我的用户提供了一个 STS token
,有效期为 15 分钟。
用户应该使用该密钥一次来上传 正好 1 个数据,我的应用程序稍后会处理这些数据。
问题是一旦我发出这个令牌并将其提供给用户,一些恶意用户可能会尝试将许多随机大数据上传到我的存储桶。
由于只是看到一个对象,我无法将那个数据关联到一个用户,我不知道谁是罪魁祸首。如果通过某种 magic 方法我可以要求 aws 给我用于上传此数据的密钥,那么我可以将该密钥交叉匹配到我发布给它的用户,从而找到我的罪魁祸首。
- 我无法使用
metadata
,因为恶意用户不会提供。
启用 AWS CloudTrail and/or enabling S3 server logs 应该会为您提供适当的日志记录来跟踪此信息。