[英]AWS S3 Bucket Policy - Allow GetObject only within a prefix
我正在嘗試在存儲桶上放置一條策略,以允許對對象的公共“ GetObject”訪問,但僅允許在特定前綴內的對象訪問。 像這樣:
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/publicstuff/*"
}
問題是,AWS警告我,這會使整個存儲桶公開。 可以肯定的是, 如果我嘗試從/ mybucket / anywhereelse /獲取對象,則S3免費提供它。 因此,“ mybucket”之后的所有內容都將被忽略。
有什么方法可以構建適用於存儲桶中特定前綴的存儲桶策略? 我嘗試了一個策略條件,但發現在使用s3:GetObject操作時無法使用s3:prefix。
感謝@michael和@mok,我找到了答案:我是個白痴。 我用來驗證標准行為的其他對象碰巧具有對它們的單獨權限,以允許getObject,而且我不記得將它們放在那里或沒有注意到它們在那兒。 當我刪除這些權限時,看來我仍然可以訪問這些對象,但實際上是在拾取緩存的副本。 在刪除這些虛假權限並使用完全不同的瀏覽器時,我驗證了我最初發布的策略是正確的。 抱歉,添麻煩了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.