瞭解 IAM 身分中心身分驗證 - AWS SDKs 和 工具

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

瞭解 IAM 身分中心身分驗證

IAM 身分中心的相關條款

以下術語可幫助您了解背後的過程和配置AWS IAM Identity Center。針對部分驗證概念,AWSSDK API 的說明文件會使用與 IAM 身分中心不同的名稱。知道這兩個名稱很有幫助。

下表顯示替代名稱彼此之間的關係。

IAM 身分識別中心名稱 開發套件 API 名稱 描述
識別中心 sso 雖然「AWS單一登入」已重新命名,但 sso API 命名空間仍會保留其原始名稱,以提供回溯相容性。如需詳細資訊,請參閱AWS IAM Identity Center使用指南中的 IAM 身分中心重新命名

IAM 身分中心主控台

管理主控台

用來設定單一登入的主控台。
AWS存取入口網站 URL IAM 身分中心帳戶專屬的 URL,例如https://xxx.awsapps.com/start。您可以使用 IAM 身分中心登入認證登入此入口網站。
IAM 身分中心存取入口網站會話 驗證會話 提供承載訪問令牌給調用者。
權限集工作階段 SDK 在內部用來AWS 服務撥打呼叫的 IAM 工作階段。在非正式討論中,您可能會看到這個錯誤地稱為「角色工作階段」。
權限集認證

AWS 登入資料

簽署 4 認證

SDK 實際用於大多數AWS 服務呼叫的憑據(特別是所有 sigv4 AWS 服務 調用)。在非正式討論中,您可能會看到錯誤地稱為「角色認證」。
IAM 身分中心憑證提供者 SSO 認證提供者 如何取得認證,例如提供功能的類別或模組。

瞭解的 SDK 認證解決方案 AWS 服務

IAM 身分中心 API 會將承載權杖登入資料交換為 sigv4 登入資料。大多數AWS 服務是 sigv4 API,有一些例外情況,如Amazon CodeWhisperer和Amazon CodeCatalyst. 以下說明透過支援大部分應用程式程式碼AWS 服務呼叫的認證解析程序AWS IAM Identity Center。

啟動 AWS 存取入口網站工作階段

  • 透過使用您的認證登入工作階段來啟動程序。

    • 使用 AWS Command Line Interface (AWS CLI) 中的aws sso login指令。如果您還沒有使用中的工作階段,這會啟動新的 IAM 身分中心工作階段。

  • 當您開始新的工作階段時,您會收到來自 IAM 身分中心的重新整理權杖和存取權杖。AWS CLI還使用新的訪問令牌和刷新令牌更新 SSO 緩存 JSON 文件,並使其可供 SDK 使用。

  • 如果您已經有作用中的工作階段,AWS CLI命令會重複使用現有的工作階段,並在現有工作階段到期時過期。若要瞭解如何設定 IAM 身分中心工作階段的長度,請參閱AWS IAM Identity Center使用者指南中的設定使用者AWS存取入口網站工作階段的持續時間

    • 工作階段長度上限已延長至 90 天,以減少頻繁登入的需求。

SDK 如何取得AWS 服務呼叫憑證

SDK 可在每個服務實例化客戶端對象AWS 服務時提供訪問權限。當選取的共用AWSconfig檔案設定為 IAM 身分中心登入資料解析時,IAM 身分中心就會用來解析應用程式的登入資料。

若要使用 IAM 身分中心單一登入擷取 sigv4 API 的登入資料,SDK 會使用 IAM 身分中心存取權杖取得 IAM 工作階段。此 IAM 工作階段稱為權限集工作階段,透過假設 IAM 角色來提供對 SDK 的AWS存取權。

  • 權限集工作階段持續時間是獨立於 IAM 身分中心工作階段持續時間設定。

  • 請注意,在大多數 AWS SDK API 文件中,權限集AWS認證也稱為認證和 sigv4 認證

權限集登入資料會從呼叫 IAM 身分中心 API 傳回至 SDK。getRoleCredentialsSDK 的用戶端物件會使用假設 IAM 角色來呼叫AWS 服務,例如要求 Amazon S3 列出您帳戶中的儲存貯體。用戶端物件可以繼續使用這些權限集認證操作,直到權限集工作階段到期為止。

工作階段到期和重新

使用時SSO 權杖提供者組態,會使用重新整理權杖自動重新整理從 IAM 身分中心取得的每小時存取權杖。

  • 如果 SDK 嘗試使用它時訪問令牌已過期,則 SDK 將使用刷新令牌嘗試獲取新的訪問令牌。IAM 身分中心會比較重新整理權杖與您的 IAM 身分中心存取入口網站工作階段持續時間。如果重新整理權杖尚未過期,IAM 身分中心會以另一個存取權杖進行回應。

  • 此存取權杖可用來重新整理現有用戶端的權限集工作階段,或解析新用戶端的認證。

不過,如果 IAM 身分中心存取入口網站工作階段已過期,則不會授與新的存取權杖。因此,無法更新權限集持續時間。只要現有用戶端的快取權限設定工作階段長度逾時,它就會過期 (而且存取將會遺失)。

任何建立新用戶端的程式碼都會在 IAM 身分中心工作階段到期後立即失敗驗證。這是因為不會快取權限集認證。在您擁有有效的訪問令牌之前,您的代碼將無法創建新的客戶端並完成憑據解析過程。

重述一下,當 SDK 需要新的權限集認證時,SDK 會先檢查是否有任何有效的現有認證,並使用這些認證。無論認證是用於新用戶端還是具有過期認證的現有用戶端,都適用此選項。如果找不到認證或無效,則 SDK 會呼叫 IAM 身分中心 API 以取得新的登入資料。要調用 API,它需要訪問令牌。如果存取權杖已過期,SDK 會使用重新整理權杖嘗試從 IAM 身分中心服務取得新的存取權杖。如果您的 IAM 身分中心存取入口網站工作階段尚未過期,則會授與此權杖。