Настройка размещения контента с CloudFront / S3 без подписанных URL - PullRequest
1 голос
/ 18 апреля 2019

У меня есть объекты с открытым доступом для чтения, доступ к которым разрешен только через CloudFront. Когда я пытаюсь передать параметр response-content-disposition в мой URL-адрес CloudFront, я получаю ошибку S3:

Request specific response headers cannot be used for anonymous GET requests.

Я читал, что S3 не позволяет вам устанавливать расположение контента, если вы не используете подписанный URL, но это не вариант. Запросы CloudFront не следует рассматривать как анонимные, так как они используют политику корзины для аутентификации. Есть ли способ, которым я могу настроить это для работы?

Как настроить расположение содержимого без использования подписанного URL?

1 Ответ

1 голос
/ 19 апреля 2019

Параметры запроса, такие как response-content-disposition, не поддерживаются анонимными запросами, поэтому ошибка указывает на то, что S3 не видит никакой информации для аутентификации.

Для того чтобы CloudFront аутентифицировался в источнике S3, *Для параметра 1004 * для параметра origin необходимо установить значение Yes.

. Параметр имеет очень плохое имя, поскольку на самом деле он ничего не делает для ограничения доступа к корзине.Это должно называться что-то вроде «Аутентифицировать запросы при отправке в корзину», потому что это то, что эта опция на самом деле включает - использование Origin Access Identity (OAI) для аутентификации запросов, отправляемых в корзину.

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#private-content-creating-oai-console

Обратите внимание, что тот факт, что ваша установка позволяла проходить запросы анонимно, может означать, что ваша политика корзины или ACL объекта не являются достаточно ограничительными.

...