我有一个帐户有权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服务
样本政策:
{ "Version": "2008-10-17", "Statement": [ { "Sid": "AllowPublicRead", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*" } ] }