Сбой запроса AWS S3 с учетными данными, полученными от клиента TVM
В моем приложении для iOS я недавно изменил AWS iOS
Библиотека до 1.7.0 (с 1.6.0), которая поддерживает возобновление / приостановку многоэтапной загрузки. В результате все загрузки файлов превышают 5MB
не удается, который использует temporary AWS credentials obtained from TVM
, (Оригинальные учетные данные работают без проблем). Ошибка HTTP: 403, S3 Error Code: AccessDenied
,
Запрос, который терпит неудачу, является следующим: GET https://s3.amazonaws.com/<my.bucket.name>/?uploads
Я не уверен, для чего предназначен этот запрос или почему существует проблема с разрешением, потому что мой TVM get_federation_token
имеет GET
а также PUT
доступ.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": ["s3:PutObject","s3:GetObject"],
"Resource": ["arn:aws:s3:::my.bucket.name/*"],
"Effect": "Allow"
}
]
}
Загрузка происходит в местоположение /<my.bucket.name>/
, Есть идеи, что происходит?
Спасибо
1 ответ
ОБНОВЛЕНИЕ Первоначальная политика, которую я разместил, была неправильной, s3:ListBucketMultipartUploads
действует только на ведро.
S3TransferManager использует многоэтапную загрузку для файлов размером более 5 МБ, поэтому вам нужно будет включить операции, необходимые для многоэтапной загрузки, в свою политику TVM.
{
"Version": "2012-10-17",
"Statement": [
{
"Action":"s3:ListBucketMultipartUploads",
"Resource":"arn:aws:s3:::my.bucket.name",
"Effect": "Allow"
},
{
"Action": ["s3:PutObject","s3:GetObject","s3:ListMultipartUploadParts","s3:AbortMultipartUpload"],
"Resource": ["arn:aws:s3:::my.bucket.name/*"],
"Effect": "Allow"
}
]
}