CloudFront S3访问被拒绝

我有一个帐户有权pipe理S3(S3_User),另一个帐户pipe理云端(Cloud_Front_User)。

现在,我用S3_User创build了一个存储桶“bucketname”,并使用源自我的S3存储桶的Cloud_Front_User创build了一个分配。

当我尝试通过Cloudfront访问资源时,我得到了这个结果

<Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>555667558C0B2698</RequestId> <HostId> QP0y2/XTsJqItm815aDsdoLTF853zMeEPUAykvxjzdFfU1WwfXHioa6CeLWmc96RDVJopBu+eLE= </HostId> </Error> 

我已经设置了这个: http : //cl.ly/image/1s0I1H3A3p1N

但是当我点击“保存”,一段时间后,我收到一条错误消息,说它无法在S3存储桶上设置标识。 我认为这是因为我使用“Cloud_Front_User”pipe理CLoudFront,使用“S3_User”pipe理S3。 那么,如何手动设置存储桶上的S3策略以允许CloudFront访问s3?

S3桶策略

 { "Version": "2012-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid": " Grant a CloudFront Origin Identity access to support private content", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E780000000000" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::socialacademy/*" } ] } 

在这里输入图像说明

看到这个解决scheme

https://havecamerawilltravel.com/photographer/how-allow-public-access-amazon-bucket

如何允许公开访问Amazon S3存储桶如果您尝试允许任何人下载或打开Amazon S3存储桶中的文件,请按照以下步骤操作。

亚马逊的networking服务

  1. 将此代码复制并粘贴到Bucket Policy Editorpopup窗口中。 您需要用您的完整存储桶名称replace“YOUR-BUCKET-NAME”。

样本政策:

 { "Version": "2008-10-17", "Statement": [ { "Sid": "AllowPublicRead", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*" } ] }