SEC02-BP02 使用臨時憑證 - 安全支柱

SEC02-BP02 使用臨時憑證

當進行任何類型的驗證時,最好是使用臨時憑證,而不是長期憑證,以降低或消除風險,例如憑證遭到意外洩露、共用或遭竊。

預期成果:為了降低長期憑證的風險,對於人員和機器身分,請盡可能使用臨時憑證。長期憑證會產生許多風險,例如,可能在程式碼中將它們上傳至公有 GitHub 儲存庫。透過使用臨時憑證,您可大幅降低憑證遭到入侵的可能性。

常見的反模式:

  • 開發人員使用取自 IAM users 的長期存取金鑰,而不是使用聯合從 CLI 取得臨時憑證。

  • 開發人員將長期存取金鑰內嵌在程式碼中,並將該程式碼上傳到公有 Git 儲存庫。

  • 開發人員將長期存取金鑰內嵌在行動應用程式中,之後在應用程式商店中提供該行動應用程式。

  • 使用者與其他使用者共用長期存取金鑰,或是擁有長期存取金鑰的離職員工仍持有金鑰。

  • 對機器身分可以使用臨時憑證時,卻使用長期存取金鑰。

未建立此最佳實務時的風險暴露等級:

實作指引

對所有 AWS API 和 CLI 請求使用臨時安全憑證,而不是長期憑證。幾乎在任何情況下,對 AWS 服務的 API 和 CLI 請求都必須使用 AWS 存取金鑰簽署。您可以使用臨時或長期憑證簽署這些請求。您唯一應該使用長期憑證 (又稱為長期存取金鑰) 的時候是在使用 IAM 使用者AWS 帳戶 根使用者時。當您聯合至 AWS 或透過其他方法擔任 IAM 角色時,系統會產生臨時憑證。每當您使用登入憑證存取 AWS Management Console 時,系統會為您產生臨時憑證以呼叫 AWS 服務。在幾種情況下,您將需要長期憑證,並能夠使用臨時憑證完成幾乎所有任務。

避免使用長期憑證而改用臨時憑證,同時實行減少使用 IAM 使用者並支持聯合和 IAM 角色的策略。雖然對人類和機器身分過去以來都是使用 IAM 使用者,我們現在建議不要使用它們以避免使用長期存取金鑰的風險。

實作步驟

對於人類身分,例如員工、管理員、開發人員、操作員和客戶:

對於機器身分,您可能需要使用長期憑證。在這些情況下,您應該要求工作負載使用臨時憑證,並以 IAM 角色存取 AWS

有些情況無法使用臨時憑證,而您可能需要使用長期憑證。在這些情況下,定期稽核和輪換憑證針對需要長期憑證的使用案例定期輪換存取金鑰。有些可能需要長期憑證的例子包括 WordPress 外掛程式和第三方 AWS 用戶端。在您必須使用長期憑證的情況下,或是對於 AWS 存取金鑰以外的憑證,例如資料庫登入,您可以使用專為管理機密而設計的服務,例如 AWS Secrets Manager。Secrets Manager 方便您使用支援的服務管理、輪換和安全地儲存加密的機密。如需有關輪換長期憑證的詳細資訊,請參閱輪換存取金鑰

資源

相關的最佳實務:

相關文件:

相關影片: