Как включить разрешение на чтение и запись в корзину Amazon s3

#amazon-web-services #heroku #amazon-s3 #amazon-iam #ghost-blog

#amazon-веб-сервисы #heroku #amazon-s3 #amazon-iam #призрак-блог

Вопрос:

Я хочу подключить свой блог-призрак, созданный с помощью heroku, к моей корзине s3 в aws, чтобы иметь возможность загружать изображения в сообщения.

У меня есть мой пользователь ARN: arn: aws: iam ::916616152568: user / myuser, присоединенный к группе с помощью «AmazonS3FullAccess».

Что я делаю не так?

Настройки общего доступа для этой корзины:

 Manage public access control lists (ACLs)
Block new public ACLs and uploading public objects (Recommended)
True

Remove public access granted through public ACLs (Recommended)
True
Manage public bucket policies

Block new public bucket policies (Recommended)
False

Block public and cross-account access if bucket has public policies 
(Recommended)
False
  

И моя политика корзины:

 {
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "ListObjectsInBucket",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::916616152568:user/*myuser*"
        },
        "Action": "s3:ListBucket",
        "Resource": "arn:aws:s3:::*myS3bucket*"
    },
    {
        "Sid": "AllObjectActions",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::916616152568:user/*myuser*"
        },
        "Action": "s3:*Object",
        "Resource": "arn:aws:s3:::*myS3bucket*/*"
    }
]
}
  

Я уже загрузил S3_ACCESS_BUCKET_NAME , S3_ACCESS_BUCKET_REGION , S3_ACCESS_KEY_ID и S3_ACCESS_SECRET_KEY в свои переменные среды heroku

У меня возникла эта ошибка при загрузке файлов с моего сервера-призрака. Failed to load resource: the server responded with a status of 403 (Forbidden) Но никаких проблем, если я войду в систему и загружу с консоли aws.

Комментарии:

1. Как насчет вашей политики IAM? Вы прикрепили политику, предоставляющую доступ к корзине?

2. Тот, который есть, или вы имеете в виду какую-то другую политику?

3. смотрите мой ответ. Вам нужно будет создать политику IAM

4. Это точно такой же код, который у меня там есть. У меня это связано с моей корзиной.

5. Вы все же связали политику со своим пользователем IAM? Политика корзины и политики IAM отличаются.

Ответ №1:

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

Ответ №2:

Я фактически исправил это, изменив все «Настройки общего доступа к корзине» на false.