[英]S3 - Anonymous Upload - Key prefix
我試圖准確理解如何設置一個通常是私有的存儲桶,但允許匿名上傳有限制。 具體標准是:
我的問題是:
到期時間似乎可以通過S3 Management Console設置,但最短到期時間限制為1天。 我可以在該字段中輸入小數嗎? 權限似乎適用於整個存儲桶而不僅僅是前綴。 這讓我覺得我只需要兩個水桶。 如果我保留一個存儲桶,我認為我需要創建一個IAM策略並將其應用到存儲桶中,但這超出了我對S3的有限知識,我想確保我不會在允許人們做的權限中留下漏洞比我想要他們更多。
我已經找到很多關於通過HTTP表單帖子匿名上傳到S3的文檔。 我可以將其改編成代碼,但我想知道,因為我在應用程序代碼(而不是HTTP表單帖子)是否有更簡單的方法?
您描述的內容可以在一個桶中實現。 您可以通過存儲桶策略允許匿名訪問特定文件夾,檢查示例或使用AWS Policy Generator 。 在你的情況下,它可能看起來像這樣:
{
"Version": "2008-10-17",
"Id": "Policy1346097257207",
"Statement": [
{
"Sid": "Allow anonymous upload to /incoming",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::[your_bucket]/incoming/*"
}
]
}
也可以使用簡單的html表單匿名上傳文件到您的存儲桶:
<form action="http://[your_bucket].s3.amazonaws.com/" method="post" enctype="multipart/form-data">
<input type="hidden" name="acl" value="public-read" />
Name: <input type="text" name="key" value="incoming/[filename]" /><br/>
File: <input type="file" name="file" /> <br />
<input type="submit" name="submit" value="Upload" />
</form>
這里詳細描述基於S3瀏覽器的上傳。
我最近花了一些時間來弄清楚匿名上傳到S3的來龍去脈,並且也遇到了這個問題。 我在一段時間內寫了一篇關於ME的解決方案:
https://gist.github.com/jareware/d7a817a08e9eae51a7ea
基本上你可以實現你想要的,除了經過驗證的管理請求不起作用(或者至少我不知道解決方案)。
我知道這是一個較舊的問題,但只是在這里記錄它,以防它幫助其他人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.