操作审计最佳实践:将阿里云操作日志持续投递到您的 SLS/OSS

本文涉及的产品
对象存储 OSS,20GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 操作审计(ActionTrail)帮助您监控并记录阿里云账号的活动,包括通过阿里云控制台、OpenAPI、开发者工具对云上产品和服务的访问和使用行为,记录为操作日志。 操作审计支持所有阿里云账号的免开通服务,默认为所有账号记录并存储近 90 天的日志。但在实际应用中,受法律法规和企业审计标准的要求,...

操作审计(ActionTrail)帮助您监控并记录阿里云账号的活动,包括通过阿里云控制台、OpenAPI、开发者工具对云上产品和服务的访问和使用行为,记录为操作日志。 操作审计支持所有阿里云账号的免开通服务,默认为所有账号记录并存储近 90 天的日志。但在实际应用中,受法律法规和企业审计标准的要求,企业往往需要保留 180 天及以上的审计日志,还需要对这些日志进行复杂的行为分析、安全分析、运维监控,以应对企业的审计合规要求。此时就需要您在操作审计,通过创建跟踪来记录更长时间的日志,并保存到云上存储空间。

什么是跟踪

跟踪,即持续且实时地地把您的云账号在阿里云上的操作事件投递到您的存储服务,如 SLS 或 OSS。

操作事件,即用户在阿里云控制台、OpenAPI、开发者工具访问和管控云上服务所产生的事件记录。

跟踪适用但不限于以下场景:

  • 将您的云账号下所有操作日志导出

  • 将操作日志保存更长时间

  • 对操作日志进行分析统计

跟踪配置

登录操作审计控制台,点击【跟踪列表】-【创建跟踪】。

下面对一些重要配置做详细说明。

跟踪名称

跟踪名称在账号中唯一。跟踪名称必须以小写字母开头,只能包括小写字母、数字、连字符(-)和下划线(_), 长度在6~32位。

建议

推荐取一个有意义的名字,方便管理。

跟踪地域

即要投递哪些地域的数据。默认是所有地域。

您的云账号可能在阿里云所有地域都会产生操作事件,您可以选择投递所有地域的事件,也可以仅投递部分地域的事件。

