AWS S3+Cloudfront 访问被拒绝初学者问题
Posted
技术标签:
【中文标题】AWS S3+Cloudfront 访问被拒绝初学者问题【英文标题】:AWS S3+Cloudfront access denied beginner question 【发布时间】:2022-01-11 22:14:30 【问题描述】:我第一次使用 cloudfront + s3 时遇到了一个小问题。我只想通过云端访问我的图像。在 S3 上,我已阻止所有公共访问。 Cloudfront 源设置为 S3 存储桶。
问题是当我现在尝试通过云端域名访问我的图像时。
XXX.cloudfront.net/folder/image.jpg
我得到了错误
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
但是,如果我在 s3 存储桶上设置公共访问权限
Block public and cross-account access to buckets and objects through any public bucket or access point policies
S3 will ignore public and cross-account access for buckets or access points with policies that grant public access to buckets and objects.
然后我可以从云端链接查看图像。是否可以在没有公共访问权限的情况下查看云端图像?
【问题讨论】:
【参考方案1】:当您将 S3 对象设为私有时,公众将无法访问它们,但 CloudFront 也无法再访问它们。这就是您收到 403 错误的原因。为了使其工作,您需要授予 CloudFront 访问这些私有对象的权限。为此,您可以创建一个源访问身份,然后在 S3 存储桶上设置适当的权限,以便 CloudFront 能够读取私有对象。
以下是有关如何在 CloudFront 控制台中进行设置的分步说明: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#private-content-creating-oai-console
【讨论】:
以上是关于AWS S3+Cloudfront 访问被拒绝初学者问题的主要内容,如果未能解决你的问题,请参考以下文章