【问题标题】:Protect s3 Object from Public保护 s3 对象不被公开
【发布时间】:2021-01-18 10:32:35
【问题描述】:

我想保护我的 s3 对象免受公共访问,并且该对象只能从我的来源访问。我怎样才能做到这一点?我尝试将 Objects Access control 设置为 Private,然后在存储桶 CORS 设置中设置,使用 GET 方法允许来源到我的来源,但访问对象时出现错误。

如何将存储桶设置为仅从我的源访问存储桶对象?

【问题讨论】:

  • 您遇到了什么错误?您如何尝试访问这些对象?你的 CORS 设置具体是什么?
  • “对象只能从我的来源访问”是什么意思?您指的是 Amazon CloudFront 吗?请编辑您的问题以包含您的配置的完整详细信息以及您想要实现的目标。
  • @JDD 错误是访问被拒绝。
  • @JohnRotenstein 我一直在寻找一些方法来保护 s3。就像我有一个域说 example.com 和一个只能从 example.com 访问的对象。我想云端 OAI 就是我想要的。
  • 如果您的愿望是“只有在有人使用我的网站时才能访问此对象”听起来像使用 referer,但很容易绕过。如果您的目标是仅向经过身份验证的用户提供内容,请查看使用 Amazon S3 pre-signed URLs。如果您需要任何进一步的建议,请编辑您的问题以提供完整的详细信息。

标签: amazon-web-services amazon-s3


【解决方案1】:

听起来您可能在询问如何使特定 Amazon CloudFront 分配可以访问 Amazon S3 存储桶。

来自Restricting Access to Amazon S3 Content by Using an Origin Access Identity - Amazon CloudFront

要限制对您从 Amazon S3 存储桶提供的内容的访问,请执行以下步骤:

  1. 创建一个称为源访问身份 (OAI) 的特殊 CloudFront 用户并将其与您的分配相关联。
  2. 配置您的 S3 存储桶权限,以便 CloudFront 可以使用 OAI 访问您的存储桶中的文件并将它们提供给您的用户。确保用户不能使用指向 S3 存储桶的直接 URL 来访问那里的文件。

在您采取这些步骤后,用户只能通过 CloudFront 访问您的文件,而不能直接从 S3 存储桶访问。

【讨论】:

    猜你喜欢
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 2013-04-09
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    相关资源
    最近更新 更多