我有一个有权管理 S3 (S3_User) 的帐户,另一个有权管理 Cloud Front (Cloud_Front_User)。
现在,我已经创建了一个带有 S3_User 的存储桶“bucketname”和一个带有 Cloud_Front_User 的分配,起源于我的 S3 存储桶。
当我尝试通过 Cloudfront 访问资源时,我得到了这个
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>555667558C0B2698</RequestId>
<HostId>
QP0y2/XTsJqItm815aDsdoLTF853zMeEPUAykvxjzdFfU1WwfXHioa6CeLWmc96RDVJopBu+eLE=
</HostId>
</Error>
Run Code Online (Sandbox Code Playgroud)
我已经设置了这个:http : //cl.ly/image/1s0I1H3A3p1N
但是当我单击“保存”时,一段时间后我收到一条错误消息,指出它无法在 S3 存储桶上设置身份。我认为这是因为我使用“Cloud_Front_User”管理 CLoudFront,使用“S3_User”管理 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/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
