You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取并持续更新AWS组织内所有用户创建的资源?

列出AWS组织内用户创建的资源并持续更新的方案

下面是几个可落地的实现方式,解决批量追踪用户创建资源并保持更新的需求:

1. 利用AWS Config实现自动化资源追踪

AWS Config是AWS官方的资源配置管理服务,天然支持跟踪资源的创建者和生命周期变更:

  • 先在AWS控制台启用AWS Config,选择覆盖所有区域和所有支持的资源类型(包括S3、EC2等)
  • 通过AWS Config控制台的资源Inventory功能,直接按createdBy属性筛选,就能看到每个资源的创建用户
  • 配置SNS通知规则,当有新资源创建或资源属性变更时,自动推送通知到指定邮箱/消息服务,实现实时更新
  • 也可以用CLI命令批量导出:
    aws configservice list-discovered-resources --resource-type AWS::EC2::Instance --include-deleted-resources
    
    结合jq工具提取createdBy字段:
    aws configservice list-discovered-resources --resource-type AWS::EC2::Instance | jq '.resourceIdentifiers[] | {resourceId: .resourceId, createdBy: .tags[] | select(.key=="createdBy") | .value}'
    

2. CloudTrail + Athena 回溯与实时查询

CloudTrail会记录所有AWS API操作事件,包括资源创建的请求,结合Athena可以高效分析:

  • 确保CloudTrail已开启,并且日志存储到指定S3桶
  • 在Athena中创建基于CloudTrail日志的表(可以用AWS提供的模板脚本)
  • 编写SQL查询筛选资源创建事件,关联用户身份:
    SELECT eventName, userIdentity.arn, resourceName, eventTime
    FROM cloudtrail_logs
    WHERE eventName IN ('CreateBucket', 'RunInstances')
      AND userIdentity.type = 'IAMUser'
    ORDER BY eventTime DESC;
    
  • 配置Athena查询的定时任务(结合CloudWatch Events),定期将查询结果导出到S3或发送到内部报表系统

3. 强制资源标签 + 批量扫描

通过IAM策略强制用户创建资源时必须添加CreatedBy标签,再结合资源标签API批量获取:

  • 创建IAM策略,禁止未添加CreatedBy标签的资源创建操作(比如针对EC2、S3的创建动作)
  • 用Resource Groups Tagging API批量获取带标签的资源:
    aws resourcegroupstaggingapi get-resources --tag-filters Key=CreatedBy --resource-type-filters ec2:s3
    
  • 配合Lambda函数和CloudWatch Events,每天定时执行上述命令,将结果汇总到数据库或生成CSV报表

注意事项

  • 确保执行操作的IAM角色拥有AWSConfigReadOnlyAccess、CloudTrailReadOnlyAccess、ResourceGroupsTaggingApiFullAccess等必要权限
  • 多区域部署的资源需要在所有区域执行扫描,或启用AWS Config的多区域聚合功能
  • 对于历史无标签的资源,可通过AWS Config的批量标签功能补全CreatedBy信息

内容的提问来源于stack exchange,提问作者Redteamer0101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 22:07:49