【问题标题】:Mission: File security with AWS [closed]使命:使用 AWS 确保文件安全 [关闭]
【发布时间】:2021-11-03 06:59:50
【问题描述】:

如何使用 AWS S3 完成这项任务?当用户通过单击文件的超链接(指向我们的 s3 存储桶中的对象的链接)访问文件时,如果他们尚未登录,我们的系统应该要求他们登录。系统将有一个用户列表来自我们有权查看该 URL 上的文件的人。对于客户上传的文件,授权用户将是:

  • 客户
  • 我们所有与该客户有约会的销售人员
  • 我们的管理面板用户

如果有人访问该 URL,但他们不是我们系统授权查看该 URL 文件的少数人之一,AWS 不应提供该文件。

注意:我们的系统在此上下文中是指我们公司的网站。

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-ec2 aws-lambda


    【解决方案1】:

    如果有人访问该 URL,但他们不是我们系统授权查看该 URL 文件的少数人之一,AWS 不应提供该文件。

    确实有几种方法可以实现此功能。第一步是防止对存储桶的公开访问(所有请求都需要经过身份验证)。

    最简单的选择是使用presigned url。应用程序将为 S3 对象的经过身份验证的用户生成一个预签名的 url,使用户可以临时访问 S3 对象。

    另一种选择是使用 CDN (CloudFront) 和 signed access cookie(如上一个答案)

    【讨论】:

      【解决方案2】:

      有多种方法可以归档您的需求。 但是你的情况,不能单独用S3存档,还是需要Cloudfront来做(请查看Using a Signed URL to Serve Private Content。)

      当用户登录时,您可以查看用户的订阅,为他们提供一个 cookie,该 cookie 将自动添加到 Cloudfront 的请求中(代表您的 S3)。请注意,您需要检查如何创建 Cookie 以在您的网站和 CDN(云端)之间共享。

      【讨论】:

      • 您不需要云端。云端可以,但不是必须的。
      猜你喜欢
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 1970-01-01
      • 2010-09-07
      • 2011-02-05
      • 2015-05-11
      相关资源
      最近更新 更多