【发布时间】:2021-04-01 17:17:42
【问题描述】:
我正在尝试使用 AWS nodejs sdk ChainableTemporaryCredentials class 来获取客户 AWS 账户的临时凭证。这是我的代码 sn-p:
const credentials = new ChainableTemporaryCredentials({
params: {
RoleArn: "arn:aws:iam::123456789:role/Test-Customer-Role"
},
masterCredentials: new ChainableTemporaryCredentials({
params: {
RoleArn: "arn:aws:iam::123456789:role/Test-Automation-Role"
}
})
});
console.log("Credentials ", credentials.accessKeyId) //it prints undefined
const client = new S3({ credentials });
s3.listBuckets(function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data); // successful response with s3 buckets list is printed
});
我的要求是从上面的credentials 对象中获取 sts 临时 accessKeyId、secretAccessKey 和 sessionToken 变量,并将它们传递给另一个 nodejs 模块以进行进一步的 AWS 操作。
但是,我将 undefined 作为凭据对象的所有 accessKeyId、secretAccessKey 和 sessionToken 属性的值。
我知道凭据对象正在获取正确的值,因为我能够使用这些凭据列出 s3 存储桶。
如何获取 ChainableTemporaryCredentials 类生成的临时凭证?
谢谢。
【问题讨论】:
标签: node.js amazon-web-services aws-sdk-js