AWS - InvalidAccessKeyId возвращается при доступе к корзине S3 через дистрибутив CloudFront HTTPS - PullRequest
0 голосов
/ 09 июля 2019

Предыдущий вопрос по тому же делу.

После решения моей предыдущей проблемы мой AWS настроен на следующие сервисы.

  1. S3 корзина в ap-east-1 без статического хостинга.
  2. CloudFront Распространение HTTPS с SSL-сертификатом, запрошенным у ACM в us-east-1.
  3. Псевдоним, указывающий на распределение CloudFront в Route 53.

InvalidAccessKeyId screenshot

Когда я пытаюсь перейти к конечной точке распространения, используя псевдоним, настроенный в Route 53, он всегда возвращает ошибку InvalidAccessKeyId и говорит, что ключ доступа не существует. Ключ всегда одинаков для каждого запроса и имеет префикс AKIA.

Я заглянул в консоль IAM, пользователи не были созданы. Я полагаю, что есть только две роли, автоматически созданные AWS.

Кстати, даже если я отключаю автообновление политики корзины S3 при создании нового дистрибутива CloudFront, моя политика корзины будет изменяться автоматически, где для поля Principal установлено значение "AWS": "ADIA...". Я попытался заменить его на "CanonicalUser": "<my OAI that the CloudFront distribution is using>", но через несколько минут он вернется к "AWS": "ADIA...".

Кто-нибудь знает, как устранить эту ошибку неверного ключа доступа?


Обновление

Я создал еще одну S3 корзину в ap-southeast-1 и выполнил те же самые шаги, позволив CloudFront автоматически генерировать политику корзины, а затем настроил параметры псевдонима в консоли Route 53.

Ниже приводится автоматически сгенерированная политика сегментов.

S3 auto-generated bucket policy

Затем я копирую и вставляю эту политику в свое исходное ведро ap-east-1, единственное отличие заключается в строке "AWS": "...", но она не позволяет мне сохранить ее, утверждая, что в основном сервере произошла ошибка.

S3 bucket policy error with principal

...