IAM 中的暫時安全憑證 - AWS Identity and Access Management

IAM 中的暫時安全憑證

您可以使用 AWS Security Token Service (AWS STS) 來建立並提供信任的使用者暫時安全憑證,控制對於 AWS 資源的存取。暫時性安全憑證的作用幾乎與您的 IAM 使用者可以使用的長期存取金鑰憑證完全相同,而其差異如下:

  • 暫時安全憑證是「短期」的,如其名稱所暗示。其可設定為在任何地方持續幾分鐘到幾小時不等。在憑證到期後,AWS 不再辨識它們,或允許從 API 請求對其進行的任何類型的存取。

  • 暫時性安全憑證不會與使用者一起儲存,但會動態產生並在請求時提供給使用者。當暫時性安全憑證到期時 (或者即使在此之前),使用者可以請求新的憑證,只要使用者的請求仍具有可這麼做的許可。

這些差異會為使用暫時性憑證帶來以下好處:

  • 您不必隨應用程式散發或內嵌長期 AWS 安全憑證。

  • 您可以提供 AWS 資源存取給使用者,而不必為其定義 AWS 身分。暫時憑證是角色和聯合身分的基礎。

  • 暫時性安全憑證的存留期有限,因此當不再需要時,您不需要輪換它們或明確予以撤銷。暫時性安全憑證到期之後,就無法重複使用。您可以指定憑證的有效期,達到最長限制。

AWS STS 和 AWS 區域

AWS STS 所產生暫時性安全憑證。根據預設,AWS STS 是具有位於 https://sts.amazonaws.com 單一端點的全域服務。不過,您也可以選擇對任何支援的區域的端點發出 AWS STS API 呼叫。這可透過從地理位置較靠近您的區域的伺服器傳送請求,來降低延遲發生機率 (伺服器延遲)。無論您的憑證來自哪個區域,都能全域使用。如需詳細資訊,請參閱 在 AWS STS 區域中管理 AWS

暫時性憑證的常見案例

暫時性憑證在涉及聯合身分、委派、跨帳戶存取和 IAM 角色的案例中非常有用。

聯合身分

您可以管理 AWS 以外的外部系統中的使用者身分,以及授予從那些系統登入的使用者存取權,以執行 AWS 任務和存取您的 AWS 資源。IAM 支援兩種類型的聯合身分。在這兩種情況下,身分均儲存在 AWS 以外。差別是外部系統所在地點是您的資料中心或外部第三方的 Web 上。如需有關外部身分提供者的詳細資訊,請參閱 身分提供者與聯合

  • 企業聯合身分 – 您可以驗證您組織網路中的使用者,然後提供那些使用者 AWS 的存取權,而無需為其建立新的 AWS 身分並要求他們使用單獨的使用者名稱和密碼登入。這又稱為以「單一登入」(SSO) 進行暫時存取的方式。AWS STS 支援開放標準 (例如安全聲明標記語言 (SAML) 2.0),讓您可以搭配 Microsoft AD FS 使用它來利用您的 Microsoft Active Directory。您也可以使用 SAML 2.0 來管理您自己的聯合使用者身分的解決方案。如需詳細資訊,請參閱 關於以 SAML 2.0 為基礎的聯合身分

  • Web 聯合身分 – 您可以讓使用者使用知名第三方身分提供者 (例如,Login with Amazon、Facebook、Google 或任何與 OpenID Connect (OIDC) 2.0 相容的提供者) 登入。您可以從該提供者交換暫時性許可的憑證,以使用您 AWS 帳戶中的資源。這就是所謂暫時存取的「Web 聯合身分」方法。當您使用您的手機或 Web 應用程式適用的 Web 聯合身分時,您不需要建立自訂登入代碼或管理您自己的使用者身分。使用 Web 聯合身分可協助確保您 AWS 帳戶的安全,因為您不必針對您的應用程式發佈長期安全憑證,例如 IAM 使用者存取金鑰。如需詳細資訊,請參閱 關於 Web 聯合身分

    AWS STS Web 聯合身分支援 Login with Amazon、Facebook、Google 和任何與 OpenID Connect (OIDC) 相容的身分提供者。

    注意

    對於行動應用程式,我們建議您使用 Amazon Cognito。您可以使用此服務與 AWS Mobile SDK for iOSAWS Mobile SDK for Android and Fire OS,來為使用者建立唯一的身分並驗證它們以安全存取您的 AWS 資源。Amazon Cognito 支援與 AWS STS 相同的身分提供者,也支援未經驗證的 (訪客) 存取並可讓您在使用者登入時遷移使用者資料。Amazon Cognito 還提供 API 操作以同步使用者資料,如此可在使用者於不同裝置之間移動時進行保留。如需詳細資訊,請參閱下列內容:

跨帳戶存取的角色

許多組織維護多個 AWS 帳戶。您可以使用角色和跨帳戶存取,來定義一個帳戶中的使用者身分,並使用那些身分來存取屬於您組織的其他帳戶中的 AWS 資源。這就是所謂暫時存取的「委派」方法。如需有關建立跨帳戶角色的詳細資訊,請參閱 建立角色以委派許可給 IAM 使用者。若要了解在您信任區域 (受信任組織或帳戶) 外帳戶中的委託人是否具有擔任您角色的許可,請參閱什麼是 IAM Access Analyzer?

Amazon EC2 的角色

如果您在 Amazon EC2 執行個體上執行應用程式,並且那些應用程式需要存取 AWS 資源,則您可以在您啟動它們時提供暫時安全憑證。這些暫時性安全憑證可供在執行個體上執行的所有應用程式使用,因此您不需要在執行個體上儲存任何長期憑證。如需詳細資訊,請參閱 使用 IAM 角色為在 Amazon EC2 執行個體上執行的應用程式授予許可

其他 AWS 服務

您可以使用暫時性安全性憑證來存取大多數的 AWS 服務。如需接受暫時性安全性憑證的服務的清單,請參閱可搭配 IAM 運作的AWS服務