2012-01-31 20 views
9

IAMユーザ/キーがS3内の単一のバケットにアクセスする必要があるための基本的なパーミッションセットを特定しようとしています - 個々のバケット上の読み取り/書き込みアクセスのみ。S3バケットの基本AWS IAMパーミッション

この作業を行うために必要な最低限のアクセス許可は何ですか? S3のIAMポリシージェネレータで選択されたすべてのオプションがあります。CreateBucketDeleteBucket以外のすべての権限がバケットで有効になっています。このユーザーに固有の一連のキーも作成しました。

私はこれらの資格情報を使用してバケットにアクセスしようとすると、私はListAllMyBucketsプロパティが有効になっているにもかかわらず、バケットを一覧表示問題を取得します。

誰もがこのような基本的なバケット設定を設定している経験がありますか?それはかなり一般的になりますように思える...類似またはあなたに関連

+1

IAMユーザーがS3_で単一のバケットにアクセスすると仮定すると、なぜバケットを最初にリストしたいのですか? –

+1

ユーザーがアクセス権を持つバケット名を記録していない場合、ListAllMyBucketsはOKです。コードは、ユーザーが実際にアクセスできるバケットを特定できます。これは、バケット名を「どのようにプライベート」にするかによって異なります。しかし、バケット名は基本的にパブリックドメインになっているので(バケツ名が使用されているかどうかを調べるためにpingすることができます)、バケツの名前はどこにでもあります各URLが生成されたときに出力されます。 –

+0

Steffen、ListAllBucketsのアカウントは必要ありませんが、私が望むパーマネントでは機能しませんので、より高いレベルのアクセスが拒否されるかどうかを徐々に確認できますに... – colemanm

答えて

12

Example Policies for Amazon S3カバーさまざまな使用例 - 特にあなたはおそらく例1を結合することがあります:各ユーザーがホームディレクトリを持つことができるようにアマゾンS3に例2:会社のバケット内の自分のホームディレクトリにあるオブジェクトのみを一覧表示させる - 代わりにを*に置き換えて、Resourceを調整してバケットのルートディレクトリをターゲットにする必要があります。

ListAllMyBucketsは、送信者が所有するすべてのバケットのリストを返すことoperation on the serviceであるのに対し、例2は、バケット内の項目のいくつかについてoperation on a bucketそのリターン情報である、ListBucketを促進することに注意してください要求、あなたのユースケースにはあまり適さない可能性があります(後者の説明については私のコメントを参照してください)。

0

これは、あなたがどこかにそれを否定していないと仮定すると、すべてのバケットを一覧表示することを可能にします(私が最初に評価されている99%は必ず文を否定しています。順番はIAMポリシーには関係ありません):

{ 
     "Effect": "Allow", 
     "Action": [ 
      "s3:ListAllMyBuckets" 
     ], 
     "Resource": "*" 
    } 

許可を何でもします

{ 
     "Effect": "Allow", 
     "Action": [ 
      "s3:<Put your actions here; cherry pick from the AWS documentation>" 
     ], 
     "Resource": [ 
      "arn:aws:s3:::<Bucket name here>", 
      "arn:aws:s3:::<Bucket name here>/*" 
     ] 
    } 
関連する問題