API关键技术-日志审计技术

简介: 【7月更文挑战第19天】日志审计的目的是通过审计策略和日志分析,发现系统在某一时间段内发生的异常事件,通过事件关联和追溯,分析与事件相关联的内外部人员、系统、事件涉及的范围等。

日志审计在API技术中通常是结合已有的日志服务一起使用,很少单独去构建日志审计服务,API服务仅作为日志输入的一个端点,为审计服务提供日志数据来源。如图所示,业务组件服务和API服务作为两个不同的端点向日志审计系统输入原始日志数据。

日志审计的目的是通过审计策略和日志分析,发现系统在某一时间段内发生的异常事件,通过事件关联和追溯,分析与事件相关联的内外部人员、系统、事件涉及的范围等。一条标准的日志,至少包含以下关键要素。

  • 时间:指日志发生的时间点,一般精确到秒级,特殊业务需要精确到毫秒级,准确的时间记录有利于事件的分析与关联。
  • 来源:指日志操作的来源,比如源IP、源主机。
  • 结果:指日志涉及的操作是否成功,比如一次管理API的调用请求,在日志中需要记录是调用成功还是失败。
  • 操作者:指当前日志是由谁操作的,是某个用户还是某个客户端应用程序。
  • 操作详情:指操作的具体内容是什么,比如给某个API授权,则操作详情需要记录授予什么样的权限。
  • 目标对象:指被操作的对象,比如被请求的API端点、被访问的目标主机。

除了上述基本字段外,很多审计系统根据业务场景的不同在设计时会增加其他关键字段,比如日志的类型表示是新增操作还是删除操作或其他,会话ID记录多条日志与会话的关系。

在API服务的日志采集中,可以从以下两个层面去收集。

  • 接口层:接口的日志主要用于记录在什么时间,谁调用了哪个API端点,是否调用成功等信息。如果在整个技术架构中使用了API网关,则最好在网关层面收集。这类日志信息的格式易于统一和标准化,收集可以使用代理或切面的方式,对原有API服务的影响小,基本很少需要改造。
  • 操作层:操作的日志主要用于记录API端点被调用时执行的业务操作,比如创建某个资源、删除某个资源、查询哪些数据等。这些与业务逻辑相关的日志信息,需要提前在代码中植入代码片段,按照日志标准格式输出。

当前互联网应用系统中,对API日志的收集主要采用拦截器技术。在不同的API服务或API端点日志被收集后,交由后端日志分析服务,根据既定的审计规则对数据进行分析,生成审计事件。这个过程中,审计规则的制定需要根据业务情况去梳理并在运营过程中不断优化。举例来说,系统中存在一条针对API调用限流的审计规则是非工作时间单位时间5min内连续调用接口大于2000次。在第三方厂商的业务初期,业务量小,这条审计规则不会触发审计事件,但当第三方厂商业务发展起来之后,2000的阈值可能会导致审计系统频繁触发审计事件。这时,这条审计规则就需要根据实际业务量来评估一个合理值作为新的阈值。

从日志采集、日志标准化到日志分析、日志展现,这些功能在已有日志审计系统的前提下,直接把API服务当作一个日志输入接入系统比较简单。但如果没有日志审计系统,业界也有一些开源产品供架构设计时选择,主要的产品有Elasticsearch、Logstash、Kibana、Filebeat等。

Beats工具内置多种模块(如Filebeat、AuditBeat、Functionbeat等),可针对常见设备或组件(如Apache、Cisco ASA、Kubernetes、Docker、NGINX、MySQL等)的日志进行收集、解析;Elasticsearch是实时全文搜索和分析引擎,提供检索、分析、存储数据的功能;Kibana用于搜索、分析和可视化数据。使用这些开源组件搭建日志审计系统在技术上已经比较成熟,架构选择时,可以通过这些组件的整合为业务提供一整套日志审计的解决方案,满足大多数场景下的应用需求。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
11月前
|
JSON API 数据格式
亚马逊商品评论API接口技术指南
亚马逊商品评论API可程序化获取指定ASIN商品的用户评价,包含评分、内容、时间等结构化数据。需企业认证并遵守使用协议,日调用上限500次。支持分页与排序查询,适用于竞品分析、口碑监测等场景,结合SP-API可构建完整电商数据方案。(238字)
1018 3
|
11月前
|
JSON 缓存 算法
如何通过API获取1688商品类目数据:技术实现指南
1688开放平台提供alibaba.category.get接口,支持获取全量商品类目树。RESTful架构,返回JSON数据,含类目ID、名称、层级等信息。需注册账号、创建应用并授权。请求需签名认证,QPS限10次,建议缓存更新周期≥24小时。
1043 2
|
JSON 缓存 自然语言处理
多语言实时数据微店商品详情API:技术实现与JSON数据解析指南
通过以上技术实现与解析指南,开发者可高效构建支持多语言的实时商品详情系统,满足全球化电商场景需求。
|
11月前
|
JSON 算法 API
1688比价API接口:实现商品价格高效比较的技术指南
本文介绍1688比价API的核心功能与实战应用,涵盖接口调用、Python代码实现及价格比较算法优化。助您快速集成商品比价功能,提升电商开发效率。
1465 3
|
11月前
|
JSON 安全 API
淘宝天猫上货API接口技术指南
本文介绍淘宝天猫上货API,详解其RESTful接口原理、认证流程及Python调用示例。涵盖商品添加、签名生成、响应处理,并提供代码实现与最佳实践,助力开发者高效实现自动化批量上架。
1233 3
|
11月前
|
JSON 搜索推荐 API
拼多多商品详情API技术指南
拼多多商品详情API(pdd.goods.detail.get)支持通过商品ID获取商品标题、价格、销量、图片、库存及评价等详细信息,适用于电商数据分析、竞品监控与价格策略优化,返回标准JSON格式,便于集成开发。
1508 1
|
11月前
|
缓存 数据可视化 定位技术
快递鸟快递API技术指南:获取物流轨迹信息与轨迹地图的解决方案
在当今电商竞争激烈的环境中,物流体验已成为提升用户满意度的关键因素。研究表明,超过 75% 的消费者会因物流信息不透明而放弃下单。
2290 1
|
11月前
|
JSON 安全 API
1688批量上货API接口技术指南
本文介绍1688批量上货API的集成与使用,涵盖认证、请求构建及错误处理。通过Python示例代码,助您实现商品信息批量上传,提升电商运营效率。
1042 1
|
11月前
|
存储 缓存 算法
淘宝买家秀 API 深度开发:多模态内容解析与合规推荐技术拆解
本文详解淘宝买家秀接口(taobao.reviews.get)的合规调用、数据标准化与智能推荐全链路方案。涵盖权限申请、多模态数据清洗、情感分析、混合推荐模型及缓存优化,助力开发者提升审核效率60%、商品转化率增长28%,实现UGC数据高效变现。
|
供应链 安全 API
唯品会:利用银行转账API实现企业采购对公支付的技术实践
企业采购支付面临合规、效率与对账难题。唯品会通过银行API实现银企直连,构建安全高效对公支付系统,支持ISO 20022标准与多重风控,支付耗时从72小时降至90秒,错误率下降98%,推动供应链数字化升级。(236字)