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

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 操作审计(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 日志存储时长
相关文章
|
5月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
547 1
日志收集和Spring 微服务监控的最佳实践
|
5月前
|
负载均衡 监控 安全
5 个 IIS 日志记录最佳实践
IIS日志记录是监控Web服务器性能与安全的关键。本文介绍启用日志、应用池配置、负载均衡、敏感数据防护、日志集中管理及保留策略等五大最佳实践,助力高效分析与合规审计。
357 1
|
9月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
967 54
|
10月前
|
监控 安全 BI
优化 Apache 日志记录的 5 个最佳实践
Apache 日志记录对于维护系统运行状况和网络安全至关重要,其核心包括访问日志与错误日志的管理。通过制定合理的日志策略,如选择合适的日志格式、利用条件日志减少冗余、优化日志级别、使用取证模块提升安全性及实施日志轮换,可有效提高日志可用性并降低系统负担。此外,借助 Eventlog Analyzer 等专业工具,能够实现日志的高效收集、可视化分析与威胁检测,从而精准定位安全隐患、评估服务器性能,并满足合规需求,为强化网络安全提供有力支持。
269 0
优化 Apache 日志记录的 5 个最佳实践
|
11月前
|
存储 消息中间件 Kafka
AutoMQ x OSS 的 Iceberg 数据入湖的最佳实践
在数据湖技术生态中,Apache Iceberg凭借其开放性设计已确立事实标准地位。该技术不仅获得全球企业广泛采用,还构建了包含Apache Spark、Amazon Athena、Presto等主流计算引擎的完整生态系统。
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
354 1
|
负载均衡 Java 对象存储
负载均衡策略:Spring Cloud与Netflix OSS的最佳实践
负载均衡策略:Spring Cloud与Netflix OSS的最佳实践
286 2
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
255 2