如何将操作日志持续投递到 SLS/OSS

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

什么是跟踪

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

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

目前跟踪是自动持续地投递新产生的操作事件。历史 90 天的事件暂不支持补投,我们会尽快支持。所以建议您先创建跟踪,以免找不到历史事件。

跟踪适用但不限于以下场景:
• 将您的云账号下所有操作日志导出
• 将操作日志保存更长时间
• 对操作日志进行分析统计

创建跟踪

登陆[操作审计控制台](https://actiontrail.console.aliyun.com/cn-hangzhou/event-list,点击【跟踪列表】-【创建跟踪】。
下面对一些重要配置做详细说明。

跟踪名称

跟踪名称在账号中唯一。跟踪名称必须以小写字母开头,只能包括小写字母、数字、连字符(-)和下划线(_), 长度在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 )创建跟踪。

推荐

除明确需要跟踪某个地域,推荐选择“所有地域”。
跟踪部分地域时,建议“跟踪地域”和“Home地域”保持一致。例如:
• 跟踪地域为 “上海”,则在操作审计上海( 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实例)等。
• 读事件:指本身没有在云上增加、删除或修改配置的操作意图,也不会对云上配置造成变更,仅读取云上产品和资源的信息。例如:DescribeInstances(查询一台或多台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

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

在[操作审计控制台]
(https://actiontrail.console.aliyun.com/cn-hangzhou/event-list)【跟踪列表】页面,可以看到您创建的跟踪。然后可以点击 “OSS Bucket名称” 或 “日志服务” 进行跳转,在 OSS 或 SLS 控制台查看操作事件数据。

如何将操作日志持续投递到 SLS/OSS

如何选择投递服务

如何将操作日志持续投递到 SLS/OSS

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

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

actiontrail_{trail_name}trail_name 为跟踪名称。

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

如何将操作日志持续投递到 SLS/OSS

上一篇:分账提效--结合操作审计实现自动打标


下一篇:企业IT治理沙龙·北京站 || 业务优先?治理优先?您的企业是哪种上云姿势?