【问题标题】:Controlling Access To Amazon S3 buckets控制对 Amazon S3 存储桶的访问
【发布时间】:2014-08-05 03:52:24
【问题描述】:

我有一个要求,用户是组的一部分..user1 是 group1 的一部分,user2 是 group2 的一部分,user3 是 group1 和 group2 的一部分..等等..

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

我的问题是:

我如何控制对用户的访问?

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

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

我想这是一个典型的场景,但到目前为止,我的 google-fu 并没有产生任何富有成效的结果。

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

谢谢

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 这看起来不像是要在 Web 应用程序中扩展。如果不是 1000 个用户和组,我的应用程序可能有 100 个。
    • 你没有提到这是一个应用程序。在我的回答中添加了对安全令牌服务的引用。
    • 是的,它是一个网络应用程序。 'GetFederationToken' 符合我的想法。 docs.aws.amazon.com/STS/latest/UsingSTS/CreatingFedTokens.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多