Я пытаюсь предоставить RW доступ к заданному сегменту конкретному пользователю, используя следующую политику сегмента:
{
"Id": "Policy1322043790167",
"Statement": [
{
"Sid": "Stmt9999043784080",
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetObject",
"s3:GetObjectVersion",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::private_bucket/*",
"Principal": {
"AWS": [
"arn:aws:iam::999903749999:user/my.username.under.my.aws.account"
]
}
}
]
}
Насколько я могу заметить, это довольно похоже на примеры на http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?AccessPolicyLanguage_UseCases_s3_a.html и я следил за тем, что задокументировано на http://docs.amazonwebservices.com/IAM/latest/GettingStartedGuide/index.html?SetUpAdminsGroup.html
Но не работает. Используя пользовательский ключ AWS и секретный ключ с .NET SDK или CloudBerry Explorer, я получаю "В доступе отказано" ошибка.
Что мне не хватает?
Следующий журнал - это фрагмент журнала операций, который пробовал Cloudberry:
System.Net.WebException Удаленный сервер восстановил ошибку: (403) Proibido. em System.Net.HttpWebRequest.GetResponse () em db.A (dD, Action`1, HttpWebRequest, dW)
2011-11-23 08: 36: 10,505 [S3] [4] ИНФОРМАЦИЯ - начало InternalListBucketCall, сегмент: secured_bucket, префикс:, маркер:, maxkeys: 1, разделитель: / 2011-11-23 08: 36: 11,388 [S3 ] [4] ОШИБКА - Статус HTTP-ответа: 403: Запрещено 2011-11-23 08: 36: 11,390 [S3] [4] ОШИБКА - HTTP-заголовок ответа: x-amz-request-id: 70941BB8654CE12E 2011-11-23 08 : 36: 11,392 [S3] [4] ОШИБКА - Заголовок ответа HTTP: x-amz-id-2: JssG1wXtZSjiGO8oVb9B46NNkn24TpZToD4u / KZAFaPBFBECF7YDMPnckVpyhaDE 2011-11-23 08: 36: 11,394 [Заголовок ответа Http: передача Http] -Encoding: chunked 2011-11-23 08: 36: 11,396 [S3] [4] ОШИБКА - Заголовок ответа HTTP: Content-Type: application / xml 23-11-23 2011 08: 36: 11,398 [S3] [4] ОШИБКА - Заголовок ответа HTTP: Дата: среда, 23 ноября 2011 г., 10:36:31 GMT 2011-11-23 08: 36: 11,400 [S3] [4] ОШИБКА - Заголовок ответа HTTP: Сервер: AmazonS3 23-11-23 08: 36: 11,402 [S3] [4] ОШИБКА -
AccessDenied
В доступе отказано 70941BB8654CE12EJssG1wXtZSjiGO8oVb9B46NNkn24TpZToD4u / KZAFaPBFBECF7YDMPnckVpyhaDE 2011-11-23 08: 36: 11,404 [S3] [4] ERROR: исключение max_list_listbuckception: ошибка_внутреннего списка_выброса, маркер исключения_внутреннего списка_внутреннего списка_внутренний_букет: сбойный код_внутреннего списка_выброса Отказано2011-11-23 08: 36: 11,407 [UI] [4] ОШИБКА - операция завершена с ошибками. Щелкните Подробности для получения дополнительной информации. CloudBerryLab.Base.Exceptions.Status403Exception Доступ запрещен em kT.A (String, String, String, Int32, String, FH) em kT.B (String, String) em kM.a (String, Boolean) em HW.a (String , Boolean) em HW.A (String) em CloudBerryLab.Explorer.Console.Controls.PluginArea.A (Object, DoWorkEventArgs)
2011-11-23 08: 36: 18,776 [База] [11] ИНФОРМАЦИЯ - PROCESSOR_ARCHITECTURE = x86
Я не эксперт по s3, но пробовали ли вы дать ему привилегию ListAllMyBuckets? У меня возникла эта проблема при попытке получить доступ к s3 с помощью s3cmd из экземпляра ec2, хотя я предоставил все привилегии: * Мне пришлось явно предоставить привилегию ListAllMyBuckets:
"Sid": "Stmt1397683550000",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::mybucketname"
]