[英]Amazon S3 - Accessing Presigned URLs
我已經生成了一個預簽名的s3網址。 嘗試從JS代碼訪問它時,出現錯誤“請求的資源上沒有'Access-Control-Allow-Origin'標頭”,並且我的存儲桶配置是
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
基於我在網上發現的一些資源,例如-CORS。 預設網址。 S3等我將cors配置更改為
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
它起作用了,我能夠通過js代碼訪問該網址。 但是,我試圖了解將此標簽從“授權”更改為*是否有任何安全隱患。
請告訴我。
這將取決於您計划如何使用預簽名的URL。
如果Web應用程序/服務器將使用它臨時訪問s3資源,則應該將CORS AllowedOrigin
限制為將請求資源的應用程序的域。 通常,此CORS配置( Access-Control-Allow-Origin
)具有最大的安全影響。 看到這個或這個 。
您可以使用通配符或特定域來限制它:
<AllowedOrigin>https://*.mydomain.s3.amazonaws.com</AllowedOrigin>
如果將由多個客戶端(即最終用戶Web瀏覽器)請求,則除了設置<AllowedOrigin>*<AllowedOrigin>
,因此這不是推薦的方法。
如果將訪問權限限制為僅允許信任的域,則將AllowedHeaders
設置為*
的安全隱患很小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.