2、审计日志基础概念:什么是审计日志、与资源日志的区别、常见审计日志类型
老规矩,先搞清楚概念。审计日志这玩意儿,说白了就是 Azure 平台给你的一份“谁在什么时候、通过什么方式、对什么资源做了什么操作”的详细账单。不是钱的那种账单,是行为记录。
我记得第一次接触 Azure 审计日志时,第一反应是:这不就是操作记录吗?没错,但它比普通操作记录严格多了。审计日志的核心价值在于——不可否认性。你想想看,如果有人删了你的生产数据库,你总不能凭感觉去跟老板汇报吧?审计日志就是那个铁证。
什么是审计日志
审计日志是 Azure 平台自动生成的、不可修改的事件记录。它主要回答三个问题:
- 谁?——哪个用户、服务主体或安全组发起的操作
- 做了什么?——对哪个资源执行了什么操作(比如创建、更新、删除)
- 结果如何?——操作是成功还是失败,返回了什么状态码
我个人习惯把审计日志理解为“Azure 的监控摄像头”。它不关心你的虚拟机 CPU 使用率有多高,也不关心你的数据库查询有多慢。它只关心一件事:谁碰了你的云资源。
核心要点:审计日志记录的是控制平面操作(Control Plane Operations),也就是通过 Azure Resource Manager (ARM) 发起的操作。凡是你在 Azure 门户、CLI、PowerShell 或 SDK 里做的配置变更,都会落审计日志。
审计日志与资源日志的区别
很多刚接触 Azure 监控的同事会混淆这两个概念。我曾经也被数据库管理员问过:“你给我的审计日志怎么没有 SQL 查询记录?”——嗯,这就是典型的搞混了。
我把它们的核心区别整理成了表格:
| 对比维度 | 审计日志 | 资源日志 |
|---|---|---|
| 谁产生的 | Azure 平台(ARM) | 具体的 Azure 资源(如 VM、SQL DB) |
| 记录什么 | 对资源的操作行为(创建/删除/修改) | 资源内部的运行状况(性能/错误/访问) |
| 典型场景 | 谁删了存储账户、谁改了网络安全规则 | CPU 爆了、磁盘满了、SQL 查询超时 |
| 存储位置 | 默认保留 90 天(可通过诊断设置导出) | 需要手动配置到 Log Analytics / 存储账户 |
| 数据格式 | 统一的 JSON 结构(AuditLog) | 因资源类型而异(比如 VM 的 Syslog、IIS 日志) |
一个小技巧:如果想知道某人是不是在半夜偷偷扩容了 VM 规模集,查审计日志。如果想知道扩容后 VM 的性能有没有崩,查资源日志。两者配合使用效果最佳。
举个例子。有一次我被安全团队问:“我们想知道上周三有没有人尝试用错误密码登录虚拟机。”我当时就笑了——审计日志里可没有这个。审计日志只会告诉你“谁启动了虚拟机”或者“谁修改了 NSG 规则”。至于虚拟机内部的登录失败记录,那是资源日志的活儿(Windows 事件日志的 4625 事件)。
常见审计日志类型
Azure 审计日志本质上只有一种——Azure Activity Log(活动日志)。但根据记录的对象范围,我们可以把它分为三层:
- 租户级别(Tenant Level):由 Azure Active Directory 审计日志提供。记录的是租户级别的操作,比如创建用户、重置密码、修改目录设置。
- 订阅级别(Subscription Level):这就是最常见的 Azure Activity Log。记录当前订阅下所有资源的管理操作,比如创建 VM、删除存储账户、分配角色。
- 资源级别(Resource Level):某些 Azure 服务会有自己专属的操作日志,比如 Azure Key Vault 会记录“谁访问了哪个密钥”。这部分严格来说属于资源日志范畴,但因为它记录的是“谁操作了什么”,很多人也会当审计日志用。
我个人的经验是:先盯住订阅级别的 Activity Log,解决了 90% 的审计需求。等你需要细粒度审计时再考虑租户级别和资源级别。
避坑指南:我曾经遇到过一个团队把审计日志设成了 90 天保留期后就不管了。结果半年后出了合规审计,发现日志早就被自动删了。记住,默认保留 90 天,超过这个时间的日志必须通过诊断设置导出到 Log Analytics 或存储账户长期保存。
下面这张图可以帮助你快速理解审计日志在整个 Azure Monitor 体系中的位置,以及与资源日志的关系:
你看,审计日志和资源日志就像大门的监控录像和屋内的传感器——一个记录谁进出,一个记录室内温度是否异常。你无法用监控录像去替代温度传感器,反过来也一样。
说到这里,你应该对审计日志有了一个清晰的认知了。它不是什么高深莫测的东西,就是 Azure 平台给你的一份“谁在什么时候对什么资源做了什么”的流水账。只不过这份流水账是防篡改、强制记录、且带有时间戳的——这正是审计合规的核心依赖。
嗯,基本概念清楚了,后面几章我们就可以聊点实用的东西了。比如怎么把这些日志捞出来、存起来、以及怎么在出事的时候快速定位问题。