比较容易混淆的是“跟踪地域”和“Home地域”,“Home地域”指的是 ”创建跟踪的地域“。比如您在操作审计杭州地域( https://actiontrail.console.aliyun.com/cn-hangzhou )创建一个跟踪,则 “Home地域” 是杭州。该跟踪可以投递所有地域的数据,也可以仅投递部分地域,例如只投递杭州、上海,则“跟踪地域”是杭州和上海。

操作审计的事件可分为全局事件和非全局事件。全局事件是全局服务的操作事件,如控制台登录,RAM 产品的操作事件等。非全局事件则是各个地域单独产生的事件,比如在杭州调用 ECS 的 API。

操作审计在阿里云各个地域都有部署,针对全局事件,需要注意的是:

  • 如果在操作审计杭州( https://actiontrail.console.aliyun.com/cn-hangzhou )创建跟踪,跟踪地域设置为上海(或其他除杭州外的地域),则该跟踪只会投递上海的事件,您的 OSS/SLS 中只会接收到上海地域的非全局事件。

  • 如果在操作审计上海( https://actiontrail.console.aliyun.com/cn-shanghai )创建跟踪,跟踪地域设置为杭州,则该跟踪只会只投递杭州的事件,但您的 OSS/SLS 中可能会接收到杭州的非全局事件和全局事件。这是因为全局事件一般在杭州地域产生。

所以为了简单起见,建议您如果只想使用跟踪投递部分地域的事件,就对应地域创建跟踪。例如跟踪地域为上海,就在操作审计上海( https://actiontrail.console.aliyun.com/cn-shanghai )创建跟踪。

建议

除明确需要跟踪某个地域,推荐选择“所有地域”。

跟踪地域为 “上海” 和 “杭州”,有两种方式:

a. 在操作审计上海( https://actiontrail.console.aliyun.com/cn-shanghai )和杭州(https://actiontrail.console.aliyun.com/cn-hangzhou )各创建一个跟踪

b. 在操作审计上海( https://actiontrail.console.aliyun.com/cn-shanghai )或杭州(https://actiontrail.console.aliyun.com/cn-hangzhou )创建一个跟踪

事件类型

阿里云操作事件分为写事件和读事件。

  • 写事件:指可能增加、删除或修改云上资源,或修改云资源配置的操作 。如 CreateInstance (创建一台包年包月或者按量付费ECS实例)等。

  • 如果选择“写事件“,则只会导出写事件。如果选择所有事件,则会投递所有事件,包括 “读事件” 和 “写事件”。

建议

如果您需要投递云账号下所有的操作事件,则选择“所有事件”。

如果您导出操作事件是为了进行自定义分析,并且您只关注会影响云资源的事件,则可以选择“写事件”。

审计事件投递

“审计事件投递”,指的是将操作事件投递到您指定的存储服务,操作审计支持投递到 SLS 或 OSS。这里是多选,您可以仅投递到 SLS 或 OSS,也可以同时投递到 SLS 及 OSS。

建议

如果您只是对操作事件进行归档,以后也不需要对事件进行复杂分析,则推荐 OSS。OSS 存储成本比 SLS 低。

如果您需要对操作事件进行分析,或需要再将操作事件导出到 MaxCompute、EMR 等其他产品,则需要选择 SLS。

将事件投递到日志服务SLS

即把阿里云上的操作事件投递到您的 SLS 中。

您可以选择已有的 LogProject(日志项目),也可以让操作审计帮您创建一个新的 LogProject。

无论是选择已有日志项目还是创建新的 LogProject,操作审计都将在对应 LogProject 中创建一个 LogStore,LogStore 的名称为 actiontrail_{trail_name},其中 trail_name 是您的跟踪名称。例如跟踪名为 trail-all,则对应 LogStore 名称为 actiontrail_trail-all

如果使用 OpenAPI 创建跟踪,则必须事先已有logstore,且名称规则为 actiontrail_{trail_name}

日志库所属地域

操作审计支持将事件投递到任意地域的日志项目。但建议日志库所属地域和当前操作审计的地域保持一致。

建议

日志库所属地域和当前操作审计的地域保持一致。比如当前操作审计地域是杭州,则建议使用杭州的日志项目。因为同地域投递可以降低网络延迟。

将事件投递到对象存储 OSS

即把阿里云上的操作事件投递到您的 OSS 中。

您可以选择已有的 OSS Bucket(存储桶),也可以让操作审计帮您创建一个新的 OSS Bucket。

操作事件在 OSS 中以文件形式存放。默认没有前缀,文件名示例: AliyunLogs/Actiontrail/cn-hangzhou/2020/08/03/Actiontrail_cn-hangzhou_20200803040208_1002_2_613_xxx.gz。您也可以指定前缀,如前缀为 my-data,则日志文件为 my-data/AliyunLogs/Actiontrail/cn-hangzhou/2020/08/03/Actiontrail_cn-hangzhou_20200803040208_1002_2_613_xxx.gz

如果使用 OpenAPI 创建跟踪,则必须事先已有 OSS Bucket。

开启服务端加密

将事件投递到 OSS 时支持 OSS 服务端加密,加密算法有 AES256 和 KMS

使 KMS 加密需要先开通 KMS 服务。只有控制台创建跟踪并选择新建 OSS Bucket 时支持设置加密方式,如果使用已有的 OSS Bucket,则需要提前设置 Bucket 的加密方式。

常用场景的跟踪配置示例

《等保2.0》要求云上信息系统的日志至少保存180天

操作审计仅支持在线查询 90 天内的操作日志,但《等保2.0》(即《网络安全等级保护2.0制度》)要求云上信息系统的日志至少保存 180 天。所以您需要使用“跟踪”将数据投递到您的存储服务,以保存 180 天以上或永久存储。

如果您确定不需要自定义分析日志,那么为了节省成本,推荐使用成本更低的 OSS 存储;否则选择 SLS。示例配置如下:

  • 适用跟踪到所有的地域:

  • 事件类型:所有类型

  • 选择投递服务: OSS

将操作事件导出到 MaxCompute

为了分析操作事件,您可能需要将数据导入到 MaxCompute。您可以先创建跟踪,使用跟踪将操作事件投递到 SLS,然后通过 SLS 将数据导出到 MaxCompute

跟踪配置如下:

  • 适用跟踪到所有的地域:

  • 事件类型:所有类型

  • 选择投递服务:SLS

然后在操作审计控制台【跟踪列表】页面,可以看到您创建的跟踪,点击【日志服务】可以跳转到 SLS 控制台,查看跟踪的操作事件。

在 SLS 控制台,选择 Logstore 中选择 【数据处理】-【导出】-【MaxCompute】,即可将数据导出到 MaxCompute。参考文档:通过日志服务投递日志到MaxCompute

对敏感操作进行分析、报警

在某些场景下,您可以要分析账号中的敏感操作,比如产生订单、删除资源等操作,并针对这些操作进行报警,这时推荐您使用跟踪将操作事件投递到您的 SLS,然后再利用 SLS 进行分析报警。

跟踪配置如下:

  • 适用跟踪到所有的地域:

  • 事件类型:写类型。一般敏感操作都是 “写类型”,这样可以减少数据量节省成本。如果您也关注“读类型”的事件,则需要选择“所有类型”。

  • 选择投递服务:勾选 SLS

跟踪创建完毕后,在 SLS 中就可以针对操作事件进行分析、报警。参考文档: 设置告警

既要分析日志也想要低成本永久存储日志

可以先将数据导出到 SLS,再通过 SLS 导出到 MaxCompute 或 OSS。然后 SLS 中的数据存储时长可以设置短一点,例如一个月甚至一周,再定时将 SLS 中的数据导入到 MaxCompute 或 OSS 进行永久存储。

  • 存储成本:SLS > MaxCompute > OSS。

FAQ

如何查看导出的操作事件?

操作审计控制台【跟踪列表】页面,可以看到您创建的跟踪。然后可以点击 “OSS Bucket名称” 或 “日志服务” 进行跳转,在 OSS 或 SLS 控制台查看操作事件数据。

跟踪列表

如何选择投递服务

image.png

如何更改 SLS 日志存储时长?

创建投递服务时,如果选择了新建 SLS,则操作审计会帮您创建一个 SLS Project,和一个以名为 actiontrail_{trail_name} 开头的 logtail,logtail 默认永久保存日志。

actiontrail_{trail_name} trail_name 为跟踪名称。

如果您想要更改 SLS 日志存储时长,则可以在 SLS 控制台,找到对应的 SLS Project 以及 logtail,修改存储时长。

SLS 日志存储时长
相关文章
|
3月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
927 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
2月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
10天前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
4月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
467 3
|
1月前
|
SQL 关系型数据库 MySQL
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
MySQL事务日志-Undo Log工作原理分析
|
2月前
|
存储 监控 安全
什么是事件日志管理系统?事件日志管理系统有哪些用处?
事件日志管理系统是IT安全的重要工具,用于集中收集、分析和解释来自组织IT基础设施各组件的事件日志,如防火墙、路由器、交换机等,帮助提升网络安全、实现主动威胁检测和促进合规性。系统支持多种日志类型,包括Windows事件日志、Syslog日志和应用程序日志,通过实时监测、告警及可视化分析,为企业提供强大的安全保障。然而,实施过程中也面临数据量大、日志管理和分析复杂等挑战。EventLog Analyzer作为一款高效工具,不仅提供实时监测与告警、可视化分析和报告功能,还支持多种合规性报告,帮助企业克服挑战,提升网络安全水平。
114 2
|
4月前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
102 1
|
3月前
|
存储 监控 安全
什么是日志管理,如何进行日志管理?
日志管理是对IT系统生成的日志数据进行收集、存储、分析和处理的实践,对维护系统健康、确保安全及获取运营智能至关重要。本文介绍了日志管理的基本概念、常见挑战、工具的主要功能及选择解决方案的方法,强调了定义管理目标、日志收集与分析、警报和报告、持续改进等关键步骤,以及如何应对数据量大、安全问题、警报疲劳等挑战,最终实现日志数据的有效管理和利用。
335 0
|
4月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
91 0
|
4月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
382 0