IAM 身分中心憑證提供者 - AWS 軟體開發套件和工具

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

IAM 身分中心憑證提供者

此驗證機制會用 AWS IAM Identity Center 來取得程式碼的單一登入 (SSO) 存取權。 AWS 服務

注意

在 AWS SDK API 文件中,IAM 身分中心登入資料提供者稱為 SSO 登入資料提供者。

啟用 IAM 身分中心後,您可以在共用檔案中為其設定定義設定 AWS config檔。此設定檔用於連線至 IAM 身分中心存取入口網站。當使用者成功透過 IAM 身分中心進行驗證時,入口網站會傳回與該使用者關聯之 IAM 角色的短期登入資料。若要瞭解 SDK 如何從設定取得暫時認證,並將其用於 AWS 服務 要求,請參閱瞭解 IAM 身分中心身分驗證

透過檔案設定 IAM 身分中心有兩種方config式:

  • SSO 權杖提供者組態 (建議) — 延長工作階段持續時間。

  • 舊版不可重新整理的組態 — 使用固定的八小時工作階段。

在這兩種設定中,您都需要在工作階段到期時再次登入。

若要設定自訂工作階段持續時間,您必須使用 SSO 權杖提供者組態。

以下兩個指南包含 IAM 身分中心的其他相關資訊:

必要條件

您必須先啟用 IAM 身分中心。如需啟用 IAM 身分中心身分驗證的詳細資訊,請參閱AWS IAM Identity Center 使用者指南中的入門指南

或者,請按照本指南中的IAM Identity Center 驗證說明進行操作。這些指示提供完整的指導,從啟用 IAM 身分中心到完成此處所需的共用config檔案設定。

SSO 權杖提供者組態

注意

若要使用 AWS CLI 建立此組態,請參閱使用中的aws configure sso精靈設定您的設定檔 AWS CLI。

當您使用 SSO 權杖提供者設定時, AWS SDK 或工具會自動重新整理工作階段,直到延長的工作階段期間為止。如需工作階段持續時間和最長持續時間的詳細資訊,請參閱AWS IAM Identity Center 使用指南中的設定 AWS 存取入口網站和 IAM Identity Center 整合應用程式的工作階段持續時間

config文件的sso-session部分用於分組配置變量以獲取 SSO 訪問令牌,然後可以用來獲取 AWS 憑據。如需有關格式化config檔案中區段的更多詳細資訊,請參閱配置文件的格式

定義 sso-session 區段並將其與設定檔相關聯。sso_regionsso_start_url 必須在 sso-session 區段內設定。一般而言,sso_account_idsso_role_name必須在profile區段中設定,以便 SDK 可以要求 AWS 認證。

注意

有關 SDK 和工具如何使用此配置使用和刷新憑據的深入研究,請參閱瞭解 IAM 身分中心身分驗證

下列範例會將 SDK 設定為要求 IAM 身分中心登入資料。它還支持自動令牌刷新。

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

