【问题标题】:get owner's email for all aws resources获取所有 aws 资源的所有者电子邮件
【发布时间】:2020-02-23 20:34:40
【问题描述】:

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

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

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

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

【问题讨论】:

  • 并非所有资源都是由用户创建的......许多(甚至我敢说大部分)都是由假定的角色创建的 - 这意味着没有电子邮件到自然人关联。
  • 在这种情况下,是否可以获得创建该资源的角色或用户 ID 的 ARN?
  • 可能值得创建一个 CloudTrail 并从中轮询事件。

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


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 2011-09-24
    • 1970-01-01
    相关资源
    最近更新 更多