2017-03-02 28 views
0

我有一個Amazon S3 Bucket,其中包含一個文件夾。我的要求是許多IAM用戶通過管理控制檯將文件上傳到該文件夾​​。但是,用戶不能看到/下載其他IAM用戶上傳的文件。如何阻止其他用戶查看上傳到Amazon S3的文件

創建不同的文件夾,寫作IAM策略來訪問桶和前綴的文件夾名稱是好的,但我們不希望像我們有大約100名用戶將要上傳的文件。

回答

4

桶政策+ IAM政策是唯一的出路。

S3對象不具有內置的用戶關聯(像其他本地文件系統的資料,例如NTFS或ext3/4)。

所以,從另一個區分一個用戶的文件的唯一辦法,是把一個ID在對象的鍵或(也許)的S3對象的標籤。

但是你不能逃避使用存儲桶策略。您可以避免進行智能使用中的羣組政策變量的喜歡寫很多政策:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Action": ["s3:ListBucket"], 
     "Effect": "Allow", 
     "Resource": ["arn:aws:s3:::mybucket"], 
     "Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}} 
    }, 
    { 
     "Action": [ 
     "s3:GetObject", 
     "s3:PutObject" 
     ], 
     "Effect": "Allow", 
     "Resource": ["arn:aws:s3:::mybucket/${aws:username}/*"] 
    } 
    ] 
} 

來源:IAM Policy Variables Overview

通過使用$(aws:username}變量,你可以有這一政策適用於所有用戶。只要讓他們把自己的文件放在一個文件夾中,並在名稱中使用自己的用戶名。

相關問題