У меня есть одна учетная запись с привилегиями для управления S3 (S3_User), а другая - для управления Cloud Front (Cloud_Front_User).
Теперь я создал ведро "bucketname" с S3_User и дистрибутив с Cloud_Front_User с origin my S3 Bucket.
Когда я пытался получить доступ к ресурсу через Cloudfront, я получаю следующее
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>555667558C0B2698</RequestId>
<HostId>
QP0y2/XTsJqItm815aDsdoLTF853zMeEPUAykvxjzdFfU1WwfXHioa6CeLWmc96RDVJopBu+eLE=
</HostId>
</Error>
Я установил это: http://cl.ly/image/1s0I1H3A3p1N
но когда я нажимаю «Сохранить», через некоторое время я получаю сообщение об ошибке, в котором говорится, что не удалось установить идентификацию в корзине S3. Я думаю, это потому, что я управляю CLoudFront с помощью «Cloud_Front_User» и S3 с «S3_User». Итак, как я могу вручную настроить политику 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/*"
}
]
}
См. Это решение ..
https://havecamerawilltravel.com/photographer/how-allow-public-access-amazon-bucket
Как разрешить публичный доступ к корзине Amazon S3 Если вы пытаетесь разрешить кому-либо загружать или открывать файлы в корзине Amazon S3, вот как это сделать.
веб-сервисы Amazon
Образец политики:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
}
]
}