本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 適用於 Java 的 AWS SDK 2.x
本節提供如何設定開發環境和專案以使用 的相關資訊 AWS SDK for Java 2.x。
設定概觀
若要成功開發 AWS 服務 使用 存取的應用程式 適用於 Java 的 AWS SDK,需要下列條件:
-
Java 開發套件必須能夠存取登入資料,以代表您驗證請求。
-
為 SDK 設定的 IAM 角色許可必須允許存取 AWS 服務 您的應用程式所需的 。與 PowerUserAccess AWS 受管政策相關聯的許可足以滿足大多數開發需求。
-
具有下列元素的開發環境:
-
至少以下列其中一種方式設定的共用組態檔案:
-
config
檔案包含 IAM Identity Center 單一登入設定,以便 SDK 可以取得 AWS 登入資料。 -
credentials
檔案包含臨時登入資料。
-
-
安裝 Java 8 或更新版本。
-
使用程式碼的文字編輯器。
-
(選用,但建議使用) IDE (整合開發環境),例如 IntelliJ IDEA
、Eclipse 或 NetBeans 。 使用 IDE 時,您也可以整合 AWS 工具組以更輕鬆地使用 AWS 服務。AWS Toolkit for IntelliJ 和 AWS Toolkit for Eclipse是兩個工具組,可用於 Java 開發。
-
-
當您準備好執行應用程式時,作用中的 AWS 存取入口網站工作階段。您可以使用 AWS Command Line Interface 啟動 IAM Identity Center 存取入口網站的登入程序。 AWS
重要
此設定區段中的指示假設您或組織使用 IAM Identity Center。如果您的組織使用獨立於 IAM Identity Center 運作的外部身分提供者,請了解如何取得適用於 Java 的 SDK 使用的臨時憑證。請依照這些指示,將臨時登入資料新增至 ~/.aws/credentials
檔案。
如果您的身分提供者自動將臨時登入資料新增至~/.aws/credentials
檔案,請確定設定檔名稱為 ,[default]
如此您就不需要提供設定檔名稱給 SDK 或 AWS CLI。
設定身分驗證
AWS SDKs 和工具參考指南中的身分驗證和存取主題描述了要進行身分驗證的不同選項。建議您依照指示設定 IAM Identity Center 的存取權,以便 SDK 可以取得登入資料。遵循指示後,系統會設定 以允許 SDK 驗證請求。
設定 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。
使用 登入 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 的資訊。
安裝 Java 和建置工具
您的開發環境需要下列項目:
-
Java 8 或更新版本。 適用於 Java 的 AWS SDK 適用於 Oracle Java SE 開發套件
和 Open Java 開發套件 (OpenJDK) 的發行版本,例如 Amazon Corretto 、Red Hat OpenJDK 和 Adoptium 。 -
支援 Maven Central 的建置工具或 IDE,例如 Apache Maven、Gradle 或 IntelliJ。
-
如需如何安裝和使用 Maven 的詳細資訊,請參閱 https://https://maven.apache.org/
。 -
如需如何安裝和使用 Gradle 的資訊,請參閱 https://gradle.org/
://。 -
如需如何安裝和使用 IntelliJ IDEA 的資訊,請參閱 https://https://www.jetbrains.com/idea/
。
-
其他身分驗證選項
如需 SDK 身分驗證的更多選項,例如使用設定檔和環境變數,請參閱《 AWS SDKs和工具參考指南》中的組態章節。