1

バケット内に論理フォルダーを作成したいが、100 バケットを超えないようにしたい。AWS アカウントが 1 つしかないと仮定すると、アップロードされたドキュメントをそれらの 100 個のバケットに分散させたいと考えています。すべてのバケットに IAM ポリシーを適用して、ドキュメントの作成者のみが複数のユーザーを持ち、アップロードされたドキュメントを表示/削除できるようにするためのベスト プラクティスは何ですか?

わかりました。

4

2 に答える 2

1

あなたのユースケースを完全に理解しているかどうかはわかりません。ユーザー間でバケットを分散する理由は何ですか?

ユーザーの「ホーム ディレクトリ」に IAM を使用するためのベスト プラクティスについては、AWS Docsを参照してください。

{
   "Statement":[{
      "Effect":"Allow",
      "Action":["s3:PutObject","s3:GetObject","s3:GetObjectVersion",
      "s3:DeleteObject","s3:DeleteObjectVersion"],
      "Resource":"arn:aws:s3:::my_bucket/home/user_name/*"
   }
   ]
}
于 2012-12-06T16:01:05.023 に答える
0

@Guyが述べたように、ユーザーごとのフォルダーはユーザーごとのバケットよりも優れていますが、いずれの場合でも、複数のルールではなく 1 つのルールに対してポリシー変数を使用できます。 ドキュメントの例を${aws:username}参照してください。

あなたの場合、次のようにバケット arn に入れることができると思います。

{
   "Statement":[{
      "Effect":"Allow",
      "Action":["s3:*"],
      "Resource":"arn:aws:s3:::bucket-for-${aws:username}/*"
   }]
}
于 2014-03-21T15:11:18.713 に答える