本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
安全报告视图可让您创建报告以识别 API 的安全威胁。为了生成报告,Apigee 会扫描指定时间间隔内的 API 流量数据,并搜索可能由恶意代理引起的异常流量模式。然后,Apigee 会展示一个报告,显示所有可疑活动。利用这些信息,您可以采取措施阻止针对 API 的攻击。
您可以按下述方式或使用安全报告 API 在 Apigee 界面中创建安全报告。如果您使用界面,则报告的数据将局限于您选择的环境。但是,您还可以使用 API 为环境组创建报告。
如需了解执行安全报告任务所需的角色,请参阅安全报告所需的角色。
如需使用此功能,您必须启用该插件。如果您是订阅客户,则可以为组织启用该插件。如需了解详情,请参阅管理订阅组织的 Advanced API Security。如果您是随用随付客户,则可以在符合条件的环境中启用该插件。如需了解详情,请参阅管理 Advanced API Security 插件。
聊天机器人检测
API 安全的最严重威胁之一是来自漫游器:向 API 发送恶意请求的自动化脚本。Advanced API Security 会搜索特定的 API 流量模式来检测机器人。这种特定的 API 流量模式称为检测规则,基于对真实 API 数据的分析。
安全报告数据延迟
数据进入 Apigee Analytics 流水线的平均延迟时间为 15 到 20 分钟。因此,结束时间在过去 20 分钟以内的安全报告可能会返回错误的结果。
打开安全性报告视图
如需打开安全性报告视图,请执行以下操作:
- 如果您使用的是 Cloud 控制台中的 Apigee 界面:请选择 Advanced API Security > 安全性报告。
- 如果您使用的是经典版 Apigee 界面:请选择分析 > API 安全 > 安全性报告。经典版 Apigee 界面与 Cloud 控制台中的 Apigee 界面中的列名称和行为可能有所不同。
系统会显示安全性报告主视图:
在页面顶部,您可以选择:
- 您要在其中创建报告的环境。
- 报告类型过滤条件。选项包括:
- 全部
- 已启用
- 已失败
- 已过期
在这些选项下方,安全报告显示在表格的各行中。每行显示以下报告详细信息:
- 报告名称。 点击报告名称以查看报告。
- 报告状态,可以是以下状态之一:
- 正在运行:报告目前正在运行,无法查看。
- 已完成:报告已完成,可以查看或导出。
- 已过期:报告已过期,无法再在界面中查看或导出。如需在到期日期之后查看报告,您必须在该日期之前导出。30 天后,该报告将从可用报告列表中移除。
开始时间和结束时间显示报告的开始和结束日期及时间。
- 提交日期:提交报告请求的日期和时间。
- 到期时间:报告到期且无法再在 Apigee 界面中查看的日期和时间。到期日期是创建报告后 7 天。 30 天后,报告会从可用报告列表中移除。您无法在报告的到期日期之后在界面中查看或导出报告。
- 文件大小:报告文件大小。您可能需要修改报告条件,以创建文件大小小于文件大小上限的报告。如需了解文件大小上限以及减小文件大小的具体方法,请参阅安全报告的限制。
- 导出:以 zip 文件的形式导出/下载报告。只有当报告状态为已完成时,才能导出。
创建新的安全报告
如需创建新的安全性报告,请先在安全性报告视图中点击 +创建。此操作会打开创建安全报告作业对话框,您可以在其中配置报告的选项,如下一部分所述。
安全报告选项
您可以为安全报告指定以下选项:
- 报告名称:报告的名称。
- 报告日期范围:报告的开始时间和结束时间。
注意:报告的开始时间和结束时间必须是过去的时间,并且最长比创建报告的时间早一年。
- 指标:报告的指标。您可以从以下指标和聚合函数中进行选择,这些函数用于计算指标的统计信息。
指标 说明 聚合函数 bot 每隔一分钟检测到的聊天机器人的不同 IP 地址数量。 count_distinct bot_traffic 每隔一分钟检测到的聊天机器人 IP 地址发出的消息数量。 sum message_count Apigee 每隔一分钟处理的 API 调用总数。
注意:同一个报告中的 message_count 不能与其他指标或 bot_reason 维度结合使用。
sum response_size 返回的响应载荷大小(以字节为单位)。 sum、avg、min、max 维度:利用维度,您可以依据数据的相关子集将指标值归为一组。下表介绍了 Advanced API Security 报告特有的维度。
维度 说明 bot_reason
incident_id
(预览)security_action
(预览)安全操作的类型。可能的值包括 ALLOW、DENY 和 FLAG。 security_action_name
安全操作的名称。 security_action_headers
附加到对 ALLOW 操作的请求的标头。 注意:特定于 Advanced API Security 的维度 bot_reason 可以是各个检测规则的任意组合。检测到机器人时,bot_reason 包含检测到该机器人时其匹配的流量的各个检测规则的子集。
注意:bot_reason 和 incident_id 仅适用于以下指标:
- bot
- bot_traffic
- response_size
如需了解 Advanced API Security 报告支持的其他维度,请参阅维度。
要添加多个维度,只需点击 + 添加维度即可添加要添加的每个维度。您还可以通过点击维度字段右侧的向上或向下箭头,更改报告中维度的显示顺序。
- 过滤条件:您可以使用过滤条件将结果限制为具有特定值的指标。要创建过滤条件,请设置以下字段:
- 为过滤条件选择名称。
- 选择比较运算符。
- 选择一个值。
查看过滤条件。
选择所有报告选项后,点击创建以创建报告作业。
查看已完成的报告
报告完成后,会在表格中显示,如下所示:
如需查看报告,请执行以下任一操作:
- 单击报告名称。
- 点击该报告所在行中的导出。
示例:聊天机器人 IP 地址报告
以下示例会创建一份报告,显示检测到的聊天机器人的 IP 地址。要创建该报告,请使用以下配置:
- 指标:bot,标识为聊天机器人来源的不同 IP 地址的数量。
- 聚合函数:count_distinct
- 维度:已解析的客户端 IP
完成后的报告如下所示:
请注意,报告底部的表列出了 Advanced API Security 已标识为聊天机器人的 IP 地址。
示例:根据机器人原因报告划分的机器人流量
下一个示例将创建一份机器人流量报告,即 bot_reason(检测到机器人的检测规则集)标识为机器人来源的 IP 地址发出的请求数量报告。要创建该报告,请使用以下配置:
- 指标:bot_traffic
- 聚合函数:sum
- 维度:bot_reason
完成后的报告如下所示:
每个 bot_reason 由各个检测规则的子集组成。如图表所示,产生最大机器人流量的检测规则是以下规则集:
- Flooder
- Brute Guessor
- Robot Abuser
示例:聊天机器人流量报告
下一个示例将创建未按维度分组的报告。如果您不想按维度对数据进行分组,可以将维度设置为 environment。 由于数据始终仅局限于所选环境,因此这会导致报告不包含数据分组。
- 指标:聊天机器人流量
- 聚合函数:sum
- 维度:environment
该报告显示已标识为聊天机器人来源的 IP 地址在整个报告时间范围内每间隔一分钟的总流量。请注意,不存在分组。
更多安全报告示例
下表列出了您可以使用不同指标和维度创建的报告的一些安全示例:
报告 | 指标 | 维度 |
---|---|---|
每个环境的所有聊天机器人流量和聊天机器人计数报告 | bot、bot_traffic | environment |
不同聊天机器人原因的聊天机器人流量和聊天机器人计数报告 | bot、bot_traffic | bot_reason |
不同国家/地区的聊天机器人流量和聊天机器人计数报告 | bot、bot_traffic | ax_geo_country |
不同 ISP 的聊天机器人流量和聊天机器人计数报告 | bot、bot_traffic | ax_isp |
聊天机器人检测报告(详细列表视图) | bot_traffic | 已解析的客户端 IP、ax_isp、bot_reason、request_uri、client_id |
每个访问令牌的聊天机器人流量 | bot_traffic | access_token |
每个 API 代理的聊天机器人流量 | bot_traffic | apiproxy |
每个代理系列的聊天机器人流量 | bot_traffic | ax_ua_agent_family |
每个用户代理的聊天机器人流量 | bot_traffic | useragent |
每种代理类型的聊天机器人流量 | bot_traffic | ax_ua_agent_type |
每个设备类别的聊天机器人流量 | bot_traffic | ax_ua_device_category |
每个操作系统系列的聊天机器人流量 | bot_traffic | ax_ua_os_family |
每个客户端 ID 的聊天机器人流量 | bot_traffic | client_id |
每个代理基本路径的聊天机器人流量 | bot_traffic | proxy_basepath |
每个代理路径后缀的聊天机器人流量 | bot_traffic | proxy_pathsuffix |
每个请求 URI 的聊天机器人流量 | bot_traffic | request_uri |
每个请求谓词的聊天机器人流量 | bot_traffic | request_verb |
每个响应状态代码的聊天机器人流量 | bot_traffic | response_status_code |
安全报告的限制
安全报告具有以下限制:
- 数据进入 Apigee Analytics 流水线的平均延迟时间为 15 到 20 分钟。因此,如果创建结束时间在过去 20 分钟以内的报告,可能会返回错误的结果。
- 机器人报告的时间范围上限为 1 年。
- 报告中最多可使用 25 个指标,最多可使用 25 个维度。
- 与异步自定义报告 API 一样,报告的数据上限为 31 MB。如果您遇到报告大小限制,则可以执行以下任一操作:
- 缩短报告的时间范围。
- 通过过滤一组值将数据拆分为较小的子集,然后为每个子集创建一个报告。
- 出于隐私考虑,已解析的客户端 IP 维度不能与 ax_geo_city 或 ax_geo_country 维度在同一报告中列出。
- 以下指标只能通过 Security Reports API 提供,但不在界面中提供:bot_first_detected (min) 和 bot_last_detected (max) 。