Неверный принципал в ведре - PullRequest
2 голосов
/ 20 марта 2019

Я пытаюсь научиться разрабатывать веб-приложения с использованием AWS и после этого семинара Создание современного веб-приложения Я должен обновить политику корзины s3, поэтому согласно инструкциям в разделе B я заменил строку REPLACE_ME_BUCKET_NAME в файле JSON на имя корзины, которую я создал mythicalbucket1, и это ошибка, которую я получаю:

Произошла ошибка (MalformedPolicy) при вызове операции PutBucketPolicy: недопустимый участник в политике.

Это файл JSON:

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity REPLACE_ME_CLOUDFRONT_ORIGIN_ACCESS_IDENTITY_ID"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mythicalbucket1"
        }
    ]
}

Я попытался прочитать документацию для политик корзины, и, поскольку я должен предоставить доступ общественности (или всем), я заменил значение для Principal на *, что снова приводит к другой ошибке.

Глядя на файл JSON, я предполагаю, что REPLACE_ME_CLOUDFRONT_ORIGIN_ACCESS_IDENTITY_ID должен быть заменен некоторым идентификатором CloudFront ID, но я не уверен, требуется ли это в этом случае.

Я просмотрел различные документы об идентификаторе CloudFront ID и политиках корзины, но все по-прежнему сбивает с толку. Буду признателен за любую помощь в этом.

1 Ответ

1 голос
/ 20 марта 2019

Похоже, что файлы, предоставленные этим семинаром, ссылаются на использование Amazon CloudFront. Тем не менее, инструкции не упоминают об этом.

Поэтому вы должны просто использовать: "Principal": "*"

Также обратите внимание, что в конце этой строки должно быть /*:

"Resource": "arn:aws:s3:::REPLACE_ME_BUCKET_NAME/*"

Убедитесь, что после имени вашего сегмента еще есть /*.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...