使用AWS JavaScript SDK V3,是否有一个凭证提供商链等效物?

zy1mlcev  于 2023-09-29  发布在  Java
关注(0)|答案(1)|浏览(111)

我正在使用NodeJS从AWS的JavaScript SDK的V2迁移到V3。我们的应用程序需要在几个地方检查凭据。以前我们使用Credential Provider Chain,但我在V3中找不到等效的。当我的脚本在本地运行时,我需要查看共享的INI文件(SharedIniFileCredential),但脚本也在kubernetes中运行,所以(我认为)我也需要roleAssumerWithWebIdentity。如何在V3中使用凭证链?

wh6knrhe

wh6knrhe1#

模块@aws-sdk/credential-provider-node提供了一个默认的凭据提供程序,与您正在寻找的类似:
它将尝试从以下来源(按优先级顺序列出)查找凭据:

  • 通过process.env公开的环境变量
  • 令牌缓存中的SSO凭据
  • Web标识令牌凭据
  • 共享凭据和配置ini文件
  • EC2/ECS示例元数据服务

以下是他们页面上的一个例子:

const { getDefaultRoleAssumerWithWebIdentity } = require("@aws-sdk/client-sts");
const { defaultProvider } = require("@aws-sdk/credential-provider-node");
const { S3Client, GetObjectCommand } = require("@aws-sdk/client-s3");

const provider = defaultProvider({
  roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(),
});

const client = new S3Client({ credentialDefaultProvider: provider });

相关问题