0
我有一個Amazon S3 Bucket,其中包含一個文件夾。我的要求是許多IAM用戶通過管理控制檯將文件上傳到該文件夾。但是,用戶不能看到/下載其他IAM用戶上傳的文件。如何阻止其他用戶查看上傳到Amazon S3的文件
創建不同的文件夾,寫作IAM策略來訪問桶和前綴的文件夾名稱是好的,但我們不希望像我們有大約100名用戶將要上傳的文件。
我有一個Amazon S3 Bucket,其中包含一個文件夾。我的要求是許多IAM用戶通過管理控制檯將文件上傳到該文件夾。但是,用戶不能看到/下載其他IAM用戶上傳的文件。如何阻止其他用戶查看上傳到Amazon S3的文件
創建不同的文件夾,寫作IAM策略來訪問桶和前綴的文件夾名稱是好的,但我們不希望像我們有大約100名用戶將要上傳的文件。
桶政策+ 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}
變量,你可以有這一政策適用於所有用戶。只要讓他們把自己的文件放在一個文件夾中,並在名稱中使用自己的用戶名。