本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS 使用 透過 驗證 AWS SDK for Java 2.x
使用 時 AWS SDK for Java 2.x,有關身分驗證的重要須知是開發套件會自動使用來自您環境或 IAM 角色的憑證處理複雜的請求簽署程序,而不需要您實作任何密碼編譯演算法。
SDK 會管理登入資料探索、簽章建立和登入資料,完全在幕後重新整理,讓您專注於應用程式邏輯。
設定身分驗證
AWS SDKs和工具參考指南中的身分驗證和存取主題說明不同的身分驗證方法。我們建議您依照指示來設定 IAM Identity Center 的存取權,以便 SDK 可以取得登入資料。
遵循 AWS SDKs和工具參考指南的指示後,您的系統應設定為允許 SDK 簽署請求:
1. 設定 SDK 的單一登入存取
在程式設計存取區段中完成步驟 2 後,開發套件可以使用 IAM Identity Center 身分驗證,您的系統應該包含下列元素。
-
在執行應用程式之前 AWS CLI,您用來啟動AWS 存取入口網站工作階段的 。
-
包含預設設定檔
~/.aws/config
的檔案。適用於 Java 的 SDK 使用設定檔的 SSO 字符提供者組態,在傳送請求至 之前取得憑證 AWS。該sso_role_name
值是連接到 IAM Identity Center 許可集合的 IAM 角色,應該允許存取應用程式中使用的 AWS 服務 。下列範例
config
檔案顯示使用 SSO 字符提供者組態設定的預設設定檔。設定檔的sso_session
設定是指已命名的sso-session
區段。此sso-session
區段包含用來啟動 AWS 存取入口網站工作階段的設定。[default] sso_session = my-sso sso_account_id =
111122223333
sso_role_name =SampleRole
region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url =https://provided-domain.awsapps.com/start
sso_registration_scopes = sso:account:access
如需 SSO 權杖提供者組態中使用的設定詳細資訊,請參閱 AWS SDKs和工具參考指南中的 SSO 權杖提供者組態。
如果您的開發環境未如先前所示設定程式設計存取,請遵循 SDKs參考指南中的步驟 2。
2. 使用 登入 AWS CLI
在執行存取的應用程式之前 AWS 服務,您需要作用中的 AWS 存取入口網站工作階段,開發套件才能使用 IAM Identity Center 身分驗證來解析登入資料。在 中執行下列命令 AWS CLI ,以登入 AWS 存取入口網站。
aws sso login
由於您有預設的設定檔設定,因此您不需要使用 --profile
選項呼叫指令。如果您的 SSO 權杖提供者組態使用已命名的設定檔,則命令為 aws sso login --profile
。named-profile
若要測試您是否已有作用中的工作階段,請執行下列 AWS CLI 命令。
aws sts get-caller-identity
對此命令的回應,應報告共用 config
檔案中設定的 IAM Identity Center 帳戶和許可集合。
注意
如果您已有作用中的 AWS 存取入口網站工作階段並執行 aws sso login
,則不需要提供登入資料。
不過,您會看到一個對話方塊,請求 botocore
存取您資訊的許可。 botocore
是 的基礎 AWS CLI 。
選取允許以授權存取適用於 Java 的 AWS CLI 和 開發套件的資訊。
其他身分驗證選項
如需 SDK 身分驗證的更多選項,例如使用設定檔和環境變數,請參閱《 AWS SDKs和工具參考指南》中的組態章節。