我要求用户是groups的一部分.user1是group1的一部分,user2是group2的一部分,user3是group1和group2..etc的一部分..
每个组都有静态内容,我想在Amazon S3中托管。到目前为止,在我的研究中,我得出结论,我需要为每个小组创建一个桶。
我的问题是:
如何控制对用户的访问?
user1应该只能访问属于group1的存储桶资源。(上传,下载等)
用户不应该能够访问他们不属于的组的资源。
我想这是一个典型的场景,但到目前为止,我的谷歌并没有取得任何丰硕成果。
我有一个NodeJS / Express REST API作为我的中间层。请告诉我如何设计这个要求。
由于
答案 0 :(得分:1)
每组不需要一个存储桶。您可以创建一个存储桶,然后在每个存储桶中为每个组创建一个目录,并仅授予对应组的访问权限。您可以使用IAM创建组和用户。有关此方案的演练,请参阅this AWS doc。
如果您需要扩展到许多用户和组,您应该查看AWS Security Token Service,它可以扩展到数百万用户,并且根本不需要IAM凭据。您的应用程序负责对用户进行身份验证并管理其帐户和组成员身份,但令牌服务可以允许访问包括S3在内的AWS资源。