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

如何在S3存储桶对象创建/删除时发送告警并识别操作的IAM用户

S3对象操作告警及操作身份查询解决方案

1. S3对象创建/删除通知告警配置

完全支持对象增删操作的实时告警,可通过S3原生事件通知功能实现:

  • 支持三种告警推送目标,可按需选择:
    • 绑定SNS主题:可对接邮件、短信、内部IM机器人等接收渠道
    • 绑定SQS队列:适用于需要异步消费事件、做后续二次处理的场景
    • 绑定Lambda函数:支持自定义告警逻辑,比如仅当操作的是*.tfstate后缀的核心文件时才触发告警,过滤无效通知
  • 配置核心注意事项:
    • 提前配置S3服务到对应推送目标(SNS/SQS/Lambda)的访问权限,避免事件推送失败
    • 事件类型仅勾选s3:ObjectCreated:*(覆盖所有上传、覆盖、复制等创建类操作)和s3:ObjectRemoved:*(覆盖所有删除、版本清空等删除类操作)
    • 可添加前缀/后缀过滤规则,比如仅监听存储桶下terraform/路径下的对象,进一步减少不必要的告警

2. 操作IAM身份查询方法

可以完整查询到触发操作的IAM身份信息,依赖CloudTrail服务实现:

  • 前置要求:提前开启对应区域的CloudTrail追踪,且开启S3对象级数据事件采集。默认CloudTrail仅记录桶级操作,不会记录单个对象的增删操作,需要手动开启对象级事件的记录规则
  • 具体查询方式:
    • 进入CloudTrail控制台的事件历史页面,筛选资源类型为AWS::S3::Object,资源ARN填写被操作对象的完整S3 ARN,事件名称筛选PutObject、DeleteObject等对应操作类型,即可查看操作对应的IAM用户ARN、访问密钥ID、操作时间、源IP等全量信息
    • 如果已配置CloudTrail日志投递到CloudWatch Logs,也可以通过CloudWatch Logs Insights编写查询语句,批量检索历史所有操作记录

注意:如果未提前开启CloudTrail的S3对象级事件记录,历史操作的身份信息无法回溯,建议先完成CloudTrail配置再上线告警规则

3. Terraform state文件防护额外建议

针对terraform state这类核心文件,可额外添加两层防护降低风险:

  • 开启S3存储桶版本控制,就算文件被误删或覆盖,也可以直接恢复历史版本,避免核心配置丢失
  • 配置IAM最小权限,仅给需要更新state的服务或成员开放对象写权限,普通成员仅分配读权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:15:03