

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 にログインし、短期認証情報を使用することをお勧めします。 AWS アカウントアクセスにルート、IAM ユーザー、または IAM とのフェデレーションを使用する場合に推奨されます。[を使用してインタラクティブ開発作業の認証情報にアクセスする AWS SDK for Java 2.x](credentials-temporary.md) の指示に従います。

 AWS SDKs およびツールリファレンスガイドの手順に従って、SDK がリクエストに署名できるようにシステムを設定する必要があります。

### 1. 短期認証情報を使用したローカル開発
<a name="setup-login"></a>

ローカル開発では、コンソールのログイン認証情報を使用して AWS CLI にログインし、短期認証情報を使用することをお勧めします。 AWS アカウントアクセスにルート、IAM ユーザー、または IAM とのフェデレーションを使用する場合に推奨されます。

手順については、 [の「認証情報プロバイダーの使用 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>

SDK が IAM Identity Center 認証を使用するように[「プログラムによるアクセス」セクション](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted)のステップ 2 を完了したら、システムに次の要素が含まれているはずです。
+ アプリケーションを実行する前に [AWS アクセスポータルセッション](#setup-login-sso)を開始 AWS CLIするために使用する 。
+ [デフォルトプロファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile)を含む `~/.aws/config` ファイル。SDK for Java は、リクエストを AWSに送信する前に、プロファイルの SSO トークンプロバイダー設定を使用して認証情報を取得します。IAM Identity Center 許可セットに接続された IAM ロールである `sso_role_name` 値により、アプリケーションで使用されている 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 and Tools リファレンスガイド」の「[SSO token provider configuration](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#sso-token-config)」を参照してください。

開発環境が前述のようにプログラムによるアクセス用に設定されていない場合は、[SDK リファレンスガイドのステップ 2](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted) に従ってください。

### 3. を使用してサインインする AWS CLI
<a name="setup-login-sso"></a>

にアクセスするアプリケーションを実行する前に AWS のサービス、SDK が IAM Identity Center 認証を使用して認証情報を解決するには、アクティブな AWS アクセスポータルセッションが必要です。で次のコマンドを実行して 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 の基盤です。  
 AWS CLI および SDK for ****Java の情報へのアクセスを許可する を選択します。

## 追加認証オプション
<a name="setup-additional"></a>

プロファイルや環境変数の使用など、SDK の認証に関するその他のオプションについては、 AWS SDKsおよびツールリファレンスガイド[の設定](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html)の章を参照してください。