Geschützter Bucket @ S3 – Zugriff verweigert

Geschützter Bucket @ S3 – Zugriff verweigert

Ich versuche, einem bestimmten Benutzer mithilfe der folgenden Bucket-Richtlinie RW-Zugriff auf einen bestimmten Bucket zu gewähren:

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

Soweit ich das beurteilen kann, ist es ziemlich gleich den Beispielen beihttp://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?AccessPolicyLanguage_UseCases_s3_a.htmlund ich habe mich an die Anweisungen gehalten, die unterhttp://docs.amazonwebservices.com/IAM/latest/GettingStartedGuide/index.html?SetUpAdminsGroup.html

Aber es funktioniert nicht. Wenn ich den AWS-Schlüssel und den Secret Key des Benutzers mit dem .NET SDK oder mit CloudBerry Explorer verwende, erhalte ich eine"Zugriff abgelehnt"Fehler.

Was vermisse ich?

Das folgende Protokoll ist ein Ausschnitt aus dem von Cloudberry versuchten Betriebsprotokoll:

System.Net.WebException Der Remote-Server hat einen Fehler zurückgegeben: (403) Ausgeschlossen. in System.Net.HttpWebRequest.GetResponse() in db.A(dD , Action`1 , HttpWebRequest , dW )

2011-11-23 08:36:10,505 [S3] [4] INFO - InternalListBucketCall start, bucket: secure_bucket, prefix: , marker: , maxkeys: 1, delimiter: / 2011-11-23 08:36:11,388 [S3] [4] ERROR - Http response status: 403: Forbidden 2011-11-23 08:36:11,390 [S3] [4] ERROR - Http response header: x-amz-request-id: 70941BB8654CE12E 2011-11-23 08:36:11,392 [S3] [4] ERROR - Http response header: x-amz-id-2: JssG1wXtZSjiGO8oVb9B46NNkn24TpZToD4u/KZAFaPBFBECF7YDMPnckVpyhaDE 2011-11-23 08:36:11,394 [S3] [4] FEHLER - HTTP-Antwortheader: Transfer-Encoding: chunked 2011-11-23 08:36:11,396 [S3] [4] FEHLER - HTTP-Antwortheader: Content-Type: application/xml 2011-11-23 08:36:11,398 [S3] [4] FEHLER - HTTP-Antwortheader: Datum: Mittwoch, 23. November 2011 10:36:31 GMT 2011-11-23 08:36:11,400 [S3] [4] FEHLER - HTTP-Antwortheader: Server: AmazonS3 2011-11-23 08:36:11,402 [S3] [4] FEHLER – AccessDeniedZugriff verweigert70941BB8654CE12EJssG1wXtZSjiGO8oVb9B46NNkn24TpZToD4u/KZAFaPBFBECF7YDMPnckVpyhaDE 2011-11-23 08:36:11,404 [S3] [4] FEHLER – InternalListBucketCall fehlgeschlagen für Bucket: secure_bucket, Präfix: , Markierung: , maxkeys: 1, Trennzeichen: / CloudBerryLab.Base.Exceptions.Status403Exception Zugriff verweigert

2011-11-23 08:36:11,407 [UI] [4] FEHLER – Vorgang mit Fehlern abgeschlossen. Klicken Sie auf Details, um weitere Informationen zu erhalten. CloudBerryLab.Base.Exceptions.Status403Exception Zugriff verweigert in kT.A(String, String, String, Int32, String, FH) in kT.B(String, String) in kM.a(String, Boolean) in HW.a(String, Boolean) in HW.A(String) in CloudBerryLab.Explorer.Console.Controls.PluginArea.A(Object, DoWorkEventArgs)

2011-11-23 08:36:18,776 [Basis] [11] INFO - PROCESSOR_ARCHITECTURE=x86

Antwort1

Ich bin kein S3-Experte, aber haben Sie versucht, ihm das ListAllMyBuckets-Privileg zu erteilen? Ich hatte dieses Problem, als ich versuchte, mit s3cmd von einer EC2-Instanz aus auf S3 zuzugreifen, obwohl ich mit :* alle Privilegien erteilt hatte. Ich musste das ListAllMyBuckets-Privileg explizit erteilen:

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

verwandte Informationen