CloudFront - 编辑源站 - 限制存储桶访问

3

我遇到了一个情况,但并不容易理解原因,也无法找到相关的文档。

我已经完成以下步骤:

  1. 创建了一个 S3 存储桶

  2. 给它授权公共访问

  3. 启用了静态网站托管功能

  4. 创建了 CloudFront 分发服务

  5. 在 CloudFront 启用 HTTPS

现在,我正在尝试将 S3 存储桶的访问权限限制为仅限于 CloudFront。

我已经按照以下链接中提供的步骤进行了尝试:

https://docs.aws.amazon.com/zh_cn/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html

但是,当我尝试编辑源时,我在用户界面中看不到所有选项,特别是“限制存储桶访问”这个选项缺失。

我只能看到编辑源域名、源路径、源 ID(灰显状态)、源自定义标头等选项,无法输入 OAI 或设置“限制存储桶访问”等选项。

这是因为启用了 HTTPS 吗?

各位 S3 大牛,请帮忙解答一下!

2个回答

9

仅当使用S3 REST端点(例如example-bucket.s3.amazonaws.com)时,原始访问身份才适用于存储桶 - 而不是当您使用网站托管端点(例如example-bucket.s3-website.us-east-2.amazonaws.com)时,因为网站托管端点不支持经过身份验证的请求 - 它们只用于公共内容...但OAI是一种身份验证机制。

使用网站端点时,CloudFront将不将原点视为S3 Origin - 它将被视为自定义原点,并且这些选项不可用,因为如果它们可用,则无论如何都不会起作用(由于上述原因)。


谢谢你,@Michael - sqlbot!我认为你抓住了重点! - Namoh

6

对于那些已经更改了一些S3设置,不再公开,并且只希望通过Cloudfront检索它的人,现在它存在但被隐藏。您只需要从“origin”选项卡中的“Origin Domain Name”剪切并复制该值,然后重新粘贴它(如果是存储桶名称),UI将呈现出“限制访问”输入选项。


感谢@sledgeweight,对于那些不确定要复制粘贴什么的人。您需要粘贴类似于yourS3bucketName.s3.amazonaws.com这样的内容到您的CloudFront源域中。之后,OAI选项将出现。 - Tommy Leong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接