本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 AWS SDK for Java 2. x
本節提供有關如何設定您的開發環境以及要使用的專案的資訊 AWS SDK for Java 2.x。
設定概觀
若要成功開發使用存取的應 AWS 服務 用程式 AWS SDK for Java,需要下列條件:
-
Java SDK 必須能夠存取認證,才能代表您驗證要求。
-
為 SDK 設定的 IAM 角色權限必須允許存取應用程式所 AWS 服務 需的權限。與PowerUserAccess AWS 受管理策略相關聯的權限足以滿足大多數開發需求。
-
具有下列元素的開發環境:
-
至少使用下列其中一種方式設定的共用組態檔案:
-
該
config
文件包含 IAM 身份中心單一登錄設置,以便 SDK 可以獲取 AWS 憑據。 -
該
credentials
文件包含臨時身份證明。
-
-
使用程式碼的文字編輯器。
-
(可選,但建議使用)IDE(集成開發環境),例如 IntelliJ IDEA
,日食 或 NetBeans . 當您使用 IDE 時,您還可以集成 AWS 工具組 s 以更輕鬆地使用 AWS 服務。AWS Toolkit for IntelliJ和AWS Toolkit for Eclipse是兩個可用於 Java 開發的工具組。
-
-
當您準備好執行應用程式時,會出現作用中的 AWS 存取入口網站工作階 您可以使 AWS Command Line Interface 用啟動 IAM 身分中心 AWS 存取入口網站的登入程序。
重要
本設定區段中的指示假設您或組織使用 IAM 身分中心。如果您的組織使用獨立於 IAM 身分中心運作的外部身分識別提供者,請瞭解如何取得 SDK for Java 的臨時登入資料。請依照下列指示將暫時認證新增至~/.aws/credentials
檔案。
如果您的身分識別提供者會自動將臨時認證新增至~/.aws/credentials
檔案,請確定設定檔名稱為,這[default]
樣您就不需要為 SDK 或提供設定檔名稱 AWS CLI。
設定驗證
AWS SDK 和工具參考指南中的身份驗證和訪問主題描述了要進行身份驗證的不同選項。我們建議您按照說明設定 IAM 身分中心的存取權,以便 SDK 可以取得登入資料。按照說明進行操作後,系統將設置為允許 SDK 驗證請求。
SDK 的單一登入存取設定
完成程式設計存取區段中的步驟 2,讓 SDK 可以使用 IAM 身分中心驗證之後,您的系統應包含下列元素。
-
您可以在 AWS CLI執行應用程式之前啟動AWS 存取入口網站工作階段。
-
包含預設設定
~/.aws/config
檔的檔案。Java 的 SDK 會使用設定檔的 SSO 權杖提供者組態,在傳送要求之前取得認證 AWS。這個sso_role_name
值是連接到 IAM 身分中心權限集的 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 SDK 和工具參考指南中的 SSO 令牌提供者配置。
如果您的開發環境未如先前所示設定以程式設計方式存取,請按照 SDK 參考指南中的步驟 2 進行操作。
使用登入 AWS CLI
在執行存取的應用程式之前 AWS 服務,您需要使用中存 AWS 取入口網站工作階段,SDK 才能使用 IAM 身分中心身分驗證來解析登入資料。在中執行下列命令 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 或更高版本。該 AWS SDK for Java 工作與甲骨文 Java SE 開發工具包
和開放 Java 開發工具包(OpenJDK)Amazon Corretto ,如紅帽 OpenJD K 和卓越的分佈。 -
一個構建工具或 IDE,支持 Maven 的中央,如阿帕奇 Maven 的,搖籃,或 IntelliJ。
-
如需有關如何安裝和使用 Maven 的資訊,請參閱 https://maven.apache.org/
。 -
有關如何安裝和使用搖籃的信息,請參閱 https://gradle.org/
。 -
如需有關如何安裝和使用 IntelliJ 理念的資訊,請參閱 https://www.jetbrains.com/idea/
。
-
其他驗證選項
有關 SDK 驗證的更多選項,例如使用配置文件和環境變量,請參閱 AWS SDK 和工具參考指南中的配置一章。