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

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

IAM 中的暫時安全憑證

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

  • 暫時安全憑證是「短期」的,如其名稱所暗示。其可設定為在任何地方持續幾分鐘到幾小時不等。憑據過期後, 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 上。如需有關外部身分提供者的詳細資訊,請參閱 身分提供者與聯合

  • SAML 聯盟 — 您可以驗證組織網路中的使用者,然後為這些使用者提供存取權, AWS 而無需為他們建立新的 AWS 身分,也可以要求他們使用不同的登入認證登入。這稱為暫時存取的單一登入方法。 AWS STS 支持開放標準,如安全斷言標記語言(SAML)2.0,您可以使用 Microsoft AD FS 來利用您的 Microsoft 活動目錄。您也可以使用 SAML 2.0 來管理您自己的聯合使用者身分的解決方案。如需詳細資訊,請參閱 SAML 2.0 聯合身分

    • 自訂同盟代理人 — 您可以使用組織的驗證系統來授與 AWS 資源的存取權。如需範例案例,請參閱啟用自訂身分識別代理存取主 AWS 控台

    • 使用 SAML 2.0 的聯合 – 您可以使用您組織的身分驗證系統和 SAML,來授予 AWS 資源的存取。如需詳細資訊和範例案例,請參閱 SAML 2.0 聯合身分

  • OpenID Connect(OIDC)聯盟 — 您可以讓用戶使用知名的第三方身份提供商登錄,例如使用亞馬遜,Facebook,Google 或任何與您的移動或 Web 應用程序的 OIDC 2.0 兼容提供商進行登錄,您無需創建自定義登錄代碼或管理自己的用戶身份。使用 OIDC 聯盟可協助您 AWS 帳戶 確保安全,因為您不需要將長期安全登入資料 (例如 IAM 使用者存取金鑰) 與應用程式散發。如需詳細資訊,請參閱 OIDC 聯盟

    AWS STS OIDC 聯盟支援使用亞馬遜、臉書、谷歌和任何與 OpenID Connect (OIDC) 相容的身分供應商登入。

    注意

    對於行動應用程式,我們建議您使用 Amazon Cognito。您可以將此服務與用於行動開發的 AWS SDK 搭配使用,為使用者建立唯一身分,並對其進行驗證,以便安全存取您的 AWS 資源。Amazon Cognito 支援與相同的身分供應商 AWS STS,並且還支援未驗證 (訪客) 存取,並可讓您在使用者登入時遷移使用者資料。Amazon Cognito 還提供 API 操作以同步使用者資料,如此可在使用者於不同裝置之間移動時進行保留。如需詳細資訊,請參閱 Amplify 文件 中的 Amplify 身分驗證

跨帳戶存取的角色

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

Amazon EC2 的角色

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

其他 AWS 服務

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