操作审计日志分析实战一:使用 SQL 分析投递到 OSS 中的操作审计日志

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 操作审计(ActionTrail)是阿里云提供的云账号资源操作记录的查询和投递服务,可用于安全分析、资源变更追踪以及合规性审计等场景。我们推荐您创建跟踪将操作日志投递到日志服务(SLS)和对象存储(OSS)中:在 SLS 中短期存储日志,用于查询分析、配置监控报警;在更低成本的 OSS 中存储更长周期的历史日志。当您有需求查询分析历史操作日志时,您可能会苦恼于如何对 OSS 中存储的这些历史操作日志进行高效的查询和分析。本文章将引导您通过简单的配置,借助 DLA(数据湖分析)产品,实现通过 SQL 来查询和分析投递到 OSS Bucket 中的操作审计日志。

简单了解原理

(1)在操作审计创建跟踪可以将账号下发生的云上管控操作日志持续投递到SLS Logstore和OSS Bucket;
(2)在数据湖分析(DLA)服务,可以通过简单的设置将操作日志从OSS Bucket导入DLA。

dla-oss.png

DLA是一款基于Serverless的强大的交互式数据查询分析服务,能够便捷的对不同格式的数据源进行格式化整合并使用统一SQL查询分析。将OSS Bucket 中的操作日志导入DLA后,
(1)DLA将OSS Bucket内以Array形式保存的一行多条日志记录拆分为多条数据;
(2)DLA将以JSON保存的每条操作日志转换为结构化的数据表。
这使面向OSS Bucket的数据解析被大大的简化,直接实现可视化的标准SQL分析。

需求背景.png

开始实践

Step1:确认最佳实践的前提条件

1、确认您已经在操作审计创建了跟踪。如果还未创建跟踪,请先完成创建账号追踪操作,并配置将操作记录投递到对象存储(OSS)。
2、确认开通了DLA服务,请参见开通DLA服务

Step2:在DLA服务中创建Schema

1、登录Data Lake Analytics管理控制台
2、在页面左上角,选择与OSS所在地域一致的DLA地域。
3、单击左侧导航栏的数据湖构建 > 数据入湖,在数据入湖页面单击ActionTrail日志清洗中的进入向导。
4、在ActionTrail日志清洗页面,根据页面提示进行参数配置。

创建Schema_1.png

5、完成上述参数配置后单击创建,创建Schema。
服务端预设的操作审计日志Schema结构如下方表格所示。

1111111111111111111.png

Schema表结构介绍

表格长图.png

Step3:开启同步

Schema创建成功后,ActionTrail投递到OSS Bucket中的日志数据尚未同步到DLA中,DLA中尚未创建OSS日志文件对应的表,您还需要通过单击立即同步来创建表并同步表数据。
1、单击立即同步启动数据同步任务。

在配置页签下,单击更新更新Schema配置。

立即同步.png

2、单击表页签,查看数据同步情况。

元数据管理.png

数据同步到DLA以后,您就可以在DLA中使用标准SQL语法对ActionTrail日志数据进行分析。

Step4:数据分析示例

1、单击DLA控制台左侧 SQL执行 选项卡,选择目标前面设置的数据库。

SQL界面.png

2、输入查询语句,在这里输入单击 同步执行

输入SQL.png

3、得到查询结果

查询结果.png

您可以使用任何符合SQL语法的语句去对DLA中的日志信息进行查询。

常用查询案例

案例1:查询某个AK的操作日志

1、输入语句:select * from action_trail where user_identity_access_key_id = '你的目标AK' limit 20;

案例查询1语句.png

2、单击 同步执行 得到前20条符合条件的记录如下

案例1查询结果.png

案例2:查询某个AK访问某个产品的操作日志
1、输入语句,查询AK为指定值,调用Ecs服务的记录:select * from action_trail where user_identity_access_key_id = '你的目标AK' AND service_name = 'Ecs' limit 20;

案例查询2语句.png

2、单击 同步执行 得到前20条符合条件的记录如下
案例2查询结果.png

相关文章
|
13天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
18 1
|
14天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
21 1
|
18天前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
|
23天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
42 0
|
25天前
|
存储 数据库
ALTER MATERIALIZED VIEW LOG :语句来更改现有物化视图日志的存储特征或类型。
`ALTER MATERIALIZED VIEW LOG` 语句用于修改已有的物化视图日志的存储属性或类型。配合示例中的动画图像(由于格式限制无法显示),该语句帮助优化数据库的性能和管理。
43 0
|
6天前
|
存储 缓存 Java
阿里云OSS实战从入门到大神
说起阿里云OSS,那作用和功能都是非常强大的,它可以存放图片,音频,视频等资源文件,这些资源文件,你不必存放到服务器的硬盘里,这样既可以节省服务器硬盘空间,又可以降低服务器的读写压力,非常适合大并发的架构。
44 0
|
19天前
|
XML 运维 监控
【深入探究 C++ 日志库清理策略】glog、log4cplus 和 spdlog 的日志文件管理策略
【深入探究 C++ 日志库清理策略】glog、log4cplus 和 spdlog 的日志文件管理策略
58 0
|
21天前
|
SQL JSON Kubernetes
Seata常见问题之服务端 error日志没有输出,客户端执行sql报错如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
96 0
|
26天前
|
安全 编译器 API
C++系统日志库精选:深入剖析glog与log4cplus,轻松搭建高效日志系统
C++系统日志库精选:深入剖析glog与log4cplus,轻松搭建高效日志系统
86 0
|
1月前
|
SQL 资源调度 Oracle
Flink CDC产品常见问题之sql运行中查看日志任务失败如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。