Depósito protegido @ S3: acceso denegado

Depósito protegido @ S3: acceso denegado

Estoy intentando otorgar acceso RW a un depósito determinado a un usuario específico utilizando la siguiente política de depósito:

{
  "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"
        ]
      }
    }
  ]
}

Por lo que puedo notar, es bastante igual a los ejemplos enhttp://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?AccessPolicyLanguage_UseCases_s3_a.htmly he seguido lo que está documentado enhttp://docs.amazonwebservices.com/IAM/latest/GettingStartedGuide/index.html?SetUpAdminsGroup.html

Pero no está funcionando. Al utilizar la clave AWS y la clave secreta del usuario con el SDK de .NET o con CloudBerry Explorer, obtengo un"Acceso denegado"error.

¿Qué me estoy perdiendo?

El siguiente registro es un fragmento del registro de operaciones probado por Cloudberry:

System.Net.WebException El servidor remoto devuelve un error: (403) Prohibido. en System.Net.HttpWebRequest.GetResponse() en db.A(dD, Action`1, HttpWebRequest, dW)

2011-11-23 08:36:10,505 [S3] [4] INFORMACIÓN - Inicio de InternalListBucketCall, depósito: Secure_bucket, prefijo:, marcador:, maxkeys: 1, delimitador: / 2011-11-23 08:36:11,388 [S3 ] [4] ERROR - Estado de respuesta HTTP: 403: Prohibido 2011-11-23 08:36:11,390 [S3] [4] ERROR - Encabezado de respuesta HTTP: x-amz-request-id: 70941BB8654CE12E 2011-11-23 08 :36:11,392 [S3] [4] ERROR - Encabezado de respuesta HTTP: x-amz-id-2: JssG1wXtZSjiGO8oVb9B46NNkn24TpZToD4u/KZAFaPBFBECF7YDMPnckVpyhaDE 2011-11-23 08:36:11,394 [S3] [4] ERROR - H encabezado de respuesta ttp: Transferir -Codificación: fragmentado 2011-11-23 08:36:11,396 [S3] [4] ERROR - Encabezado de respuesta HTTP: Tipo de contenido: aplicación/xml 2011-11-23 08:36:11,398 [S3] [4] ERROR - Encabezado de respuesta HTTP: Fecha: miércoles, 23 de noviembre de 2011 10:36:31 GMT 2011-11-23 08:36:11,400 [S3] [4] ERROR - Encabezado de respuesta HTTP: Servidor: AmazonS3 2011-11-23 08: 36:11,402 [S3] [4] ERROR - AccessDeniedAcceso denegado70941BB8654CE12EJssG1wXtZSjiGO8oVb9B46NNkn24TpZToD4u/KZAFaPBFBECF7YDMPnckVpyhaDE 2011-11-23 08:36:11,404 [S3] [4] O - InternalListBucketCall falló para el depósito: Secure_Bucket, prefijo:, marcador:, maxkeys: 1, delimitador: / CloudBerryLab.Base.Exceptions.Status403Exception Acceso denegado

2011-11-23 08:36:11,407 [UI] [4] ERROR: operación completada con errores. Haga clic en Detalles para obtener más información. CloudBerryLab.Base.Exceptions.Status403Exception Acceso denegado en kT.A(String, String, String, Int32, String, FH) en kT.B(String, String) en kM.a(String, Boolean) en HW.a(String , booleano) en HW.A(String) en CloudBerryLab.Explorer.Console.Controls.PluginArea.A(Object, DoWorkEventArgs)

2011-11-23 08:36:18,776 [Base] [11] INFORMACIÓN - PROCESSOR_ARCHITECTURE=x86

Respuesta1

No soy un experto en s3, pero ¿has intentado darle el privilegio ListAllMyBuckets? Tuve este problema al intentar acceder a s3 usando s3cmd desde una instancia ec2 a pesar de que otorgué todos los privilegios con :* Tuve que otorgar explícitamente el privilegio ListAllMyBuckets:

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

información relacionada