為什麼 Amazon S3 儲存貯體的預先簽署網址在我指定的到期時間之前就到期了?

1 分的閱讀內容
0

我使用臨時權杖為 Amazon Simple Storage Service (Amazon S3) 儲存貯體建立了一個預先簽署 URL。但是,URL 在我指定的到期時間之前過期了。為什麼會發生這種情況? 如何建立一個有效時間更長的預先簽署網址?

解決方法

如果使用臨時權杖建立預先簽署網址,則該網址會在權杖到期時到期。即使採用較晚的到期時間建立網址,該網址也會到期。

可用來建立預先簽署網址的憑證包括:

  • **AWS Identity and Access Management (IAM) 執行個體設定檔:**有效期最長為 6 小時。
  • **AWS Security Token Service (STS):**由 AWS Identity and Access Management (IAM) 使用者簽署,則有效期最長為 36 小時,由根使用者簽署,則有效期最長為 1 小時。
  • **IAM 使用者:**使用 AWS 第 4 版簽署程序時,有效期最長為 7 天。

若要建立有效期最長為 7 天的預先簽署網址,請將 IAM 使用者憑證 (存取金鑰和私密存取金鑰) 指定給您的 SDK。然後,使用 AWS 第 4 版簽署程序產生預先簽署網址。如需範例,請參閱 AWS 第 4 版簽署程序中的簽章計算

建立預先簽署網址時,請記住以下幾點:

  • 擔任角色的服務 (例如 AWS Lambda 執行角色) 不一定符合角色的工作階段持續時間設定
  • 由於預先簽署網址 會向任何擁有該網址的使用者授予對 Amazon S3 儲存貯體的存取權,因此最佳實務是對它們進行適當保護。
  • 如果使用臨時權杖建立預先簽署網址,則該網址會在權杖到期時到期。即使採用較晚的到期時間建立網址,也是如此。

若要允許使用者存取 Amazon S3 儲存貯體中的物件超過七天,請考慮使用下列其中一個選項:


相關資訊

使用預先簽署網址共用物件

GetSessionToken

從執行個體中繼資料中擷取安全憑證

驗證請求: 使用查詢參數 (AWS 第 4 版簽署程序)

Boto 3 文件: S3

AWS 官方
AWS 官方已更新 2 年前