0
我有一個S3桶這一政策:無法訪問匿名上傳S3對象時驗證
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/*"
},
{
"Sid": "",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::my-bucket"
}
]
}
上傳和刪除對象從任何Web客戶端無需任何身份驗證例如工作捲曲。
但是如果我認證爲IAM用戶(沒有任何政策甚至AmazonS3ReadOnlyAccess
政策),我試圖訪問(GET
)時得到的403錯誤的對象上傳匿名。訪問其他上傳的對象非匿名(例如通過S3控制檯)可以被訪問。發生什麼事?
要回顧一下:
- 匿名用戶:
- 可以上傳文件到水桶
- 可自行下載從桶中上傳文件或任何其它用戶
- 經過認證的IAM用戶:
- 可以上傳文件到水桶
- 可自行下載從桶中上傳文件
- 不能下載匿名用戶上傳的文件
PS:根據IAM策略模擬器,匿名上傳的文件應該可以由IAM用戶下載。
+1找到解決方案。我懷疑'*'不限於唯一的匿名用戶,但實際上我或其他人也可以*用我的憑證上傳到您的存儲桶,然後我將擁有該對象。如果我沒有給你閱讀權限,那麼你不能 - 你所能做的就是刪除它,因爲我擁有這個對象,但你擁有這個桶。允許匿名上傳到S3的好例子並不多。 –
其實我很確定,即使在存儲桶上允許匿名上傳,如果通過身份驗證,您也無法上傳。因爲只允許匿名用戶。這當然是下載時發生的事情。 – Pol