本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 存取互動式開發工作的登入資料 AWS SDK for Java 2.x
為了提高安全性, AWS 建議您將適用於 Java 的 SDK 設定為使用暫時登入資料,而不是長期登入資料。暫時登入資料包含存取金鑰 (存取金鑰 ID 和私密存取金鑰) 和工作階段字符。
您可以使用數種方法來使用臨時登入資料。您使用的方法,以及您提供給 SDK 的組態,取決於您的使用案例。
當您使用 Java 開發套件進行互動式開發時,我們建議您使用單一登入方法。此方法需要下列設定:
-
使用 AWS CLI 並執行命令來登入和建立作用中工作階段
IAM Identity Center 組態
當您將軟體開發套件設定為使用本指南設定概觀中所述的 IAM Identity Center 單一登入存取時,軟體開發套件會使用臨時登入資料。
SDK 使用 IAM Identity Center 存取權杖來存取 IAM 角色,該角色是以 config
檔案中sso_role_name
的設定所設定。軟體開發套件會擔任此 IAM 角色,並擷取臨時登入資料以簽署 AWS 服務 請求。
如需開發套件如何從組態取得臨時登入資料的詳細資訊,請參閱 AWS SDKs和工具參考指南中的了解 IAM Identity Center 身分驗證一節。
重要
除了您在適用於所有專案的共用config
檔案中設定的組態之外,每個個別 Java 專案還需要 Maven pom.xml
檔案中的下列相依性:
<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>sso</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>ssooidc</artifactId> </dependency>
sso
和 ssooidc
相依性提供的程式碼,可讓適用於 Java 的 SDK 2.x 存取臨時登入資料。
從 AWS 存取入口網站擷取臨時登入資料
作為 IAM Identity Center 單一登入組態的替代方案,您可以複製並使用 AWS 存取入口網站中提供的臨時憑證。您可以在設定檔中使用臨時憑證,或用作系統屬性和環境變數的值。
為臨時登入資料設定本機登入資料檔案
-
在登入資料檔案中,貼上下列預留位置文字,直到您貼上運作中的臨時登入資料為止。
[default] aws_access_key_id=
<value from AWS access portal>
aws_secret_access_key=<value from AWS access portal>
aws_session_token=<value from AWS access portal>
-
儲存檔案。檔案現在
~/.aws/credentials
應該存在於您的本機開發系統上。此檔案包含 【預設】 描述檔,如果未指定特定具名描述檔,適用於 Java 的 開發套件會使用此描述檔。 -
請遵循手動登入資料重新整理標題下的這些指示,從 AWS 存取入口網站複製 IAM 角色登入資料。
-
針對連結指示中的步驟 2,
Access keys
請針對 IAM 角色名稱選擇 ,以針對您的開發需求授予存取權。此角色通常具有 PowerUserAccess 或 Developer 等名稱。 -
在模態對話方塊中,選取您的作業系統,並將內容從新增設定檔複製到您的 AWS 登入資料檔案。
-
-
將複製的登入資料貼到您的本機
credentials
檔案中,並移除產生的設定檔名稱。您的 檔案應該類似以下內容。[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
-
儲存
credentials
檔案。
當適用於 Java 的 SDK 建立服務用戶端時,它會存取這些臨時登入資料,並將其用於每個請求。在步驟 5a 中選擇的 IAM 角色設定會決定臨時憑證的有效時長。最長持續時間為 12 小時。
臨時憑證過期後,請重複步驟 4 至 7。