View a markdown version of this page

常見問答集 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

常見問答集

是否可以多次使用預先簽章的請求? 這是安全風險嗎?

是,預先簽章請求中的簽章可以多次使用。這是否為安全風險是情境式問題。存取 AWS 服務的其他方法也允許重複。具有 AWS 登入資料的使用者或工作負載可以將許多請求傳送至 AWS 服務,而這些請求中的任何一個都可能是重複的。

如果您的使用案例只需要執行一次,您應該實作其他機制來強制執行單次使用。單次使用不是預先簽章請求的功能。身為安全工程師,您應該檢閱使用案例和實作,但在許多情況下,多次使用將適合可接受的使用。

預期使用者以外的人員是否可以使用預先簽章的請求?

預先簽章請求中的簽章可由擁有該請求的任何人傳送。只有在它通過其他形式的驗證,例如資料周邊控制時,才會接受它。如果簽章已過期、簽署憑證已過期,或簽署憑證無法存取請求的資源,則會拒絕請求。

對於使用 驗證的其他方法也是如此 AWS 服務。不當共用的登入資料允許不當存取。核心最佳實務是僅與預期對象共用登入資料和簽章。如果您無法信任目標對象保護私有資料的安全,也無法與他人共用,這將破壞任何形式的身分驗證。

授權使用者是否可以使用預先簽章的請求來竊取資料?

保護資料需要強大的動作。為預期目的啟用存取,同時維護資料周邊需要全方位的方法。 最低權限存取資料周邊控制,以及僅使用臨時存取登入資料,都是適用於保護資料的一般最佳實務。適當使用這些控制項也會限制使用者透過其產生的預先簽章請求執行動作的能力。

這是因為預先簽章請求提供的存取權是授予登入資料的存取子集,該登入資料用於簽署請求。在這種情況下,適用於存取資料的最佳實務通常適用於預先簽章的請求,但預先簽章的請求不會建立新的資料存取。 

  • 過期上限僅限於簽署憑證的過期。 如果撤銷簽署憑證,根據憑證的簽章將不再有效。

  • 如果與簽署憑證相關聯的 IAM 主體許可不包含執行與預先簽章請求相關聯的動作,則調用預先簽章請求會導致「存取遭拒」回應。 回應取決於調用時的目前許可狀態,這與產生預先簽章請求簽章的時間無關。 

  • 委託人的屬性會根據與簽署憑證相關聯的委託人進行評估。 

  • 角色工作階段的屬性會根據與簽署憑證相關聯的角色工作階段進行評估。

  • 網路的屬性會根據接收請求的方式進行評估,就像一般請求一樣。 

在這種情況下,與預先簽章請求相關的風險檢查僅限於使用與使用者登入資料不同的登入資料進行簽署的區域,並提供不屬於使用者主體的存取。此檢查應套用至服務的設計、工作負載或代表使用者產生簽章的解決方案,而非預先簽章的請求功能本身。

如果我懷疑有人以未經授權的方式共用,是否可以拒絕來自預先簽章 URL 的存取?

是。這需要使 URL 登入的登入資料失效。有多種方法可以完成此操作:

  • 從登入資料所屬的 IAM 主體移除許可。如果該 IAM 主體不再能夠存取 URL 簽署的資源和操作,則 URL 無法執行該操作。這會影響來自該 IAM 主體的所有相符使用。

  • 如果用來簽署 URL 的登入資料是臨時 AWS STS 登入資料,您可以撤銷在 IAM 主體特定時間之前發行的臨時登入資料的工作階段許可。根據使用案例,可能有其他有效的工作階段在正常過期時間之前失效,但新工作階段不會受到影響。撤銷工作階段許可也會使使用與這些工作階段相關聯的登入資料所簽署的任何 URLs 失效,但與新工作階段相關聯的新 URLs 不會受到影響。

  • 如果用來簽署 URL 的登入資料是永久登入資料,請停用存取金鑰。這會影響與這些登入資料相關的所有用量。