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

しかし、うまくいきません。.NET SDKまたはCloudBerry ExplorerでユーザーのAWSキーとシークレットキーを使用すると、"アクセスが拒否されました"エラー。

何が足りないのでしょうか?

次のログは、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] INFO - InternalListBucketCall 開始、バケット: secure_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] エラー - バケット: secure_bucket、プレフィックス: 、マーカー: 、maxkeys: 1、区切り文字: / の InternalListBucketCall が失敗しました CloudBerryLab.Base.Exceptions.Status403Exception アクセスが拒否されました

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] INFO - PROCESSOR_ARCHITECTURE=x86

答え1

私は s3 の専門家ではありませんが、ListAllMyBuckets 権限を付与してみましたか? ec2 インスタンスから s3cmd を使用して s3 にアクセスしようとしたときに、すべての権限を付与したにもかかわらず、この問題が発生しました:* ListAllMyBuckets 権限を明示的に付与する必要がありました:

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

関連情報