Ошибка получения 403 (Запрещено) при доступе к сайту stati c из пользовательского домена - PullRequest
1 голос
/ 15 апреля 2020

Я настраиваю сайт c на S3 и Cloudfront. Я настроил SSL и т. Д. c. на Cloudfront, и я могу получить доступ к сайту с помощью * .cloudfront. net URL. Однако при доступе из пользовательского домена я получаю ошибку 403. Кто-нибудь знает почему? Политика сегмента выглядит следующим образом:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "2",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXX"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::www.mydomain.com/*"
        }
    ]
}

Это должно разрешить доступ из пользовательского домена mydomain.com, верно?

Ради тестирования я попытался установить "Principal": "*" , но это все равно дает 403.

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

Я исправил это сейчас. Я по ошибке оставил «Альтернативные доменные имена» пустыми.

0 голосов
/ 15 апреля 2020

Похоже, что проблема вызвана тем, что «Объект недоступен для чтения».

По умолчанию для S3 Buckets установлено значение «блокировать все публичные c доступы». Так что вам нужно проверить, если он отключен. enter image description here

И затем Вы можете настроить свои объекты как общедоступные, что можно сделать двумя способами:

  1. Ограничение уровня ковша с помощью Политика
  2. Ограничение на уровне объекта (в случае, если у вас есть сценарий использования, требующий детального контроля)

Наконец, если у вас есть сценарии, которые загружают это содержимое Вы также можете использовать эти сценарии для добавления политики ограничений по требованию.

aws s3 cp /path/to/file s3://sample_bucket --acl public-read
...