获取匿名上传到 S3 的对象的用户代理和 IP 地址?

Get User-Agent and IP Address of object anonymously uploaded to S3?

有没有办法检索将对象匿名上传到 S3 存储桶的客户端的用户代理 and/or IP 地址?

我正在使用类似于此的匿名上传方法:https://gist.github.com/jareware/d7a817a08e9eae51a7ea

显示了针对客户端的 User-Agent 进行 测试 的方法(通过 StringNotEquals 块中的 aws:UserAgent Condition 块),并且有 documentation that shows that aws:SourceIp exists as well,但在文件上传后我看不到任何抓取方式。

我是不是漏掉了什么?

如果您在存储桶上启用了日志记录,这是可能的...

http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html

...或捕获有关上传的存储桶通知事件...

http://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html

否则,没有。

匿名上传是一个非常非常糟糕的主意。您最终可能会得到对象,您唯一可用的操作就是删除它们。存储桶所有权!= 对象所有权。对请求进行身份验证并没有那么困难,所以我鼓励您慢慢远离匿名 S3 写入。