

 [适用于 JavaScript 的 AWS SDK V3 API 参考指南](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/)详细描述了 适用于 JavaScript 的 AWS SDK 版本 3 (V3) 的所有 API 操作。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Node.js 中设置凭证
<a name="setting-credentials-node"></a>

我们建议在本地开发且雇主未向其提供身份验证方法的新用户进行设置 AWS IAM Identity Center。有关更多信息，请参阅 [使用 SDK 进行身份验证 AWS](getting-your-credentials.md)。

Node.js 有几种方法可以为 SDK 提供凭证。其中一些方法更安全，而另一些方法则在开发应用程序时可以提供更大的便利。在 Node.js 中获取凭证时，请注意依赖多个源，例如环境变量和您加载的 JSON 文件。您可以更改运行代码的权限，而不会意识到已发生更改。

适用于 JavaScript 的 AWS SDK V3 在 Node.js 中提供了默认的凭证提供者链，因此您无需明确提供凭证提供商。默认[凭证提供程序链](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain)会尝试按给定优先级解析来自各种不同源的凭证，直到从其中一个源返回凭证。您可以在此[处](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromnodeproviderchain)找到适用于 JavaScript V3 的 SDK 的凭证提供商链。

## 凭证提供程序链
<a name="credchain"></a>

所有 SDKs 人都有一系列地点（或来源）供他们检查，以便获得用于向某人提出请求的有效凭证 AWS 服务。找到有效凭证后，搜索即告停止。这种系统性搜索被称为默认凭证提供程序链。

对于链中的每个步骤，都有不同的设置值的方法。直接在代码中设置值始终优先，然后设置为环境变量，然后在共享 AWS `config`文件中设置。有关更多信息，请参阅《工具参考指南[》*AWS SDKs 和《工具参考指南》*中的设置优先级](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html#precedenceOfSettings)。

《*AWS SDKs 和工具参考指南》*包含有关所有 AWS SDKs 人使用的 SDK 配置设置的信息 AWS CLI。要详细了解如何通过共享 AWS `config`文件配置 SDK，请参阅[共享配置和凭据文件](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)。要详细了解如何通过设置环境变量来配置 SDK，请参阅[环境变量支持](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html)。

要进行身份验证 AWS，请按下表所列顺序 适用于 JavaScript 的 AWS SDK 检查凭证提供商。



- **[https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromenv](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromenv) **
  - **可用的凭证提供程序:** AWS 来自环境变量的访问密钥
  - ***AWS SDKs 和工具参考指南*:** [AWS 访问密钥](https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html)

- **[https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromsso](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromsso)**
  - **可用的凭证提供程序:** AWS IAM Identity Center。在本指南中，请参阅[使用 SDK 进行身份验证 AWS](getting-your-credentials.md)。
  - ***AWS SDKs 和工具参考指南*:** [IAM Identity Center 凭证提供程序](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html)

- ** [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromini](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromini) **
  - **可用的凭证提供程序:** AWS 来自共享`credentials`文件`config`和文件的访问密钥 / ***AWS SDKs 和工具参考指南*:** [AWS 访问密钥](https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html)
  - **可用的凭证提供程序:** 可信实体提供商（例如 `AWS_ROLE_ARN`） / ***AWS SDKs 和工具参考指南*:** [代入 IAM 角色](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html#credOrSourceAssumeRole)
  - **可用的凭证提供程序:** 来自 AWS Security Token Service (AWS STS) 的 Web 身份令牌 / ***AWS SDKs 和工具参考指南*:** [使用 Web 身份或 OpenID Connect 进行联合](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html#webidentity)
  - **可用的凭证提供程序:** Amazon Elastic Container Service（Amazon ECS）凭证 / ***AWS SDKs 和工具参考指南*:** [容器凭证提供程序](https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html)
  - **可用的凭证提供程序:** Amazon Elastic Compute Cloud (Amazon EC2) 实例配置文件凭证（IMDS 凭证提供程序） / ***AWS SDKs 和工具参考指南*:** [IMDS 凭证提供程序](https://docs.aws.amazon.com/sdkref/latest/guide/feature-imds-credentials.html)
  - **可用的凭证提供程序:** 流程凭证提供程序 / ***AWS SDKs 和工具参考指南*:** [流程凭证提供程序](https://docs.aws.amazon.com/sdkref/latest/guide/feature-process-credentials.html)
  - **可用的凭证提供程序:** AWS IAM 身份中心 / ***AWS SDKs 和工具参考指南*:** [IAM Identity Center 凭证提供程序](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html)
  - **可用的凭证提供程序:** 登录凭证提供商 / ***AWS SDKs 和工具参考指南*:** [登录凭证提供商](https://docs.aws.amazon.com/sdkref/latest/guide/access-login.html)

- ** [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromlogincredentials](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromlogincredentials) **
  - **可用的凭证提供程序:** 登录凭证提供商
  - ***AWS SDKs 和工具参考指南*:** [登录凭证提供商](https://docs.aws.amazon.com/sdkref/latest/guide/access-login.html)

- **[https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromprocess](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromprocess)**
  - **可用的凭证提供程序:** 流程凭证提供程序
  - ***AWS SDKs 和工具参考指南*:** [流程凭证提供程序](https://docs.aws.amazon.com/sdkref/latest/guide/feature-process-credentials.html)

- **[https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromtokenfile](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromtokenfile)**
  - **可用的凭证提供程序:** 来自 AWS Security Token Service (AWS STS) 的 Web 身份令牌
  - ***AWS SDKs 和工具参考指南*:** [使用 Web 身份或 OpenID Connect 进行联合](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html#webidentity)

- **[https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromcontainermetadata-and-frominstancemetadata](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromcontainermetadata-and-frominstancemetadata)**
  - **可用的凭证提供程序:** Amazon Elastic Container Service（Amazon ECS）凭证
  - ***AWS SDKs 和工具参考指南*:** [容器凭证提供程序](https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html)

- **[https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromcontainermetadata-and-frominstancemetadata](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromcontainermetadata-and-frominstancemetadata)**
  - **可用的凭证提供程序:** Amazon Elastic Compute Cloud (Amazon EC2) 实例配置文件凭证（IMDS 凭证提供程序）
  - ***AWS SDKs 和工具参考指南*:** [IMDS 凭证提供程序](https://docs.aws.amazon.com/sdkref/latest/guide/feature-imds-credentials.html)



如果您遵循推荐的新用户入门方法，则可以在入门主题的 [使用 SDK 进行身份验证 AWS](getting-your-credentials.md) 中设置 AWS IAM Identity Center 身份验证。其他身份验证方法适用于不同的情况。为避免安全风险，我们建议始终使用短期凭证。有关其他身份验证方法的步骤，请参阅《[和*工具参考指南》中的身份验证AWS SDKs 和*访问权限](https://docs.aws.amazon.com/sdkref/latest/guide/access.html)。

本部分中的主题介绍如何将凭证加载到 Node.js 中。

**Topics**
+ [凭证提供程序链](#credchain)
+ [从 IAM 角色为 Amazon EC2 加载 Node.js 中的凭证](loading-node-credentials-iam.md)
+ [加载 Node.js Lambda 函数的凭证](loading-node-credentials-lambda.md)