簡體   English   中英

IAM策略,為用戶列出S3存儲桶中的特定文件夾

[英]IAM Policy to list specific folders inside a S3 bucket for an user

我在存儲桶演示下有以下按鍵

demo.for.customers/customer1/
demo.for.customers/customer2/

現在我有2個客戶,即customer1customer2 這就是我要的:

  1. 僅授予他們訪問demo.for.customers存儲桶的權限。
  2. customer1應該只能訪問demo.for.customers/customer1/ ,customer2應該只能訪問demo.for.customers/customer2/

而且我可以通過以下策略來實現這一目標(我正在為每個客戶創建策略。因此,我只為下面的customer1粘貼策略。)我在IAM中定義了此策略,而未在S3中定義。

{
 "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. Customer1可以看到我的所有存儲桶,盡管他無法訪問其中的任何一個。 我不要這個 他應該只能看到demo.for.customers
  2. Customer1也可以查看demo.for.customers/customer2 ,盡管他無法訪問它。 這是非常不可接受的,因為我甚至不希望他看到我在此存儲桶下還有哪些其他客戶文件夾。

問題:

  1. 經過大量的搜尋之后,我才知道無法列出特定的值區 這是真的嗎?
  2. 但是,我必須找到一種方法, 僅列出給定用戶的存儲桶中的特定文件夾 怎么做?

謝謝。

關於您的問題:

  1. 不幸的是,沒有辦法只列出某些存儲桶。 如果僅是為了允許訪問一個已知的存儲桶,我將完全刪除第一條語句,因為它不添加任何值(該存儲桶是已知的,不需要列出)。
  2. 您可以顯示用於列出存儲桶內容的代碼嗎? 根據您在此處顯示的內容,我希望customer1只能在其前綴的根目錄中列出存儲桶內容,而在其他任何地方都不能列出。

關於您的問題:

  1. 是的,沒有辦法列出某些存儲桶。 列表存儲區API是一項全有或全無的操作。
  2. 這是通過前綴完成的。 您使用什么語言? 我們為AWS Mobile SDK提供了一個示例,該示例使用令牌自動售貨機向每個用戶提供對S3存儲桶的訪問

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM