针对Cloudfront分发的AWS S3存储桶策略苦苦挣扎

时间:2015-06-30 19:11:08

标签: amazon-web-services amazon-s3 amazon-cloudfront

我正在尝试通过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>

我已确认上面的蒙面值与我的身份相匹配。

我正把头发拉出来。因为没有理由我能找到为什么这不应该工作而且它让我忙了好几天。

0 个答案:

没有答案