代码之家  ›  专栏  ›  技术社区  ›  Harish Shetty

Amazon S3实施访问控制

  •  2
  • Harish Shetty  · 技术社区  · 14 年前

    我在AmazonS3中存储了几个PDF文件。每个文件都与一个用户关联,只有文件所有者才能访问该文件。我已经在我的下载页面中强制执行了这个操作。但实际的pdf链接指向了任何人都可以访问的AmazonS3URL。

    如何强制此URL的访问控制规则?(不让我的服务器成为所有PDF下载链接的代理)

    2 回复  |  直到 14 年前
        1
  •  8
  •   ceejayoz    14 年前

    我建议使用亚马逊S3 authenticated REST URLs 有有效期。它们允许对非公共S3对象的临时、过期访问。

    也就是说,如果他们要共享URL,是什么阻止了他们共享文件本身?

        2
  •  6
  •   Marcel Jackwerth    14 年前

    S3帐户上的每个文件都可以具有特殊访问权限(ACL)。您应该将所有pdfs acl设置为 private . 这样就没有人能接触到它们了。

    S3有一个API,允许您“临时”授予读取访问权。例如 Amazon's S3 PHP Library 有一个 getAuthenticatedURL (string $bucket, string $uri, integer $lifetime, [boolean $hostBucket = false], [boolean $https = false]) 功能。

    这将使您能够在定义的时间内(如5分钟)访问PDF,如果您立即将用户重定向到S3,这就足够了。