获取所有AWS资源的所有者电子邮件

时间:2019-10-28 14:58:08

标签: amazon-web-services amazon-ec2 aws-lambda boto3

我正在尝试使用boto3和lambda构建脚本,以获取AWS区域中所有创建的资源的所有者的电子邮件地址(至少以EC2开头)。这样做的目的是通知所有者他们拥有这么多资源。

import boto3
ec2 = boto3.client('ec2')
iam = boto3.client('iam').list_users()

iam json具有所有用户信息,但没有电子邮件地址,而ec2具有所有者ID,但我不确定如何仅获取所有者ID。

如果有第三方服务,我也愿意考虑。

1 个答案:

答案 0 :(得分:1)

AWS中没有“资源所有权”的概念。

相反,当用户进行API调用(或使用控制台)创建资源时,AWS确认他们具有进行API调用的权限。如果是这样,则会创建资源,并且这些资源属于AWS账户。没有链接到请求资源的用户。

AWS CloudTrail 服务保留API调用的审核日志,因此可以检查CloudTrail记录以查看哪个用户进行了创建资源的API调用。

某些人更喜欢使用标签来跟踪资源的所有权或用途。例如,使用标签跟踪部门,项目或成本中心。

此外,请注意,资源可以由 IAM用户,IAM角色(由用户承担,也可以通过CloudTrail进行跟踪)或其他 AWS服务创建(例如,Amazon EC2 Auto Scaling会自动启动EC2实例)。因此,在资源和创建该资源的“人”之间找到一对一的关系并不总是那么容易。