创建云端分发

Creating a cloud front distribution

我按照 Ryan Kroonenburg 的教程创建了一个云前端分布。我将源设置为我在创建云前端时 created.I 将 "Restrict Bucket Access" 设置为 yes 的 S3 存储桶之一。尽管此选项旁边的信息显示 "If you want to require that users always access your Amazon S3 content using CloudFront URLs, not Amazon S3 URLs, click Yes. ",但我仍然能够访问 S3 存储桶。当我尝试访问云端 url 时,我看到以下内容。

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>56299E51ECB22FF0</RequestId>
<HostId>
sv5htrLwzMPiwZWyu4nUh6+Z8ZM69rC/fxNiC5zLR5rms9X+cRnoSeHJnElx7A7s9dCr36lRmU4=
</HostId>
</Error>

这是一篇关于创建具有受限访问权限的 S3 存储桶的详细博客。

https://aws.amazon.com/blogs/security/how-to-restrict-amazon-s3-bucket-access-to-a-specific-iam-role/

要配置通过 AWS CloudFront 提供私有 S3 内容,需要在 S3 和 CloudFront 上进行多项配置。

  • 创建 CloudFront 原始访问身份(特殊 CloudFront 用户)授予对 S3 存储桶的访问权限。这还将在 S3 ACL 中创建一个允许访问的用户。
  • 通过 public 限制 S3 存储桶访问(配置 S3 ACL 权限删除匿名访问)

在 CloudFront 中单击“是”的信息消息是从 CloudFront 创建源访问身份以访问来自 S3 的内容(无论存储桶是私有的还是 public)。

If you want to require that users always access your Amazon S3 content using CloudFront URLs, not Amazon S3 URLs, click Yes.

要将存储桶设为私有,请确保您通过 S3 存储桶 ACL 权限选项卡控制访问,您还将看到一种新类型的用户被授予访问用于 CloudFront 的 S3(原始访问身份用户)的权限。

由于您收到访问错误,我建议您阅读文档或文章以找到路由原因,并了解其背后的工作原理,以便您可以解决未来的问题。