Node.js で認証情報を設定する - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API リファレンスガイドでは、AWS SDK for JavaScript バージョン3 (V3) のすべての API オペレーションについて詳しく説明します。

Node.js で認証情報を設定する

ローカルで開発していて、雇用主から認証方法が与えられていない新規ユーザーには、AWS IAM Identity Center を設定することをお勧めします。詳細については、「AWS による SDK 認証」を参照してください。

Node.js では、SDK に認証情報を提供する方法がいくつかあります。これらの中には、より安全なものもあれば、アプリケーションの開発中により便利に使えるものもあります。Node.js で認証情報を取得する場合は、環境変数やロードした JSON ファイルなど、1つ以上のソースに依存するように注意してください。変更が行われたことに気付かずに、コードの実行に使用されるアクセス許可を変更してしまう可能性があります。

AWS SDK for JavaScript V3 では Node.js にデフォルトの認証情報プロバイダーチェーンが提供されるため、認証情報プロバイダを明示的に提供する必要はありません。デフォルトの認証情報プロバイダーチェーンは、認証情報が 1 つのソースから返されるまで指定された優先順位で、さまざまな異なるソースからの認証情報を解決しようとします。SDK for JavaScript V3 の認証情報プロバイダーチェーンについては、こちらを参照してください。

認証情報プロバイダーチェーン

すべての SDK には、AWS のサービス に対するリクエストに使用する有効な認証情報を取得するためにチェックする一連の場所 (またはソース) があります。有効な認証情報が見つかると、検索は停止されます。この体系的な検索は、デフォルトの認証情報プロバイダーチェーンと呼ばれます。

チェーンのステップごとに、値を設定するさまざまな方法があります。値をコードに直接設定することが常に優先されます。次に優先されるのは環境変数としての設定であり、次に共有された AWS config ファイルでの設定が優先されます。詳細については、『AWS SDK とツールのリファレンスガイド』の「設定の優先順位」を参照してください。

AWS SDK とツールのリファレンスガイド』には、すべての AWS SDK と AWS CLI で使用する SDK の構成設定に関する情報が記載されています。共有された AWS config ファイルで SDK を設定する方法の詳細については、「共有設定ファイルと認証情報ファイル」を参照してください。環境変数を設定して SDK を設定する方法の詳細については、「環境変数のサポート」を参照してください。

AWS で認証を行うために、AWS SDK for JavaScript は次の表に示す順序で認証情報プロバイダーをチェックします。

AWS SDK for JavaScript API レファレンス 認証情報プロバイダーメソッドの優先順位 使用可能な認証情報プロバイダー AWS SDK とツールのリファレンスガイド
fromEnv() 環境変数からの AWS アクセスキー AWS アクセスキー
fromSSO() AWS IAM Identity Center。このガイドでは、「AWS による SDK 認証」を参照してください。 IAM Identity Center 認証情報プロバイダー
fromIni()

共有された config ファイルおよび credentials ファイルからの AWS アクセスキー

AWS アクセスキー

信頼されたエンティティプロバイダー (AWS_ROLE_ARN など)

IAM ロールの継承

AWS Security Token Service (AWS STS) からのウェブアイデンティティトークン

ウェブアイデンティティまたは OpenID Connect でのフェデレーション

Amazon Elastic Container Service (Amazon ECS) 認証情報

コンテナ認証情報プロバイダー

Amazon Elastic Compute Cloud (Amazon EC2) インスタンスプロファイル認証情報 (IMDS 認証情報プロバイダー)

IMDS 認証情報プロバイダー

プロセス認証情報プロバイダー

プロセス認証情報プロバイダー

AWS IAM Identity Center 認証情報

IAM Identity Center 認証情報プロバイダー

fromProcess() プロセス認証情報プロバイダー プロセス認証情報プロバイダー
fromTokenFile() AWS Security Token Service (AWS STS) からのウェブアイデンティティトークン ウェブアイデンティティまたは OpenID Connect でのフェデレーション
fromContainerMetadata() Amazon Elastic Container Service (Amazon ECS) 認証情報 コンテナ認証情報プロバイダー
fromInstanceMetadata() Amazon Elastic Compute Cloud (Amazon EC2) インスタンスプロファイル認証情報 (IMDS 認証情報プロバイダー) IMDS 認証情報プロバイダー

新規ユーザーに推奨されるアプローチに従って開始した場合は、「使用開始」のトピックの AWS による SDK 認証 中に AWS IAM Identity Center 認証を設定します。その他の認証方法もさまざまな状況で役に立ちます。セキュリティリスクを避けるため、常に短期の認証情報を使用することをお勧めします。その他の認証方法については、「AWS SDK とツールのリファレンスガイド」の「認証とアクセス」を参照してください。

このセクションのトピックでは、認証情報を Node.js にロードする方法について説明します。