我们有一个主账户和几个子账户。我编写了一个 lambda 代码,用于在主账户中搜索云监控警报,并将警报的详细信息发送到 Amazon Chime Webhook。
当前的要求是使用 lambda 代码循环遍历所有账户并搜索各个账户的警报。
我们有一个主账户和几个子账户。我编写了一个 lambda 代码,用于在主账户中搜索云监控警报,并将警报的详细信息发送到 Amazon Chime Webhook。
当前的要求是使用 lambda 代码循环遍历所有账户并搜索各个账户的警报。
如果您只需要访问 CloudWatch 事件/日志,您可以启用跨账户访问,从而允许您从监控账户(为了更好的安全性而推荐)或您的主账户运行所有内容。
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html
如果您需要访问每个账户,您需要执行以下操作: - 在每个账户中创建 IAM 角色,该角色可由主账户中的 Lambda 代入
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
您可以将“sts:AssumeRole”权限附加到附加到您的 lambda 函数的角色,并以这样的方式正确您的函数,以便它使用该权限切换到另一个帐户。
以下是您可能有用的链接,可用于获取如何切换角色的信息:
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html
但是要完成用例工作,您的主帐户应该创建角色以切换到另一个帐户。
希望以下链接对您有所帮助: