在 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 文件。您可以更改运行代码的权限,而不会意识到已发生更改。

AWS SDK for JavaScript V3 在 Node.js 中提供了默认的凭证提供者链,因此您无需明确提供凭证提供商。默认凭证提供程序链会尝试按给定优先级解析来自各种不同源的凭证,直到从其中一个源返回凭证。您可以在此找到适用于 JavaScript V3 的 SDK 的凭证提供商链。

凭证提供程序链

所有 SDK 都有一系列地点(或源)供他们检查,以获取用于向 AWS 服务发出请求的有效凭证。找到有效凭证后,搜索即告停止。这种系统性搜索被称为默认凭证提供程序链。

对于链中的每个步骤,都有不同的设置值的方法。直接在代码中设置值始终优先,然后设置为环境变量,然后在共享 AWS config文件中设置。有关更多信息,请参阅《AWS SDK 和工具参考指南》中的设置的优先顺序

AWS 软件开发工具包和工具参考指南》包含有关所有 SDK 使用的 S AWS DK 配置设置的信息,以及。 AWS CLI要详细了解如何通过共享 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()

AWS 来自共享credentials文件config和文件的访问密钥

AWS 访问密钥

可信实体提供商(例如 AWS_ROLE_ARN

代入 IAM 角色

来自 AWS Security Token Service (AWS STS) 的 Web 身份令牌

使用 Web 身份或 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) 的 Web 身份令牌 使用 Web 身份或 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 中。