我要执行以下操作:
例如,如果您有一个ID为1
的项目,则多个用户可以在其下创建对象:
user_1创建了
1/image_1.jpg
user_2读了
1/image_1.jpg
user_2创建了
1/image_2.jpg
但是,不属于“项目”的用户不能:
不允许 user_3读过
1/image_1.jpg
我发现,网上的所有信息都围绕着每个用户拥有自己的文件夹,方法是创建一个IAM角色,该角色仅允许访问以该用户ID为前缀的对象。这种方法会创建用户文件夹,我想要项目文件夹。
答案 0 :(得分:1)
典型的体系结构是:
用户可以使用链接查看/下载对象。例如,可以在<img>
标签中使用它来显示图片,或者在<a>
标签中使用它来提供链接。
当用户要上传对象时,可以Upload Objects Using Presigned URLs。这样可以控制对象的上传位置,文件类型,最大大小等。
通过这种方式,应用程序可以完全控制用户上传/下载哪些对象,与必须为用户,项目,文件夹,对象等。预签名的URL可用于直接访问S3,但仅用于执行应用程序授权的操作。