控制对Amazon S3存储桶的访问

时间:2014-08-04 14:39:36

标签: node.js amazon-web-services amazon-s3 permissions

我要求用户是groups的一部分.user1是group1的一部分,user2是group2的一部分,user3是group1和group2..etc的一部分..

每个组都有静态内容,我想在Amazon S3中托管。到目前为止,在我的研究中,我得出结论,我需要为每个小组创建一个桶。

我的问题是:

如何控制对用户的访问?

user1应该只能访问属于group1的存储桶资源。(上传,下载等)

用户不应该能够访问他们不属于的组的资源。

我想这是一个典型的场景,但到目前为止,我的谷歌并没有取得任何丰硕成果。

我有一个NodeJS / Express REST API作为我的中间层。请告诉我如何设计这个要求。

由于

1 个答案:

答案 0 :(得分:1)

每组不需要一个存储桶。您可以创建一个存储桶,然后在每个存储桶中为每个组创建一个目录,并仅授予对应组的访问权限。您可以使用IAM创建组和用户。有关此方案的演练,请参阅this AWS doc

如果您需要扩展到许多用户和组,您应该查看AWS Security Token Service,它可以扩展到数百万用户,并且根本不需要IAM凭据。您的应用程序负责对用户进行身份验证并管理其帐户和组成员身份,但令牌服务可以允许访问包括S3在内的AWS资源。