确定特定AWS资源的创建者 [英] Identify who created a particular AWS resource

查看:18
本文介绍了确定特定AWS资源的创建者的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们在过去几年中使用了多项AWS服务。现在我们有很多AWS资源,这些资源都是由Tag创建的,但还没有创建。我们想用Tag创建的w来标记我们的资源(支持标记)上的每一个,指定创建它的用户的名称/电子邮件。可以通过任何API(Boto3)或控制台来实现吗?根据我的研究,这似乎是不可能的,但我想与社区确认是否有任何方法可以做到这一点。

推荐答案

没有现成的解决方案,但您可以使用CloudWatch events和Lambda创建自定义解决方案。我去年仅针对EC2资源实施了类似的解决方案。

  1. 为要标记的资源创建事件规则。例如,每当创建/an实例/卷/快照/AMI时,以下事件规则都会调用目标Lambda函数。
{
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "ec2.amazonaws.com"
    ],
    "eventName": [
      "CreateVolume",
      "RunInstances",
      "CreateImage",
      "CreateSnapshot"
    ]
  }
}
  1. 目标Lambda函数解析事件数据。您需要提取所有资源ID和主体数据,并进行API调用来标记资源。下面的示例使用Boto3 EC2 API;resource_id、username和主体是从事件中提取的变量。
ec2.create_tags(Resources=resource_ids, Tags=[{'Key': 'Owner', 'Value': username}, {'Key': 'PrincipalId', 'Value': principal}])

您还可以扩展此解决方案来标记其他资源。

这篇关于确定特定AWS资源的创建者的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