本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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_region
和 sso_start_url
必須在 sso-session
區段內設定。一般而言,sso_account_id
且sso_role_name
必須在profile
區段中設定,以便 SDK 可以要求 AWS 認證。
注意
有關 SDK 和工具如何使用此配置使用和刷新憑據的深入研究,請參閱瞭解 IAM 身分中心身分驗證。
下列範例會將 SDK 設定為要求 IAM 身分中心登入資料。它還支持自動令牌刷新。
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-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-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
sso_registration_scopes =sso:account:access
sso_account_id
並sso_role_name
不是 SSO 令牌配置的所有場景都是必需的。如果您的應用程式只 AWS 服務 使用支援承載驗證,則不需要傳統 AWS 認證。承載身分驗證是一種 HTTP 身分驗證結構描述,使用稱為承載字符的安全字符。在這種情況下,sso_account_id
和 sso_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_id
和sso_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
-共享 AWSconfig
文件設置-
指向組織的 IAM 身分中心存取入口網站的 URL。如需 IAM 身分中心存取入口網站的詳細資訊,請參閱使用AWS IAM Identity Center 者指南中的使用 AWS 存取入口網站。
若要尋找此值,請開啟 IAM 身分中心主控台
、檢視儀表板,並尋找AWS 存取入口網站 URL。 sso_region
-共享 AWSconfig
文件設置-
包含您的 AWS 區域 IAM 身分中心入口網站主機;也就是您在啟用 IAM 身分中心之前選取的區域。這與您的預設 AWS 區域無關,而且可以是不同的。
如需完整清單 AWS 區域 及其代碼,請參閱 Amazon Web Services 一般參考. 若要尋找此值,請開啟 IAM 身分中心主控台
、檢視儀表板,然後尋找 [區域]。 sso_account_id
-共享 AWSconfig
文件設置-
透過 AWS Organizations 服務新增以用於驗證的數值 ID。 AWS 帳戶
若要查看可用帳戶的清單,請前往 IAM 身分中心主控台
並開啟AWS 帳戶頁面。您也可以在AWS IAM Identity Center 入口網站 API 參考資料中查看使用 ListAccountsAPI 方法的可用帳戶清單。例如,您可以調用 AWS CLI 方法列表帳 戶。 sso_role_name
-共享 AWSconfig
文件設置-
佈建為 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
-共享 AWSconfig
文件設置-
要授權的有效範圍字串的逗號分隔清單。
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 | 是 |