

AWS SDK for JavaScript v2 はサポート終了となりました。[AWS SDK for JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) に移行することをお勧めします。その他の詳細、移行方法については、こちらの[発表内容](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)を参照してください。

# AWS による SDK 認証
<a name="getting-your-credentials"></a>

AWS のサービス を使用して開発する際には、AWS によりコードがどのように認証するかを設定する必要があります。環境と利用可能な AWS のアクセスに応じて、AWS リソースへのプログラムによるアクセスはさまざまな方法で設定できます。

認証方法を選択して SDK 用に設定するには、*AWS SDK とツールのリファレンスガイド*の「[認証とアクセス](https://docs.aws.amazon.com/sdkref/latest/guide/access.html)」を参照してください。

ローカルで開発していて、雇用主から認証方法が与えられていない新規ユーザーには、AWS IAM アイデンティティセンター を設定することをお勧めします。この方法には、設定を簡単に行ったり、AWS アクセスポータルに定期的にサインインしたりするための AWS CLI をインストールすることも含まれます。この方法を選択した場合、*AWS SDK とツールのリファレンスガイド*の [IAM Identity Center 認証](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html)の手順を完了したあと、環境には次の要素が含まれるはずです。
+ アプリケーションを実行する前に AWS アクセスポータルセッションを開始するために使用する AWS CLI。
+ SDK から参照できる設定値のセットを含む `[default]` プロファイルがある[共有 AWS`config` ファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)。このファイルの場所を確認するには、*AWS SDK とツールのリファレンスガイド*の「[共有ファイルの場所](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html)」を参照してください。
+  共有 `config` ファイルは [https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html) 設定を設定します。これにより、SDK が AWS リクエストに使用するデフォルト AWS リージョン が設定されます。このリージョンは、使用するリージョンが指定されていない SDK サービスリクエストに使用されます。
+  SDK は、リクエストを AWS に送信する前に、プロファイルの [SSO トークンプロバイダー設定](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#feature-sso-credentials-profile)を使用して認証情報を取得します。IAM Identity Center 許可セットに接続された IAM ロールである `sso_role_name` 値により、アプリケーションで使用されている AWS のサービスにアクセスできます。

  次のサンプル `config` ファイルは、SSO トークンプロバイダー設定で設定されたデフォルトプロファイルを示しています。プロファイルの `sso_session` 設定は、指定された [`sso-session` セクション](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#section-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
  ```

JavaScript 用 SDK では、IAM Identity Center 認証を使用するために追加のパッケージ (`SSO` や `SSOOIDC` など) をアプリケーションに追加する必要はありません。

## AWS アクセスポータルセッションを開始する
<a name="accessportal"></a>

AWS のサービスにアクセスするアプリケーションを実行する前に、SDK が IAM Identity Center 認証を使用して認証情報を解決するためのアクティブな AWS アクセスポータルセッションが必要です。設定したセッションの長さによっては、アクセスが最終的に期限切れになり、SDK で認証エラーが発生します。AWS アクセスポータルにサインインするには、AWS CLI で次のコマンドを実行します。

```
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` を実行している場合は、認証情報を入力するように要求されません。  
サインインプロセス中に、データへの AWS CLI アクセスを許可するように求められる場合があります。AWS CLI は SDK for Python 上に構築されているため、アクセス許可メッセージには `botocore` の名前のさまざまなバリエーションが含まれる場合があります。

## 詳細認証情報
<a name="credother"></a>

人間のユーザーとは、別名*人的 ID* と呼ばれ、人、管理者、デベロッパー、オペレーター、およびアプリケーションのコンシューマーを指します。人間のユーザーは AWS の環境とアプリケーションにアクセスするための ID を持っている必要があります。組織のメンバーである人間のユーザー、つまり、ユーザーや開発者は、*ワークフォースアイデンティティ*と呼ばれます。

AWS にアクセスするときは、一時的な認証情報を使用します。一時的な資格情報を提供するロールを引き受けることで、人間のユーザーの ID プロバイダーを使用した AWS アカウントへのフェデレーションアクセスが可能になります。一元的なアクセス管理を行うには、AWS IAM アイデンティティセンター (IAM Identity Center) を使用して、ご自分のアカウントへのアクセスと、それらのアカウント内でのアクセス許可を管理することをお勧めします。その他の代替案については、以下を参照してください。
+ ベストプラクティスの詳細については、*IAM ユーザーガイド*の「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。
+ 短期 AWS 認証情報を作成するには、*IAM ユーザーガイド*の「[一時的セキュリティ認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」を参照してください。
+ その他の SDK for JavaScript 認証情報プロバイダーについては、*AWS SDK とツールのリファレンスガイド*の「[Standardized credential providers](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html)」(標準化された認証情報プロバイダー) を参照してください。