我正在尝试通过Cloudfront显示我的S3内容。不幸的是,我看到的只是一条消息,说明我没有权限访问存储在S3中的文件。我已经学过一些教程,并且真的不明白它为什么不起作用。
这是我做的:
Origin Domain Name: my_aws_bucket
Origin Path: /uploads # This is the folder where my images are stored
我告诉Cloudfront限制对我创建的身份的存储桶访问权限,并在我的存储桶上设置新策略:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity **********"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my_aws_bucket/*"
}
]
}
我清除了所有其他政策,包括IAM用户政策(只是为了确保没有任何东西阻止我新创建的政策)
当我刷新页面时,我仍然只能看到图像文本。如果我点击页面源中的图片链接,我会看到以下内容:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>71C324761B2B3661</RequestId>
<HostId>
PUojsKhDRMcV1G2AItu8sBve5FdzJoq/ieecIrWVjFE5SpC2prxjz4PuI+nJLAHIgXcowtZY1M8=
</HostId>
</Error>
我已确认上面的蒙面值与我的身份相匹配。
我正把头发拉出来。因为没有理由我能找到为什么这不应该工作而且它让我忙了好几天。