Защищенный контейнер @ S3 — Доступ запрещен

Защищенный контейнер @ S3 — Доступ запрещен

Я пытаюсь предоставить 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 Key и Secret Key с .NET SDK или с CloudBerry Explorer я получаю"Доступ запрещен"ошибка.

Что я упускаю?

Следующий журнал представляет собой фрагмент журнала операций, проверенных Cloudberry:

System.Net.WebException На удаленном сервере произошла ошибка: (403) Ошибка. в System.Net.HttpWebRequest.GetResponse() в 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 [S3] [4] ОШИБКА - Заголовок ответа HTTP: Transfer-Encoding: chunked 2011-11-23 08:36:11,396 [S3] [4] ОШИБКА - Заголовок ответа HTTP: Content-Type: application/xml 2011-11-23 08:36:11,398 [S3] [4] ОШИБКА - Заголовок ответа HTTP: Date: Wed, 23 Nov 2011 10:36:31 GMT 2011-11-23 08:36:11,400 [S3] [4] ОШИБКА - Заголовок ответа HTTP: Сервер: AmazonS3 2011-11-23 08:36:11,402 [S3] [4] ОШИБКА - AccessDeniedОтказано в доступе70941BB8654CE12EJssG1wXtZSjiGO8oVb9B46NNkn24TpZToD4u/KZAFaPBFBECF7YDMPnckVpyhaDE 2011-11-23 08:36:11,404 [S3] [4] ОШИБКА - Не удалось вызвать InternalListBucketCall для контейнера: secured_bucket, префикс: , маркер: , maxkeys: 1, разделитель: / CloudBerryLab.Base.Exceptions.Status403Exception Отказано в доступе

2011-11-23 08:36:11,407 [UI] [4] ОШИБКА - Операция завершена с ошибками. Нажмите «Подробности» для получения дополнительной информации. CloudBerryLab.Base.Exceptions.Status403Exception Access Denied 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

решение1

Я не эксперт по s3, но вы пробовали дать ему привилегию ListAllMyBuckets? У меня была эта проблема при попытке доступа к s3 с помощью s3cmd из экземпляра ec2, хотя я предоставил все привилегии с помощью :* Мне пришлось явно дать привилегию ListAllMyBuckets:

"Sid": "Stmt1397683550000",
  "Effect": "Allow",
  "Action": [
    "s3:ListAllMyBuckets"
  ],
  "Resource": [
    "arn:aws:s3:::mybucketname"
  ]

Связанный контент