使用JavaScript查找我的AWS账户ID

如何使用JavaScript / NodeJS查找我的AWS账户ID?

在明确地为根帐户或IAM用户提供密钥时应该工作。 在使用实例configuration文件(无密钥)configuration的ec2实例内调用时也应该可以工作。

       

网上收集的解决方案 "使用JavaScript查找我的AWS账户ID"

以下片段将使用nodejs和最新的aws-sdk打印帐户ID:

var AWS = require('aws-sdk'); var iam = new AWS.IAM(); var metadata = new AWS.MetadataService() var _ = iam.getUser({}, (err, data) => { if (err) metadata.request('/latest/meta-data/iam/info/', (err, data) => { if (err) console.log(err, err.stack); else console.log(JSON.parse(data).InstanceProfileArn.split(':')[4]); }); else console.log(data.User.Arn.split(':')[4]); }); 

最好的方法是通过“安全令牌服务” :

 var AWS = require('aws-sdk'); // Load credentials and set region from JSON file AWS.config.loadFromPath('./config.json'); var sts = new AWS.STS(); sts.getCallerIdentity({}, function(err, data) { if (err) { console.log("Error", err); } else { console.log(JSON.stringify(data.Account)); } }); 

这将打印一个简单的电话账号。