

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

# AWS 使用 透過 驗證 AWS SDK for Java 2.x
<a name="get-started-auth"></a>

 當您使用 AWS 服務進行開發 AWS 時，您必須建立 的 AWS SDK for Java 2.x 身分驗證方式。SDK 會管理登入資料探索、簽章建立和登入資料，完全在幕後重新整理，讓您專注於應用程式邏輯。

## 設定身分驗證
<a name="setup-auth"></a>

 AWS SDKs和工具參考指南中的[身分驗證和存取](https://docs.aws.amazon.com/sdkref/latest/guide/access.html)主題說明不同的身分驗證方法。

對於本機開發，建議的方法是使用主控台登入憑證登入 AWS CLI，以使用短期登入資料。如果您使用根帳戶、IAM 使用者或 IAM 聯合帳戶 AWS 存取，建議使用 。按照[使用 存取互動式開發工作的登入資料 AWS SDK for Java 2.x](credentials-temporary.md)中的指示進行。

遵循 AWS SDKs和工具參考指南的指示後，您的系統應設定為允許 SDK 簽署請求：

### 1. 使用短期登入資料進行本機開發
<a name="setup-login"></a>

對於本機開發，建議的方法是使用主控台登入憑證登入 AWS CLI，以使用短期登入資料。如果您使用根帳戶、IAM 使用者或 IAM 聯合帳戶 AWS 存取，建議使用 。

如需說明，請參閱[《》中的使用登入資料提供者 AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-temporary.html)。

### 2. 設定 SDK 的單一登入存取
<a name="setup-credentials"></a>

在[程式設計存取區段](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted)中完成步驟 2 後，開發套件可以使用 IAM Identity Center 身分驗證，您的系統應該包含下列元素。
+ 在執行應用程式之前 AWS CLI，您用來啟動[AWS 存取入口網站工作階段](#setup-login-sso)的 。
+ 包含[預設設定檔](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile)`~/.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 權杖提供者組態](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#sso-token-config)。

如果您的開發環境未如先前所示設定程式設計存取，請遵循 [ SDKs參考指南中的步驟 2](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted)。

### 3. 使用 登入 AWS CLI
<a name="setup-login-sso"></a>

在執行存取的應用程式之前 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 和 開發套件的資訊。

## 其他身分驗證選項
<a name="setup-additional"></a>

如需 SDK 身分驗證的更多選項，例如使用設定檔和環境變數，請參閱《 AWS SDKs和工具參考指南》中的[組態](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html)章節。