Amazon web services AWS Lambda函数在所有帐户中循环和执行
我们有一个主帐户和几个子帐户。 我已经编写了一个lambda代码,它正在主帐户中搜索cloud watch警报,并将警报的详细信息发送到Amazon Chime Webhook 当前的要求是使用lambda代码在所有帐户中循环并搜索相应帐户的警报。您可以向附加到lambda函数的角色附加“sts:AssumeRole”权限,并以这种方式对函数进行授权,以便它使用该权限切换到其他帐户 下面是一个链接,您可以从中获取有关如何切换角色的信息: 但要完成以上用例工作,您的主帐户应该创建角色以切换到其他帐户 希望下面的链接能帮助您:Amazon web services AWS Lambda函数在所有帐户中循环和执行,amazon-web-services,aws-lambda,aws-sdk,amazon-cloudwatch,cloudwatch-alarms,Amazon Web Services,Aws Lambda,Aws Sdk,Amazon Cloudwatch,Cloudwatch Alarms,我们有一个主帐户和几个子帐户。 我已经编写了一个lambda代码,它正在主帐户中搜索cloud watch警报,并将警报的详细信息发送到Amazon Chime Webhook 当前的要求是使用lambda代码在所有帐户中循环并搜索相应帐户的警报。您可以向附加到lambda函数的角色附加“sts:AssumeRole”权限,并以这种方式对函数进行授权,以便它使用该权限切换到其他帐户 下面是一个链接,您可以从中获取有关如何切换角色的信息: 但要完成以上用例工作,您的主帐户应该创建角色以切换到其他
如果您只需要访问CloudWatch事件/日志,您可以启用跨帐户访问,允许您运行监控帐户(建议使用更好的安全性)或主帐户的所有内容 如果您需要访问每个帐户,则需要执行以下操作: -在主帐户中Lambda可以承担的每个帐户中创建IAM角色
- 在lambda中,主循环看起来像这样李>
地区
awsConfig=getAssumeCroleCredationals(accountId,region)//这是一个AWS.Config
ec2=新的AWS.ec2(awsConfig)
结果=ec2.describeInstances()
结束
结束
那么问题是什么?
for accountId in <list of accounts>
for region in <region list>
awsConfig = getAssumeRoleCredtionals(accountId, region) // This is an AWS.Config
ec2 = new AWS.EC2(awsConfig)
results = ec2.describeInstances()
end for
end for