2

AWS IAM の例に従って、次のような conf があります。しかし、この IAM ポリシーがアタッチされたユーザーの資格情報を使用すると、「アクセスが拒否されました」という結果になります。

Stringlike 条件の削除は正常に機能します。

{
  "Statement": [
    {
  "Action": [
    "s3:ListBucket"
  ],
  "Effect": "Allow",
  "Resource": [
    "arn:aws:s3:::BUCKET"
  ],
  "Condition": {
    "StringLike": {
      "s3:prefix": "STRING/*"
    }
  }
}
]}


conn = S3Connection( key, secret );
buck = conn.get_bucket( BUCKET ); 
for key in buck.list( prefix = STRING ):
  print key.name

また、バケット「サブフォルダ」からオブジェクトを取得するには、

... "アクション":"s3:GetObject" ... "リソース":"arn:aws:s3:::BUCKET/STRING/*" ...

この制限された getObject パーミッションだけでは十分ではありません (再び拒否されました) が、ListBucket ポリシーをバケット全体に追加すると機能します。同じディレクトリに含まれる 777 ファイルにアクセス (読み取り) するためにディレクトリに READ(list) ビットを設定する必要がある場合、AWS は *nix のように機能しますか?

助けていただけますか?IAM ポリシーについての理解に自信がありません。ありがとう

4

1 に答える 1

3

おそらくより多くの権限が必要な get_bucket() の削除を修正しました (ListAllMyBuckets?)

conn = S3Connection( key, secret );
mBucket = Bucket( conn, bucket );
for key in mBucket.list( prefix = prefix ):
  print key.name
return
于 2012-09-18T15:44:34.820 に答える