我们已宣布
在 Node.js 中设置凭证
Node.js 有几种方法可以为 SDK 提供凭证。其中一些方法更安全,而另一些方法则在开发应用程序时可以提供更大的便利。在 Node.js 中获取凭证时,请注意依赖多个源,例如环境变量和您加载的 JSON 文件。您可以更改运行代码的权限,而不会意识到已发生更改。
下面是按推荐顺序提供凭证的方法:
-
从适用于 Amazon EC2 的 AWS Identity and Access Management(IAM)角色加载
-
从共享凭证文件 (
~/.aws/credentials
) 加载 -
从环境变量加载
-
从磁盘上的 JSON 文件加载
-
JavaScript 开发工具包提供的其他 credential-provider 类
如果多个凭证源适用于该开发工具包,则选择的默认优先顺序如下所示:
-
通过服务-客户端构造函数显式设置的凭证
-
环境变量
-
共享凭证文件
-
从 ECS 凭证提供程序加载的凭证(如果适用)
-
通过使用共享的 AWS config 文件或共享凭证文件中指定的凭据过程获取的凭证。有关更多信息,请参阅使用已配置过程在 Node.js 中加载凭证。
-
使用 Amazon EC2 实例的凭证提供程序从 AWS IAM 加载的凭证(如果在实例元数据中配置)
有关更多信息,请参阅 API 参考中的 Class: AWS.Credentials
和 Class: AWS.CredentialProviderChain
。
警告
虽然可以这样做,但我们不建议在您的应用程序中对您的 AWS 凭证进行硬编码。硬编码凭证存在暴露您的访问密钥 ID 和秘密访问密钥的风险。
本部分中的主题介绍如何将凭证加载到 Node.js 中。