AWS 使用 透過 驗證 AWS SDK for Java 2.x - AWS SDK for Java 2.x

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

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和工具參考指南》中的組態章節。