如何在Node.js的aws-sdk模块中设置多个AWS凭证?

4

我需要使用多个AWS凭证来访问不同的服务,例如s3、SNS等...

var awsS3 = require('aws-sdk');
var awsSes = require('aws-sdk');

awsS3.config.update({
    region: config.awsRegion,
    accessKeyId: config.sesAccessKeyId,
    secretAccessKey: config.sesSecretAccessKey
});

awsSes.config.update({
    region: config.s3Region,
    accessKeyId: config.s3AccessKeyId,
    secretAccessKey: config.s3SecretAccessKey
  });

但是上述代码无法正常工作。

如何为不同的服务配置多个accessKeyId和secretAccessKey?


你尝试过像这样的代码吗?const aws = require('aws-sdk'); const s3 = new aws.S3({ /* s3 的凭证*/ }); const ses = new aws.SES({ /* ses 的凭证*/ });我不确定这是否有效,但我现在无法尝试。 - axanpi
你找到答案了吗? - Francesco Clementi
2个回答

6

在创建服务对象时,您可以传递配置信息。以下是您要查找的内容。

const s3 = new aws.S3({ /* s3 config */ });
const ses = new aws.SES({ /* ses config */ });

0

我认为你应该使用策略来控制它,而不是使用多个凭据。使用单一的凭据/角色,然后根据每个服务的需求定制策略,可以允许或拒绝特定操作。这样一来,你的应用程序就可以使用该角色/凭据,并根据策略进行允许或限制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接