我試圖設置2100年的到期日期,但它說它是無效的。 或者是否有可能以某種方式使它永久存在?amazon s3生成鏈接的最長過期時間是多少?
1
A
回答
6
對於使用S3簽名版本2簽名的URL,時間限制似乎是2038年Unix紀元的結束時間,但簽名版本4的限制時間爲7天,因爲V4中的簽名密鑰本身具有最高有效期爲7天。
如果您不熟悉V2和V4之間的差異,區分它們的一個簡單方法是V2 URL包括&Expires=
,而V4 URL使用&X-Amz-Expires=
。
但是,重要的是,如果您停用用於簽署URL的IAM用戶憑證(訪問密鑰/祕密),那麼您應該在某個時間點計劃執行的操作,使用任一算法的簽名立即失效,因爲憑據的輪換被認爲是最佳做法(或者,如果不是這樣,那麼因爲您的憑證可能有一天會受到損害,或者被懷疑已經被入侵)。
因此,S3對象的簽名URL不應被視爲永久性的。
如果不希望公開對象,那麼下一個最好的方法是針對您的應用程序(或您控制的任何類型的HTTP端點)來驗證用戶下載對象的權限(可能基於您的應用程序的Cookie) ,然後生成一個短期簽名的URL並返回重定向。瀏覽器應該立即跟蹤它並獲取對象,但不緩存重定向,因爲您已經指出原始URL應該用於後續請求,並且響應代碼爲302
。
從你的應用程序中的HTTP響應就會是這個樣子的顯着標題:
HTTP/1.1 302 Found
Location: https://...generated-signed-url-here...
相關問題
- 1. 下載期間Amazon S3鏈接到期?
- 2. 你最長時間修復一個bug的時間是多少?
- 3. 帶有較長期限的S3鏈接
- 4. 多項式時間最長的正則表達式是多少?
- 5. Amazon S3圖片過期
- 6. 爲Amazon S3生成最大內容長度的預簽名PUT url
- 7. 最大長度是多少?
- 8. 軌道載波鏈接生成不同於S3存儲鏈接
- 9. Amazon S3是否需要時間更新CORS設置?多久?
- 10. Angular的支持期不是長期支持多長時間?
- 11. 使用Python生成Amazon S3 CORS簽名
- 12. 從Golang REST API生成Amazon S3令牌
- 13. firebase遠程配置的最小緩存過期時間是多少?
- 14. 使用PlUpload和過期將文件上傳到亞馬遜Amazon S3鏈接
- 15. 使用鏈接時間碼生成時,VC++ 2010是否損壞?
- 16. ENUM值的最大長度是多少?
- 17. ListProperty的最大長度是多少?
- 18. synmemo的最大長度是多少?
- 19. 頁面生成時間需要多長時間PHP
- 20. Amazon S3 - 如何檢查預先登記的URL是否過期?
- 21. DisplayTag生成的排序和分頁鏈接(url)過長
- 22. GIF幀之間最長的延遲是多少?
- 23. Informix列的最大長度是多少?可以增加多少?
- 24. Amazon EC2實例和Amazon S3之間的網絡連接
- 25. 由於主頁上的圖片鏈接過多,網站加載時間過長
- 26. 過程PID的最大可能長度是多少? (64位)
- 27. 鏈接列表中「下一個」指針的慣用生存期是多少?
- 28. 有多少天在給定時間跨度期間已發生
- 29. 連接到Amazon S3服務器時發生間歇性500錯誤
- 30. 默認情況下Amazon S3中的文件通過直接鏈接公開
可公開訪問的文件,可以用簡單的URL'http://s3.amazonaws.com/[bucket]/訪問[鍵]'。所以我認爲你正在談論私人文件,你在那裏簽名了url來訪問文件。 2100年應該在到期時間內罰款。你能分享你的代碼來發現問題嗎? –
Calendar calendar = Calendar.getInstance(); calendar.set(2100,Calendar.JANUARY,1); EXPIRATION_DATE = calendar.getTime(); generatePresignedUrlRequest.setExpiration(EXPIRATION_DATE); – user3000606