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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【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用于搜索、分析和可视化数据。使用这些开源组件搭建日志审计系统在技术上已经比较成熟,架构选择时,可以通过这些组件的整合为业务提供一整套日志审计的解决方案,满足大多数场景下的应用需求。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
缓存 监控 API
淘宝 API 接口使用的技术要点与注意事项
在数字化商业环境中,淘宝API为开发者提供了强大的工具,用于与淘宝平台交互,获取商品信息及处理交易等。本文总结了正确使用API的关键技术要点:注册认证、理解接口文档、遵守调用限制、确保参数准确性、保护数据安全、处理异常、性能优化、版本兼容、合规性及日志监控,帮助开发者实现高效、安全的程序开发。
|
19天前
|
监控 安全 测试技术
深入理解后端技术中的API设计原则
在当今数字化时代,后端技术已成为构建高效、可扩展和安全应用程序的关键因素。本文将探讨后端开发中的API设计原则,包括RESTful架构、版本控制以及安全性等方面,旨在帮助开发者提升API设计的质量和用户体验。通过对这些原则的深入理解,可以更好地满足业务需求并提高系统的可靠性。
47 0
|
2月前
|
存储 搜索推荐 大数据
阿里泛日志设计与实践问题之schema-on-read技术的发展对日志搜索的影响是啥,如何解决
阿里泛日志设计与实践问题之schema-on-read技术的发展对日志搜索的影响是啥,如何解决
|
2天前
|
JSON 前端开发 测试技术
API接口 |产品经理一定要懂的10%技术知识
作为产品经理,掌握约10%的技术知识对处理API相关工作至关重要。这包括理解API的基本概念及其作为数据交换的桥梁作用;熟悉JSON和XML两种主要数据格式及其特点;了解常见HTTP请求方法(GET、POST、PUT、DELETE)及响应状态码;关注API安全性,如认证授权和数据加密;掌握API版本管理和错误处理技巧;重视性能优化,以提升用户体验;参与API联调测试,确保稳定可靠;并与前后端团队紧密协作,选择合适的第三方API服务,推动产品高效开发。
|
22天前
|
缓存 测试技术 API
电商平台 API 接入技术要点深度剖析
本文介绍了高效使用电商平台API的关键步骤。首先,深入理解API文档,明确功能权限与参数格式要求;其次,选择合适的接入方式,如HTTP/HTTPS协议和RESTful API;接着,实施身份验证与授权机制,确保数据安全传输;此外,还需关注性能优化、安全防护、监控与日志记录,以提升系统稳定性和响应速度;最后,进行充分测试与调试,并关注API版本更新,确保长期兼容性。
|
6天前
|
安全 NoSQL 测试技术
商品详情API接口的技术实现
本文介绍了电商平台上商品详情API接口的设计与实现过程,涵盖需求分析、接口定义、数据模型设计及技术选型等方面。通过合理的后端框架、数据库设计和安全措施,确保接口高效、稳定和安全。最后,通过详尽的测试与部署步骤,实现优质购物体验。旨在为技术人员提供实用参考。
|
1月前
|
设计模式 测试技术 API
Micronaut魔法书:揭秘构建超光速RESTful API的绝密技术!
【9月更文挑战第10天】在现代Web开发中,构建RESTful API至关重要。Micronaut作为一款轻量级框架,能够快速创建高效API。本文探讨使用Micronaut构建RESTful API的最佳设计模式与实践,涵盖注解(如`@Controller`、`@Get`)、代码组织、REST原则、数据验证及测试等方面,帮助开发者构建结构清晰、可维护性强的API服务。示例代码展示了如何使用Micronaut实现用户管理API,强调了良好设计模式的重要性。
51 3
|
21天前
|
自然语言处理 搜索推荐 数据挖掘
电商 API 接口:电商领域的强大技术引擎
在数字化浪潮中,电商API接口作为连接系统的桥梁,已成为电商市场的核心技术引擎。它通过实时库存信息、多样化支付等功能提升用户体验,支持自动化订单处理,促进数据流通与分析,并允许定制化开发,集成移动应用,从而增强系统灵活性和业务竞争力。
|
2月前
|
弹性计算 API 开发工具
揭秘Python与阿里云API的神秘邂逅!流式处理的魔法之旅,一场颠覆想象的技术盛宴!
【8月更文挑战第15天】在数字世界的广阔舞台上,Python与阿里云API的相遇,就像是一场命中注定的邂逅。它们携手共舞,为我们带来了流式处理的魔法之旅。本文将揭开这场神秘邂逅的面纱,带你领略Python与阿里云API之间的奇妙互动。让我们一起踏上这场颠覆想象的技术盛宴,探索流式处理的无限可能!
78 7
|
2月前
|
存储 前端开发 安全
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
30 2