S3 - доступ запрещен после загрузки 100% изображения - PullRequest
0 голосов
/ 23 ноября 2018

Это конфигурация CORS на S3

<CORSConfiguration>
<CORSRule xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Это политика Bucket

{
    "Id": "<policyID>",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "<stm>",
            "Action": "s3:*",
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::<bucket-name>/*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::<id>:user/<name>"
                ]
            }
        }
    ]
}

Мой пользователь IAM имеет полный доступ

Full Access

Запрос Option перед PUT возвращает 200, поэтому я предполагаю, что CORS не имеет ошибок конфигурации.

Запрос PUT на подписанный URL для загрузки изображения возвращаетсяс ошибкой

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

Upload progress: 56% Uploading 
Upload progress: 75% Uploading 
Upload progress: 84% Uploading 
Upload progress: 94% Uploading 
Upload progress: 100% Finalizing
Upload error: Upload error: 403

Ошибка ответа от amazonaws:

<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>REQid</RequestId><HostId>SomeID</HostId></Error>

После 100% финализации оно выдаетОшибка 403Я использую реагирующий-s3-uploader для загрузки файлов на S3.

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

1 Ответ

0 голосов
/ 24 ноября 2018

Я нашел ошибку.Ошибка была с моей стороны связана с настройками общего доступа для ACL.Я отмечал Блокировать новые публичные ACL и загружать публичные объекты True вместо False.

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