我在一个SaaS应用程序上工作,Creators
可以创建Groups
并邀请其他人加入Group
共享文件,聊天等。只有特定组中的人员才能访问该组的文件。
来自其他组的人员不得访问其组的文件。
当然,所有文件权限都应设置为“私有”,即Internet上的匿名用户不应搜索/可见/可访问这些文件,因为这些文件中的信息仅供个人使用。
我是Amazon S3的新手,不知道如何实现它......我应该只创建一个主存储桶吗?或者为每个组创建一个新的Amazon Bucket?
答案 0 :(得分:2)
建议不要使用AWS 身份和访问管理(IAM)来存储应用程序用户。应将应用程序用户维护在单独的数据库(或LDAP,Active目录等)中。
因此,每组创建一个桶#34;这是不可行的,因为无法将您的应用程序用户分配给Amazon S3中的权限。
更好的方法是管理应用程序中的权限。当用户请求访问文件时,应用程序可以确定是否应允许他们访问。如果允许,则应用程序可以生成预签名网址。
预签名网址允许访问存储在Amazon S3上的私有对象。它是一种保持对象安全的方法,同时允许临时访问特定对象。
列出可用文件时,您的应用程序将生成包含预签名URL的链接。然后,当用户单击该链接时,他们可以访问该文件。然后,在一段时间过期后(例如10分钟),链接将不再起作用。因此,如果用户与其他人共享链接,则可能会超时。