

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/)を参照してください。

# 認証情報の設定
<a name="setting-credentials"></a>

AWS は認証情報を使用して、サービスを呼び出しているユーザーと、リクエストされたリソースへのアクセスが許可されているかを識別します。

ウェブブラウザでも、Node.js サーバーでも、JavaScript コードは API を介してサービスにアクセスする前に有効な認証情報を取得する必要があります。認証情報は、`AWS.Config` を使用して設定オブジェクトでグローバルに設定することも、認証情報をサービスオブジェクトに直接渡してサービスごとに設定することもできます。

ウェブブラウザで Node.js と JavaScript の間で異なる認証情報を設定する方法はいくつかあります。このセクションのトピックでは、Node.js またはウェブブラウザで認証情報を設定する方法について説明します。いずれの場合も、オプションは推奨順に表示されています。

## 認証情報のベストプラクティス
<a name="credentials-best-practices"></a>

認証情報を正しく設定することで、ミッションクリティカルなアプリケーションに影響を与えたり重要なデータを侵害する可能性があるセキュリティ問題への露出を最小限に抑えながら、アプリケーションまたはブラウザスクリプトが必要なサービスおよびリソースにアクセスできるようにします。

認証情報を設定するときに適用する重要な原則は、常に自分のタスクに必要な最小限の権限を付与することです。最小限のアクセス許可を超えるアクセス許可を提供し、その結果、セキュリティ問題が後で発見されてそれを修正するよりも、リソースに対する最小限のアクセス許可を提供し、必要に応じてさらにアクセス許可を追加する方が安全です。例えば、Amazon S3 バケット内のオブジェクトや DynamoDB テーブル内のオブジェクトなど、個々のリソースを読み書きする必要がある場合を除き、これらのアクセス許可を読み取り専用に設定します。

最小権限の付与の詳細については、「*IAM ユーザーガイド*」で「ベストプラクティス」トピックの「[最小特権を付与する](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)」セクションを参照してください。

**警告**  
アプリケーションやブラウザスクリプト内で認証情報をハードコードすることは可能ですが、そうしないことをお勧めします。認証情報をハードコーディングすると、機密情報を公開するリスクがあります。

アクセスキーを管理する方法の詳細については、「AWS 全般のリファレンス」の「[AWS アクセスキーを管理するためのベストプラクティス](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html)」を参照してください。

**Topics**
+ [認証情報のベストプラクティス](#credentials-best-practices)
+ [Node.js での認証情報の設定](setting-credentials-node.md)
+ [ウェブブラウザでの認証情報の設定](setting-credentials-browser.md)