2013-10-22 359 views
0

我想要做的是列出存儲桶的所有內容,除了特定文件夾(存檔)的內容。問題是當我「取消」存儲桶時,我也從「存檔」文件夾中獲取文件。這是我當前的設置:AWS S3存儲桶策略

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Action": [ 
     "s3:ListBucket" 
     ], 
     "Sid": "Stmt1382452205000", 
     "Resource": [ 
     "arn:aws:s3:::mybucket" 
     ], 
     "Condition":{ 
      "StringNotLike":{"s3:prefix":["archive/"]} 
     }, 
     "Effect": "Allow" 
    }, 
    { 
     "Sid": "ExplictDenyAccessToArchive", 
     "Action": ["s3:*"], 
     "Effect": "Deny", 
     "Resource":["arn:aws:s3:::mybucket/archive/*"] 
    }, 
    { 
     "Sid": "DenyListBucketOnArchive", 
     "Action": ["s3:ListBucket"], 
     "Effect": "Deny", 
     "Resource": ["arn:aws:s3:::*"], 
     "Condition":{ 
      "StringLike":{"s3:prefix":["archive/"]} 
     } 
    } 
    ] 
} 
+0

這是一個IAM用戶策略或一組策略或水桶政策?您是否試圖限制自己訪問您擁有的部分存儲空間? –

+0

這是一項組策略。我想排除列出子文件夾的一組用戶 – Vame

回答

2

IAM策略中的ListBucket操作適用於存儲桶級別。您無法將其授予存儲分區的子集。

這聽起來像你的目標是從文件列表中排除文件,而不是限制對用戶的訪問。不幸的是,S3 api不允許你指定要排除的前綴。但是,您可以使用API​​的定界符選項來獲取所有頂級路徑的頂級列表,然後使用前綴和標記參數跟蹤調用,以僅列出您感興趣的路徑。

更多細節在: http://docs.aws.amazon.com/AmazonS3/latest/API/SOAPListBucket.html

+0

是的,這是我迄今爲止所做的,我認爲如果我消除了某些列表請求會很好。 – Vame

相關問題