【问题标题】:Amazon S3 permissions亚马逊 S3 权限
【发布时间】:2010-10-20 10:33:44
【问题描述】:

试图了解 S3...如何限制对上传到 S3 的文件的访问?例如,在 Web 应用程序中,每个用户都有可以上传的文件,但是如何限制访问权限,以便只有该用户可以访问该文件?查询字符串身份验证似乎需要一个到期日期,这对我不起作用,还有其他方法吗?

【问题讨论】:

    标签: python django amazon-web-services amazon-s3


    【解决方案1】:

    有多种方法可以控制对 S3 对象的访问:

    1. 使用查询字符串 auth - 但正如您所指出的,这确实需要一个到期日期。你可以在未来走得更远,这对于我所做的大多数事情来说已经足够了。

    2. 使用 S3 ACLS - 但这需要用户拥有 AWS 账户并通过 AWS 进行身份验证才能访问 S3 对象。这可能不是您想要的。

    3. 您通过应用程序代理对 S3 对象的访问,该应用程序实现您的访问控制逻辑。这将通过您的盒子带来所有带宽。

    4. 您可以使用代理逻辑设置 EC2 实例 - 这可以使带宽更接近 S3,并且可以减少某些情况下的延迟。这与 #3 之间的差异可能很小,但取决于您的具体情况。

    【讨论】:

      【解决方案2】:
      1. 让用户访问您的服务器
      2. 服务器是否设置了一个具有较短过期时间(分钟、小时?)的查询字符串身份验证
      3. 让您的服务器重定向到 #2

      【讨论】:

        【解决方案3】:

        您必须在应用程序中构建对 S3 的整个访问逻辑

        【讨论】:

          【解决方案4】:

          我也一直在处理这个问题。 Don 编写了我正在使用的 S3 PHP 类,他指出您可以在存储桶中使用 dirs。因此,您可以将文件放在带有随机字符串的目录中,然后重定向到该目录。 mybucket.amazon.net/wef49kfe4j409jf4f4f9jdfd/myfile.zip 虽然根本不安全,但您可以根据需要通过更改权限或创建和删除它(将原始文件安全地保存在不同的存储桶中)来控制对它的访问。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-06-04
            • 1970-01-01
            • 2015-03-22
            • 1970-01-01
            • 2012-05-01
            • 2018-02-10
            • 2013-05-12
            相关资源
            最近更新 更多