为已接入 WAF 的防护对象或防护对象组开启 Agentic API 安全后,系统将自动检测其下的 API 资产,也支持手动导入 API 资产。本文介绍如何在资产管理页面查看并管理 API 资产。
适用范围
仅适用于已为防护对象或防护对象组开启 Agentic API 安全 的场景。开启方式为:在 API安全 > 策略配置 > 生效对象配置 页面中,为对应防护对象开启基础检测开关。
旧版 API 安全不支持从 Swagger 导入 API 资产与 Schema配置,仅新版 Agentic API 安全支持该功能。如需使用,请将旧版 API 安全升级至新版 Agentic API 安全。更多信息,请参见【公告】Web应用防火墙API安全模块升级通知。
页面功能介绍
进入控制台
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择。
单击资产管理页签。
功能区块介绍
在资产管理页签,可查看 API 资产统计数据,并通过筛选条件搜索资产信息。页面包含以下三个功能区块:
API资产总览
该区块展示 API 资产的统计数据,包括:API资产总数、今日新增数、活跃API数、失活API数、响应涉敏站点数、响应涉敏API数、跨境数据传输API数,以及存在机器请求API数。
单击今日新增、失活API数、响应涉敏站点数或响应涉敏API数对应的统计数字,可在下方的 API 资产列表中查看该类别的详细数据。
统计周期为 30 天。超过 30 天无访问记录的 API 将从资产列表中移除。通过 Swagger 导入的 API 资产不受此规则影响,在产生流量前不会被判为失活或移除。
应用站点栏
页面左下方的站点栏展示站点名称(域名)及其关联的 API 数量。默认情况下,API资产列表显示全部应用站点的数据。单击任一站点,可在下方的 API资产列表中查看该站点的详细数据。
API资产列表
搜索与筛选
资产列表上方的搜索栏支持按以下条件筛选 API 资产:API 名称、备注、时间范围、敏感数据类型、服务对象、业务用途、请求方法、活跃状态、关注状态、鉴权状态、接口敏感等级。
通过 Swagger 手动导入 API 资产
Agentic API 安全支持通过流量自动识别并纳管 API 资产,适用于发现线上已运行接口。对于接口未上线、流量较低、灰度发布,或需要对请求和响应进行契约级校验的场景,自动识别可能存在资产发现延迟或参数信息不完整的情况。此时,可通过手动导入 Swagger(OpenAPI)规范文件,将研发侧定义的接口契约批量导入为 API 资产,提前完成资产纳管,并为后续 Schema 校验和敏感数据标记提供权威的接口结构定义。
操作步骤
单击API资产列表右侧的导入 Swagger。
在从 Swagger 导入 API 资产对话框,上传 JSON 格式文件(文件大小不超过 5 MB)。参考示例如下。
{ "openapi": "3.0.3", "info": { "title": "用户信息接口", "version": "1.0.0" }, "servers": [ { "url": "https://user.example.com" } ], "paths": { "/users/{userId}": { "get": { "summary": "查询用户信息", "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "查询成功", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponse" } } } } } } } }, "components": { "schemas": { "UserResponse": { "type": "object", "properties": { "userId": { "type": "string" }, "userName": { "type": "string" }, "phone": { "type": "string" }, "idCard": { "type": "string" } } } } } }文件上传完成后,系统将自动解析 API。请继续完成以下配置:
关联防护对象:选择该 API 需关联的防护对象。
已存在 API 的处理方式:若系统已通过流量自动识别到相同 API 资产,请选择处理方式:
跳过:保留系统已识别的现有资产,忽略本次上传的重复项。
覆盖:使用本次上传的接口规范更新现有已识别资产的 Schema,已有资产的调用量、活跃状态、风险记录等信息不受影响。
配置完成后,在 API资产列表 右侧单击 导入记录,可查看 Swagger 文件的导入状态及结果。
为API资产配置Schema
Agentic API 安全支持为 API 资产配置 Schema,即定义该接口的请求参数与响应结构规范。配置完成后,该 Schema 将作为接口的权威规范,供 Schema 校验策略在运行时比对实际请求与预期契约。
操作步骤
在API资产列表,定位至目标API资产。
单击其操作列的配置 Schema,支持以下两种配置方式。
可视化模式
在可视化模式下,Schema按Parameters、Request Body、Responses三个页签分别配置。Method、HostName、Path等信息不支持修改。
Parameters(请求参数)
支持添加Path、Query、Header、Cookie四种位置的参数。每个参数支持配置:
配置项
说明
字段名
参数名称,必填
类型
参数的数据类型,如string、integer、boolean等
required(必填)
是否必填。Path参数固定为必填,其余位置可自行开关
format
参数格式,如email、date、uuid等,按类型提供可选项
pattern(正则)
正则校验表达式,仅对string类型生效
enum(枚举值)
枚举值列表,多个值以逗号分隔
Request Body(请求体)
支持配置请求体是否必填,并按Content-Type(如application/json)定义请求体字段结构。字段配置项与Parameters相同。
Responses(响应)
支持添加状态码(如200),并为每个状态码配置Response Headers与Response Body:
Response Headers:定义响应头字段的字段名、类型、required及format、pattern、enum属性。
Response Body:按Content-Type定义响应体字段结构,字段配置项与上述相同。此外,Response Body字段支持设置敏感数据类型,用于API实时脱敏。敏感数据类型仅支持在Responses中配置。
JSON模式
在JSON模式下,可直接编辑符合OpenAPI 3.0.x/3.1.x规范的JSON内容。要求:
JSON中仅可包含一个Path和一个Method,且需与当前API资产的Method、域名、Path一致。
servers中需提供与当前资产一致的域名。
JSON示例
{ "openapi": "3.0.3", "info": { "title": "创建用户接口", "version": "1.0.0" }, "servers": [ { "url": "https://www.example.com" } ], "paths": { "/users": { "post": { "summary": "创建用户", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "userName": { "type": "string" }, "email": { "type": "string", "format": "email" }, "status": { "type": "string", "enum": ["active", "inactive"] } }, "required": ["userName", "email"] } } } }, "responses": { "200": { "description": "成功", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "integer", "format": "int64" }, "userName": { "type": "string" }, "email": { "type": "string", "format": "email", "x-sensitive-data-types": ["邮箱"] } }, "required": ["userId"] } } } } } } } } }配置Schema校验模板,对实际请求与响应进行校验,具体内容,请参见四、处置策略配置。
查看API资产详情
在 API资产列表 中,单击目标 API 名称,进入API详情 页面。该页面包含 概览、请求样例、流量分析、风险及事件、防护建议 五个模块。
概览
概览卡片位于页面上方,展示以下信息:关联域名、首次发现时间、最近活跃时间、业务用途、服务对象、鉴权状态、关联防护对象及备注。
请求样例
单击请求样例页签,可查看以下信息:
敏感数据类型:若请求或响应中包含敏感数据,将显示具体类型。
请求样例展示:系统随机抽取最多 5 个 API 请求样例。支持切换 拆分展示 和 合并展示 模式:
拆分展示:将样例拆分为敏感数据、常规、请求头、响应头、请求体、响应体,支持单独查看和复制。
合并展示:将样例整合为敏感数据、请求样例、响应样例,支持单独查看和复制,便于进行流量重放测试。
验证操作:
单击 浏览器打开,可快速验证接口访问情况。
单击 命令行,可获取 cURL 命令,用于手工访问验证。
参数识别结果:请求参数类型 及 响应参数类型 区域展示了基于流量基线识别的结果,包括参数名、值特征及参数位置。
流量分析
单击 流量分析 页签,可查看该 API 接口近 30 天的访问数据:
流量分析:展示接口调用趋势,统计总调用量、机器请求量及跨境请求量。
TOP20访问源:列出近 30 天内,按总流量、机器流量、跨境流量维度排名前 20 的访问源。
客户端来源统计:从 Referer、客户端类型、地理位置、账号四个维度,统计近 30 天内的访问来源分布。
风险及事件
单击 风险及事件 页签,可查看该 API 关联的风险、IP安全事件及账号安全事件。单击操作列的查看详情,可跳转至详情页获取更多信息。
防护建议
单击防护建议页签,系统将根据 API 调用基线分析结果,提供针对性的安全防护建议。
日常运维
在 API资产列表 中,可通过列表右上角的
图标选择需要展示的列,并执行以下查看或管理操作:
如需导出资产列表信息,请单击右上角的
图标,系统将创建导出任务。随后单击页面右上角的 导出记录,在导出记录列表中找到目标文件,单击操作列的下载 即可获取文件。
列名称 | 说明 |
API | 展示 API 名称、API 状态及请求方法。同一 API 的不同请求方法将作为多条 API 接口分别展示。系统内置新增与失活状态识别逻辑,可在 策略配置 > 生命周期管理中修改失活标签判定规则,详见生命周期管理。 |
域名/IP | API 接口所属的域名或 IP。 |
调用量 | 该 API 接口在所选时间范围内的访问量。 |
接口敏感等级 | 根据响应数据中包含的敏感数据类型及数据量级评定,分为高敏感、中敏感、低敏感、非敏感四个等级。 |
请求敏感数据类型 | 请求中包含的敏感数据类型。 |
响应敏感数据类型 | 响应中包含的敏感数据类型。 |
机器请求数 | 机器发起的请求量。系统通过四层及七层流量指纹分析,统计源 IP 为机器发起的请求数量。 |
跨境请求数 | 源 IP 位于非中国内地的请求数量。 |
业务用途 | 标识接口功能用途。系统根据 API 路径特征和参数名特征,匹配内置及自定义业务用途字段进行判定。可在 策略配置 > 业务用途配置 中根据业务特性定制,详见业务用途配置。 |
服务对象 | API 接口的调用方或使用者。系统根据接口命名特征和访问来源聚集性进行判断,分为内部办公、三方合作、公共服务三类。 |
鉴权 | API 接口的鉴权字段。系统内置鉴权凭据识别逻辑,可在 策略配置 > 鉴权凭据配置中根据业务特性定制,详见鉴权凭据配置。 |
风险/IP事件/账号事件 | 单击对应列下的数字,可跳转查看风险或事件详情,详见风险与事件。 |
首次发现时间 | API 接口的首次发现时间。 |
最近活跃时间 | API 接口最近一次被访问的时间。 |
备注 | 根据业务需求添加 API 接口备注。单击 |
关注 | 用于更改对该 API 接口的关注状态。单击 |
AI分析 | 通过 AI 安全助手分析资产,提供业务用途、调用趋势、安全建议等信息。暂不支持分析混合云接入的对象。 |
配置 Schema | 具体信息,请参见为API资产配置Schema。 |