您可以在多個設定檔中重複使用sso-session組態。

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [profile prod] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole2 [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

sso_account_idsso_role_name不是 SSO 令牌配置的所有場景都是必需的。如果您的應用程式只 AWS 服務 使用支援承載驗證,則不需要傳統 AWS 認證。承載身分驗證是一種 HTTP 身分驗證結構描述,使用稱為承載字符的安全字符。在這種情況下,sso_account_idsso_role_name 並非必要資訊。請參閱單獨指南, AWS 服務 以確定它是否支持承載令牌授權。

註冊範圍設定為sso-session. 範圍是限制應OAuth 2.0用程式存取使用者帳戶的機制。應用程序可以請求一個或多個範圍,並且發行給應用程序的訪問令牌僅限於授予的範圍。這些範圍定義為已註冊 OIDC 用戶端和用戶端擷取的存取字符進行授權所需請求的許可。如需支援的存取範圍選項,請參閱《AWS IAM Identity Center 使用指南》中的「存取範圍」。下列範例設定為sso_registration_scopes提供列出帳戶和角色的存取權。

[sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

驗證 Token 會快取至~/.aws/sso/cache目錄下的磁碟,且檔案名稱根據工作階段名稱。

舊版不可重新整理的配置

使用舊版不可重新整理的組態,不支援自動字符重新整理。我們建議您SSO 權杖提供者組態改用。

若要使用舊式的不可重新整理規劃,您必須在設定檔中指定下列設定:

  • sso_start_url

  • sso_region

  • sso_account_id

  • sso_role_name

您可以使用sso_start_url和設定來指定sso_region設定檔的使用者入口網站。您可以使用sso_account_idsso_role_name設定來指定權限。

下列範例會設定config檔案中的四個必要值。

[profile my-sso-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-west-2 sso_account_id = 111122223333 sso_role_name = SSOReadOnlyRole

驗證 Token 會快取至~/.aws/sso/cache目錄下的磁碟,檔案名稱是以sso_start_url.

IAM 身分中心憑證提供者設定

使用下列項目設定此功能:

sso_start_url-共享 AWS config文件設置

指向組織的 IAM 身分中心存取入口網站的 URL。如需 IAM 身分中心存取入口網站的詳細資訊,請參閱使用AWS IAM Identity Center 者指南中的使用 AWS 存取入口網站

若要尋找此值,請開啟 IAM 身分中心主控台、檢視儀表板,並尋找AWS 存取入口網站 URL

sso_region-共享 AWS config文件設置

包含您的 AWS 區域 IAM 身分中心入口網站主機;也就是您在啟用 IAM 身分中心之前選取的區域。這與您的預設 AWS 區域無關,而且可以是不同的。

如需完整清單 AWS 區域 及其代碼,請參閱 Amazon Web Services 一般參考. 若要尋找此值,請開啟 IAM 身分中心主控台、檢視儀表板,然後尋找 [區域]。

sso_account_id-共享 AWS config文件設置

透過 AWS Organizations 服務新增以用於驗證的數值 ID。 AWS 帳戶

若要查看可用帳戶的清單,請前往 IAM 身分中心主控台並開啟AWS 帳戶頁面。您也可以在AWS IAM Identity Center 入口網站 API 參考資料中查看使用 ListAccountsAPI 方法的可用帳戶清單。例如,您可以調用 AWS CLI 方法列表帳戶。

sso_role_name-共享 AWS config文件設置

佈建為 IAM 角色的權限集名稱,可定義使用者產生的許可。角色必須存在於由 AWS 帳戶 指定的中sso_account_id。使用角色名稱,而不是角色 Amazon 資源名稱 (ARN)。

權限集已附加 IAM 政策和自訂許可政策,並定義使用者對其指派的存取層級 AWS 帳戶。

若要查看每個可用權限集的清單 AWS 帳戶,請前往 IAM 身分中心主控台並開啟AWS 帳戶頁面。選擇表格中列出的正確權限集名 AWS 帳戶 稱。您也可以在AWS IAM Identity Center 入口網站 API 參考中查看使用 ListAccountRolesAPI 方法的可用權限集清單。例如,您可以呼叫方 AWS CLI 法list-account-roles

sso_registration_scopes-共享 AWS config文件設置

要授權的有效範圍字串的逗號分隔清單。sso-session範圍授權對 IAM Identity Center 承載字符授權端點的存取。sso:account:access必須授予的最低範圍,才能從 IAM 身分中心服務取回重新整理權杖。如需支援的存取範圍字串,請參閱《AWS IAM Identity Center 使用指南》中的「存取範圍」。此設定不適用於舊版不可重新整理的組態。使用舊配置發行的令牌僅限於sso:account:access隱式範圍。

與 AWS 開發套件的相容性

下列 SDK 支援本主題中描述的功能和設定。注意到任何部分例外情況。和唯一支援任何 JVM 系統屬 AWS SDK for Java 性設 適用於 Kotlin 的 AWS SDK 定。

SDK 支援 備註或更多資訊
AWS CLI v2
SDK for C++
適用於轉到 V2 的開發套件 (1.x)
適用於 Go 1.x 的開發套件 (V1) 若要使用共用config檔案設定,您必須開啟從設定檔載入功能;請參閱工作階段
適用於 Java 2.x 的開發套件 credentials檔案中也支援組態值。
適用於 Java 1.x 的開發套件
適用於 JavaScript 3.x 的開發套
適用於 JavaScript 2.x 的開發套
SDK 的科特林
適用於 .NET 3.x 的開發套
適用於 PHP 3.x 的開發套件
SDK for Python (Boto3)
適用於紅寶石 3.x 的 SDK
適用於鏽蝕的 SDK 部分 僅限舊式不可重新整理的組態。
適用的工具 PowerShell