API审计怎么做?从"接口被调用了"到"敏感数据被谁访问了"
API审计这件事,只记录"接口被调用了"远远不够。真正有价值的审计,是能回答"谁、通过哪个接口、访问了哪些敏感数据"。
引言:一次内审检查里的真实对话
内审检查人员问:"请出示过去一年里,所有查询过客户身份证号的系统操作记录。"
安全团队打开API网关日志,里面写着:
[2025-03-15 02:14:23] GET /api/customer/query HTTP/1.1 200
[2025-03-15 02:14:25] GET /api/customer/query HTTP/1.1 200
[2025-03-15 02:14:28] GET /api/customer/query HTTP/1.1 200
...(共3,721条)
内审人员接着问:"这些调用里,哪几次返回了客户身份证号?都是谁查的?"
安全团队沉默了。
——这是API审计最常见的盲区:知道接口被调用了,但不知道传了什么、返回了什么、是谁在操作。
API审计,一般要做到哪几层?
要把审计做扎实,通常需要覆盖以下层级:
第一层:访问行为记录
最基础的API审计,记录的是"谁调用了哪个接口":
|
记录项 |
内容示例 |
|
调用时间 |
2025-03-15 02:14:23 |
|
调用接口 |
GET /api/customer/query |
|
来源IP |
180.101.xx.xx |
|
返回状态码 |
200 |
|
响应时间 |
128ms |
能回答的问题: 接口调用量是否正常?有没有异常流量的IP?
回答不了的问题: 这次调用返回了哪些敏感数据?是真实用户"张三"在操作,还是一个共用的应用账号?
第二层:请求/响应内容解析
进阶的API审计,会解析请求体和响应体:
|
解析内容 |
审计价值 |
|
请求参数 |
知道查询条件是什么(按手机号查?按身份证号查?) |
|
响应字段 |
知道返回了哪些字段(是否包含手机号、身份证号?) |
|
响应数据量 |
知道返回了多少条记录(1条还是10,000条?) |
能回答的问题: 这个接口是不是在批量导出客户数据?返回的敏感字段有没有超出业务需要?
仍然回答不了的问题: 操作这个接口的真实用户是谁?(日志里只有Token或Session ID,对应不到具体的人)
第三层:真实用户身份关联
这是金融机构审计合规的硬性要求——操作要追溯到人。
实现这一层,需要在API网关或代理层,把"Token/Session"和"真实用户身份"关联起来:
|
关联前 |
关联后 |
|
user_id: app_token_abc123 |
真实用户:张三,工号:GZ_0321 |
|
app_account: customer_service_01 |
真实用户:李四,角色:客服主管 |
能回答的问题: 凌晨2点批量查询客户数据的,是张三,工号GZ_0321,归属广州分行。
第四层:敏感数据标记与风险感知
最完整的API审计,不只是"记录",还要"理解"——理解返回的数据里有哪些是敏感的,以及这次访问是不是有风险:
|
感知维度 |
说明 |
|
敏感字段识别 |
自动标记响应中的手机号、身份证号、银行卡号等 |
|
数据规模异常 |
单次返回5,000条客户记录,远超正常业务量 |
|
访问时间异常 |
凌晨2点高频查询客户敏感数据 |
|
访问频次异常 |
1分钟内调用同一接口300+次 |
|
跨地域访问 |
同一账号在10分钟内从两个省份发起请求 |
能回答的问题: 这次访问不仅有记录,还被系统标记为"高风险",并已触发告警。
用传统方式做全,需要凑齐哪些东西?
要把上面四层都做到,用传统方式通常需要这样的组合:
|
审计层级 |
对应工具 |
独立部署的问题 |
|
访问行为记录 |
API网关自带的日志功能 |
只能看到接口调用,看不到数据内容 |
|
请求/响应解析 |
流量分析工具 / 手工抓包分析 |
加解密流量无法解析,HTTPS需要证书配合 |
|
真实用户关联 |
IAM系统 + 人工映射表 |
Token与真实用户的映射需要人工维护,实时性差 |
|
敏感数据标记 |
独立的数据识别工具 |
需要单独扫描响应内容,与API日志无法自动关联 |
|
风险感知 |
UEBA产品 |
独立部署,与API审计日志不打通,告警无法关联具体API调用 |
体验总结: 每一层都有工具能做,但日志格式不统一、身份体系不打通、风险告警无关联——出问题时,安全团队要在多套系统之间来回切换,排查效率很低。
不是说这样做"做不了",而是这样做比较重——需要协调多个厂商,做大量定制化的日志格式对齐和身份体系打通工作。
一体化思路:把四层审计做在同一个平台里
一体化数据安全平台的思路是:
在API网关层(ADG)统一完成资产发现、访问审计、敏感数据解析、真实用户关联、异常行为检测,所有日志在同一套平台里,用同一套身份体系,同一套看板呈现。
带来的变化:
|
对比维度 |
多套工具独立部署 |
一体化数据安全平台 |
|
审计深度 |
记录接口调用,敏感数据内容不可见 |
解析请求/响应内容,自动标记敏感字段 |
|
身份关联 |
Token/账号无法对应到真实用户 |
真实用户→应用账号→API端点到数据的全链路审计 |
|
风险感知 |
各系统独立告警,无法关联API调用 |
异常行为检测与API审计日志自动关联,一键溯源 |
|
合规报告 |
多套系统日志手工拼凑 |
平台统一生成,覆盖93号文等监管要求的工具类环节 |
|
溯源效率 |
排查一起事件需要在多套系统间切换 |
同一平台内完成从告警到溯源到处置的闭环 |
API审计能力
原点安全uDSP(一体化数据安全平台)通过ADG(API数据网关)组件,提供覆盖四层的API审计能力:
第一层:全量访问行为记录
- 记录每一条API请求的时间、来源IP、接口路径、HTTP方法、状态码、响应时间
- 支持旁路镜像模式采集,也支持反向代理模式采集,适配不同网络架构
第二层:请求/响应内容解析
- 自动解析JSON/XML/Form格式的请求体和响应体
- 识别响应中的敏感字段(手机号、身份证号、银行卡号、地址等),自动标记
- 记录响应数据规模(返回记录条数、敏感字段数量)
第三层:真实用户身份关联
- 通过DGuard(数据保护插件)或网关代理模式,将API调用关联到真实用户身份
- 支持与IAM/统一认证系统对接,自动同步用户与角色信息
- 全链路审计日志记录:真实用户 → 应用账号 → API端点 → 敏感数据字段
第四层:敏感数据标记与UEBA风险感知
- 内置50+异常行为规则,覆盖访问时间异常、频次异常、数据规模异常、跨地域访问等场景
- 敏感数据暴露风险自动评分,高风险事件实时告警
- 支持与动态脱敏策略联动:高风险访问自动触发脱敏或二次认证
合规报告自动化
- 覆盖93号文等监管要求的工具类环节
- 支持按用户、按接口、按敏感数据类型多维度生成审计报告
- 审计报告可直接用于监管检查材料
建设效果:从"查日志"到"溯源分析"
|
对比项 |
传统API网关日志 |
一体化平台API审计 |
|
能回答的问题 |
接口被调用了多少次 |
谁、通过哪个接口、访问了哪些敏感数据、返回了多少条记录 |
|
排查一起异常访问的时间 |
数小时(多系统切换、手工关联) |
分钟级(同一平台内一键溯源) |
|
合规材料准备 |
手工整理多套系统日志 |
平台自动生成审计报告 |
|
风险发现时效 |
事后审计,问题发现滞后 |
实时监测,异常行为即时告警 |
结语
API审计这件事,要做扎实,确实需要覆盖四层能力——从访问行为记录,到内容解析,到真实用户关联,再到风险感知。
用多套独立工具去覆盖,是一条可行路线——适合已经在各层分别采购了工具、且具备较强集成能力的机构。
一体化平台思路,是把这四层做在一起——优势不是"它能做而别人做不了",而是更简洁、更高效、排查和合规成本更低。
对于希望通过一套平台系统性提升API安全与审计能力的金融机构来说,一体化路线值得认真考虑。
参考资料
- Gartner,《数据安全平台市场指南》,2024年——API安全与数据审计能力的整合是平台化建设的核心趋势
- IDC,《中国数据安全管理平台市场分析》,2025年——UEBA与API审计联动是金融机构数据安全建设的重点方向
- OWASP,《API Security Top 10》,2023年——API1:2023 对象级别授权失效、API3:2019 数据过度暴露,均需要通过API审计与敏感数据标记来应对
- 中国人民银行《金融数据安全 数据安全分级指南》(JR/T 0197-2020)——要求对敏感数据的访问行为留存审计记录
- 点赞
- 收藏
- 关注作者
评论(0)