资产管理

更新时间:
复制 MD 格式

为已接入 WAF 的防护对象或防护对象组开启 Agentic API 安全后,系统将自动检测其下的 API 资产,也支持手动导入 API 资产。本文介绍如何在资产管理页面查看并管理 API 资产。

适用范围

  • 仅适用于已为防护对象或防护对象组开启 Agentic API 安全 的场景。开启方式为:在 API安全 > 策略配置 > 生效对象配置 页面中,为对应防护对象开启基础检测开关。

  • 旧版 API 安全不支持从 Swagger 导入 API 资产与 Schema配置,仅新版 Agentic API 安全支持该功能。如需使用,请将旧版 API 安全升级至新版 Agentic API 安全。更多信息,请参见【公告】Web应用防火墙API安全模块升级通知。

页面功能介绍

进入控制台

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。

  2. 在左侧导航栏,选择防护配置 > API安全。

  3. 单击资产管理页签。

功能区块介绍

在资产管理页签,可查看 API 资产统计数据,并通过筛选条件搜索资产信息。页面包含以下三个功能区块:

  • API资产总览:位于页面上方,展示 API 资产的整体统计数据。

  • 应用站点栏:位于页面左下方,用于按站点筛选资产。

  • API资产列表:位于页面右下方,展示符合条件的 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 校验和敏感数据标记提供权威的接口结构定义。

操作步骤

  1. 单击API资产列表右侧的导入 Swagger。

  2. 在从 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"
              }
            }
          }
        }
      }
    }
  3. 文件上传完成后,系统将自动解析 API。请继续完成以下配置:

    • 关联防护对象:选择该 API 需关联的防护对象。

    • 已存在 API 的处理方式:若系统已通过流量自动识别到相同 API 资产,请选择处理方式:

      • 跳过:保留系统已识别的现有资产,忽略本次上传的重复项。

      • 覆盖:使用本次上传的接口规范更新现有已识别资产的 Schema,已有资产的调用量、活跃状态、风险记录等信息不受影响。

  4. 配置完成后,在 API资产列表 右侧单击 导入记录,可查看 Swagger 文件的导入状态及结果。

为API资产配置Schema

Agentic API 安全支持为 API 资产配置 Schema,即定义该接口的请求参数与响应结构规范。配置完成后,该 Schema 将作为接口的权威规范,供 Schema 校验策略在运行时比对实际请求与预期契约。

操作步骤

  1. 在API资产列表,定位至目标API资产。

  2. 单击其操作列的配置 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"]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  3. 配置Schema校验模板,对实际请求与响应进行校验,具体内容,请参见四、处置策略配置。

查看API资产详情

在 API资产列表 中,单击目标 API 名称,进入API详情 页面。该页面包含 概览、请求样例、流量分析、风险及事件、防护建议 五个模块。

概览

概览卡片位于页面上方,展示以下信息:关联域名、首次发现时间、最近活跃时间、业务用途、服务对象、鉴权状态、关联防护对象及备注。

请求样例

单击请求样例页签,可查看以下信息:

  • 敏感数据类型:若请求或响应中包含敏感数据,将显示具体类型。

  • 请求样例展示:系统随机抽取最多 5 个 API 请求样例。支持切换 拆分展示 和 合并展示 模式:

    • 拆分展示:将样例拆分为敏感数据、常规、请求头、响应头、请求体、响应体,支持单独查看和复制。

    • 合并展示:将样例整合为敏感数据、请求样例、响应样例,支持单独查看和复制,便于进行流量重放测试。

  • 验证操作:

    • 单击 浏览器打开,可快速验证接口访问情况。

    • 单击 命令行,可获取 cURL 命令,用于手工访问验证。

  • 参数识别结果:请求参数类型 及 响应参数类型 区域展示了基于流量基线识别的结果,包括参数名、值特征及参数位置。

流量分析

单击 流量分析 页签,可查看该 API 接口近 30 天的访问数据:

  • 流量分析:展示接口调用趋势,统计总调用量、机器请求量及跨境请求量。

  • TOP20访问源:列出近 30 天内,按总流量、机器流量、跨境流量维度排名前 20 的访问源。

  • 客户端来源统计:从 Referer、客户端类型、地理位置、账号四个维度,统计近 30 天内的访问来源分布。

风险及事件

单击 风险及事件 页签,可查看该 API 关联的风险、IP安全事件及账号安全事件。单击操作列的查看详情,可跳转至详情页获取更多信息。

防护建议

单击防护建议页签,系统将根据 API 调用基线分析结果,提供针对性的安全防护建议。

日常运维

在 API资产列表 中,可通过列表右上角的image图标选择需要展示的列,并执行以下查看或管理操作:

说明

如需导出资产列表信息,请单击右上角的下载图标,系统将创建导出任务。随后单击页面右上角的 导出记录,在导出记录列表中找到目标文件,单击操作列的下载 即可获取文件。

列名称

说明

API

展示 API 名称、API 状态及请求方法。同一 API 的不同请求方法将作为多条 API 接口分别展示。系统内置新增与失活状态识别逻辑,可在 策略配置 > 生命周期管理中修改失活标签判定规则,详见生命周期管理。

域名/IP

API 接口所属的域名或 IP。

调用量

该 API 接口在所选时间范围内的访问量。

接口敏感等级

根据响应数据中包含的敏感数据类型及数据量级评定,分为高敏感、中敏感、低敏感、非敏感四个等级。

请求敏感数据类型

请求中包含的敏感数据类型。

响应敏感数据类型

响应中包含的敏感数据类型。

机器请求数

机器发起的请求量。系统通过四层及七层流量指纹分析,统计源 IP 为机器发起的请求数量。

跨境请求数

源 IP 位于非中国内地的请求数量。

业务用途

标识接口功能用途。系统根据 API 路径特征和参数名特征,匹配内置及自定义业务用途字段进行判定。可在 策略配置 > 业务用途配置 中根据业务特性定制,详见业务用途配置。

服务对象

API 接口的调用方或使用者。系统根据接口命名特征和访问来源聚集性进行判断,分为内部办公、三方合作、公共服务三类。

鉴权

API 接口的鉴权字段。系统内置鉴权凭据识别逻辑,可在 策略配置 > 鉴权凭据配置中根据业务特性定制,详见鉴权凭据配置。

风险/IP事件/账号事件

单击对应列下的数字,可跳转查看风险或事件详情,详见风险与事件。

首次发现时间

API 接口的首次发现时间。

最近活跃时间

API 接口最近一次被访问的时间。

备注

根据业务需求添加 API 接口备注。单击image图标,填写备注信息后单击image图标保存。

关注

用于更改对该 API 接口的关注状态。单击image图标可关注该 API 接口。

AI分析

通过 AI 安全助手分析资产,提供业务用途、调用趋势、安全建议等信息。暂不支持分析混合云接入的对象。

配置 Schema

具体信息,请参见为API资产配置Schema。