Это конфигурация 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](https://i.stack.imgur.com/fCNVO.png)
Запрос 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.
Что я делаю не так?