2017-10-21 243 views
0

我有一个使用JS SDK for S3的React-Native应用程序,并且我有一个IAM策略,允许用户在特定文件上执行PutObject,其名称与Cognito ID相关的登录用户。这允许用户在不需要运行任何服务器代码的情况下更改他/她的个人资料图片,并且我不得不在AWS内部进行不必要的数据传输。S3 SDK PutObject访问限制文件大小

这对于一个胭脂/修改客户端可以上传大量文件并为我产生成本的事实很好。

我想知道是否有一种方法来限制PutObject访问只允许一定大小的文件?

+0

我几乎肯定没有s3 sdk的一部分,它允许您限制通过putObject上传的内容的大小。也许你可以在执行上传操作之前考虑利用其他一些检查 – Maxwelll

+0

@Maxwelll从技术上讲,我不想使用SDK来执行此操作,我想使用IAM策略。我只是提到我对S3的访问是通过SDK而不是别的。 – Gerharddc

+1

超级黑客,S3对象创建的事件触发Lambda函数。在事件数据中,Records [0] .s3.object.size自动包含上传对象的大小。如果过度...删除它。或者尝试调整它的大小。或者把它换成脾气暴躁的猫。总之,您可能需要考虑某种类型的后期处理Lambda触发器,无论如何...毕竟,您不希望在其个人资料照片的EXIF元数据中公开用户的家庭或工作位置。 .. –

回答

0

使用IAM或S3策略限制S3上传的大小是不可能的。

您需要在您的网站(或类似的服务)上编写代码来管理上传和授权过程。