Чтобы разрешить доступ к веб-сайту stati c только через облачный фронт, вы можете использовать эту политику.
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "3",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity [OriginAccessIdentity id]"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::[bucket]/*"
}
]
}
Я думаю, что если вы измените его на Deny
, он должен делать то, что вы хотите.
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "3",
"Effect": "Deny",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity [OriginAccessIdentity id]"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::[bucket]/*"
}
]
}
Пожалуйста, замените [OriginAccessIdentity id] идентификатором источника происхождения, указав c для вашего дистрибутива.
Надеюсь, это поможет.
Ссылки:
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html (как @John Rotenstein в разделе комментариев)