Я создал статический веб-сайт с корзиной S3, который обслуживается CloudFront. Я хотел бы ограничить доступ к корзинам напрямую только из CloudFront через Origin Access Identity.
Я попытался обновить политику корзины S3, но она показывает ошибку:
Error putting S3 policy: MalformedPolicy: Invalid principal in policy status code: 400, request id
Я пытаюсь использовать следующую политику:
resource "aws_s3_bucket_policy" "default" {
bucket = "${aws_s3_bucket.default.id}"
policy = <<EOF
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "2",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity ${aws_cloudfront_origin_access_identity.origin_access_identity.id}"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::$/*"
}
]
}
EOF
}