如何审计AWS账户变更?寻求免费实现方案
AWS账户全操作审计/告警的免费方案
如果你想跟踪AWS账户内所有操作的变更(谁做了什么、操作内容),且不想付费,以下几个AWS原生免费工具可以满足需求:
1. AWS CloudTrail(核心免费层)
CloudTrail是AWS默认提供的审计服务,免费层包含每个区域5个Trail,且每月可存储5GB的日志数据,超出部分才会收费。它会记录所有AWS API调用(包括控制台操作、CLI/SDK调用),包含以下关键信息:
- 操作发起者的IAM身份(用户/角色)
- 操作的时间、区域、API动作
- 请求参数和响应结果
快速启用方式(CLI)
# 创建一个CloudTrail并关联S3存储桶(需提前创建S3桶) aws cloudtrail create-trail --name account-wide-audit-trail --s3-bucket-name your-audit-log-bucket --is-multi-region-trail # 启用日志记录 aws cloudtrail start-logging --name account-wide-audit-trail
你可以在CloudTrail控制台搜索特定操作,也可以把日志导出到S3后用Athena做分析,或者结合CloudWatch Events设置告警(比如检测删除IAM角色、修改安全组这类敏感操作)。
2. AWS Config(免费层)
AWS Config专注于资源配置变更跟踪,免费层允许每月评估最多100个资源,记录每个资源的配置历史和变更时间,还能显示变更前后的配置差异,帮你明确"资源从什么状态改成了什么状态"。
它可以和CloudTrail联动,定位到发起变更的IAM身份,适合需要追踪资源配置全生命周期的场景。
3. CloudWatch Logs + CloudWatch Alarms
把CloudTrail的日志导入CloudWatch Logs后,你可以创建自定义告警规则:
- 比如检测
DeleteBucket、UpdateRolePolicy这类高风险API调用 - 一旦触发,通过SNS发送邮件/短信告警
示例:创建CloudTrail日志告警
- 在CloudTrail中配置将日志发送到CloudWatch Logs组
- 在CloudWatch中创建日志过滤规则,匹配敏感API动作:
{ $.eventName = "DeleteBucket" || $.eventName = "UpdateRolePolicy" } - 关联SNS主题,设置告警通知
关于你提到的OpenSearch审计日志
你找到的OpenSearch审计日志仅针对OpenSearch Service自身的操作(比如集群内的索引修改、用户访问),不是针对整个AWS账户的全操作审计,且免费期仅12个月,适合特定服务的细粒度审计,但不是账户级的免费方案。
而AWS Audit Manager是付费的合规审计工具,适合需要生成合规报告的场景,普通审计需求用上面的免费工具足够覆盖。
内容的提问来源于stack exchange,提问作者DevopitionBro
相关产品推荐
相关产品推荐

