我正在尝试使用boto3和lambda构建脚本,以获取AWS区域中所有创建的资源的所有者的电子邮件地址(至少以EC2开头)。这样做的目的是通知所有者他们拥有这么多资源。
import boto3
ec2 = boto3.client('ec2')
iam = boto3.client('iam').list_users()
iam json具有所有用户信息,但没有电子邮件地址,而ec2具有所有者ID,但我不确定如何仅获取所有者ID。
如果有第三方服务,我也愿意考虑。
答案 0 :(得分:1)
AWS中没有“资源所有权”的概念。
相反,当用户进行API调用(或使用控制台)创建资源时,AWS确认他们具有进行API调用的权限。如果是这样,则会创建资源,并且这些资源属于AWS账户。没有链接到请求资源的用户。
AWS CloudTrail 服务保留API调用的审核日志,因此可以检查CloudTrail记录以查看哪个用户进行了创建资源的API调用。
某些人更喜欢使用标签来跟踪资源的所有权或用途。例如,使用标签跟踪部门,项目或成本中心。
此外,请注意,资源可以由 IAM用户,IAM角色(由用户承担,也可以通过CloudTrail进行跟踪)或其他 AWS服务创建(例如,Amazon EC2 Auto Scaling会自动启动EC2实例)。因此,在资源和创建该资源的“人”之间找到一对一的关系并不总是那么容易。