バケットdemo.for.customersの下に以下のキーがあります
demo.for.customers/customer1/
demo.for.customers/customer2/
現在、customer1とcustomer2という 2 人の顧客がいます。これは私が欲しいものです:
- demo.for.customersバケットのみへのアクセスを許可します。
- customer1 は にのみアクセスでき
demo.for.customers/customer1/
、customer2 は にのみアクセスできる必要がありますdemo.for.customers/customer2/
。
そして、以下のポリシーでこれを達成することができます (顧客ごとにポリシーを作成しています。そのため、以下の顧客 1 のみにポリシーを貼り付けています)。このポリシーは S3 ではなく IAM で定義しました。
{
"Version":"2012-10-17",
"Statement": [
{
"Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::*"]
},
{
"Action": ["s3:ListBucket"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::demo.for.customers"],
"Condition":{"StringEquals":{"s3:prefix":["","customer1/"],"s3:delimiter":["/"]}}
},
{
"Effect": "Allow",
"Action": ["s3:*"],
"Resource": ["arn:aws:s3:::demo.for.customers/customer1/*"]
}
]
}
問題:
- 顧客 1 は、バケットのいずれにもアクセスできませんが、すべてのバケットを見ることができます。私はこれをしたくありません。彼はdemo.for.customersだけを見ることができるはずです
- Customer1
demo.for.customers/customer2
もアクセスできませんが、見ることができます。このバケットの下にある他の顧客フォルダーを彼に見せたくないので、これは非常に受け入れられません。
質問:
- 多くのグーグルを行った後、特定のバケットをリストする方法がないことを知りました。これは本当ですか?
- ただし、特定のユーザーのバケット内の特定のフォルダーのみを一覧表示する方法を見つける必要があります。どうやってするか?
ありがとう。