

适用于 JavaScript 的 AWS SDK v2 已终止支持。建议您迁移到 [适用于 JavaScript 的 AWS SDK 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/)。

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

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

下面是按推荐顺序提供凭证的方法：

1. 从适用于 Amazon EC2 的 AWS Identity and Access Management（IAM）角色加载

1. 从共享凭证文件 (`~/.aws/credentials`) 加载

1. 从环境变量加载

1. 从磁盘上的 JSON 文件加载

1. JavaScript 开发工具包提供的其他 credential-provider 类

如果多个凭证源适用于该开发工具包，则选择的默认优先顺序如下所示：

1. 通过服务-客户端构造函数显式设置的凭证

1. 环境变量

1. 共享凭证文件

1. 从 ECS 凭证提供程序加载的凭证（如果适用）

1. 通过使用共享的 AWS config 文件或共享凭证文件中指定的凭据过程获取的凭证。有关更多信息，请参阅[使用已配置过程在 Node.js 中加载凭证](loading-node-credentials-configured-credential-process.md)。

1. 使用 Amazon EC2 实例的凭证提供程序从 AWS IAM 加载的凭证（如果在实例元数据中配置）

有关更多信息，请参阅 API 参考中的 [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html) 和 [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html)。

**警告**  
虽然可以这样做，但我们不建议在您的应用程序中对您的 AWS 凭证进行硬编码。硬编码凭证存在暴露您的访问密钥 ID 和秘密访问密钥的风险。

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

**Topics**
+ [从适用于 Amazon EC2 的 IAM 角色加载 Node.js 中的凭证](loading-node-credentials-iam.md)
+ [加载 Node.js Lambda 函数的凭证](loading-node-credentials-lambda.md)
+ [从共享凭证文件加载 Node.js 中的凭证](loading-node-credentials-shared.md)
+ [从环境变量加载 Node.js 中的凭证](loading-node-credentials-environment.md)
+ [从 JSON 文件加载 Node.js 中的凭证](loading-node-credentials-json-file.md)
+ [使用已配置过程在 Node.js 中加载凭证](loading-node-credentials-configured-credential-process.md)