一句話:pre-signed URL 是 bearer token,期限就是它的第一道防線——抓「剛好夠用」就好;再用臨時憑證(STS)當雙保險,一到期連沒過期的 URL 也一起作廢。
期限=爆炸半徑。就算 URL 外洩,能被濫用的窗口就這麼長。別為了「省得重簽」而貪長。
別用長期 IAM user 的 key 簽日常 URL,改用臨時憑證(STS)。 臨時憑證有自己的 session 到期時間,一到期,連還沒過 X-Amz-Expires 的 URL 也會一起失效(Level 1 的「第二層檢查」:驗完簽章還要看憑證此刻是否仍有效)。
這給你雙保險:
X-Amz-Expires 簽長了;用臨時憑證還順帶滿足「最小權限」——搭配 Level 1 的天花板性質,你可以發一組「只能做這件小事、且很快過期」的憑證去簽,風險最低。