操作审计仅默认为每个阿里云账号记录最近90天的事件,默认仅支持通过操作审计控制台查询事件。如果您因为审计要求需要获取180天以上的事件,或者需要将事件下载到本地进行分析,则必须创建跟踪将事件投递到SLS或OSS,再通过SLS或OSS的数据下载能力将事件以文件形式下载到本地。

背景信息

本文以单账号跟踪为例,为您介绍如何在日志服务SLS中下载操作审计的事件,步骤如下:
  1. 在操作审计控制台创建跟踪将事件投递到SLS,该跟踪将持续收集新产生的审计事件并持续投递到指定的SLS Logstore。
  2. (可选)在操作审计控制台创建历史投递任务,该任务可以将过去90天平台已经记录的历史审计事件以一次性任务的方式投递到跟踪已经指定的SLS Logstore。
  3. 在SLS控制台下载事件。您可以根据需求在SLS控制台查询特定的事件,然后使用多种方式下载已经投递到SLS的审计事件。

    例如:通过以下SQL语句查询管控事件中所有写事件的聚合情况。

    说明 如果设置的查询时间段较长,建议设置LIMIT N,返回N条事件。例如:设置LIMIT 20,返回20条事件。

    * AND "event.eventCategory": Management AND "event.eventRW": Write | SELECT"event.serviceName"AS servieName,"event.eventName"AS eventName,"event.eventRw"AS eventRw,"event.sourceIpAddress"AS sourceIpAddress,"event.resourceName"AS resourceName,"event.resourceType"AS resourceType,"event.userIdentity.userName"AS userName,"event.userIdentity.type"AS userType,"event.userIdentity.accessKeyId"AS accessKeyId,"event.acsRegion"AS eventRegion,COUNT("event.eventId")AS n, date_trunc('hour', __time__) AS time GROUP BY time, servieName, eventName, eventRw, sourceIpAddress, resourceType, resourceName, accessKeyId, userType, userName, eventRegion ORDER BY time DESC LIMIT 20

    查询结果如下图所示(n表示事件聚合次数):

    聚合查询

步骤一:创建跟踪并投递到SLS

  1. 登录操作审计控制台
  2. 在左侧导航栏,单击跟踪列表
  3. 在顶部菜单栏,选择您想创建单账号跟踪的地域。
    说明 该地域将成为单账号跟踪的Home地域,即创建跟踪的地域。
  4. 跟踪列表页面,单击创建跟踪
  5. 跟踪基本属性页面,输入跟踪名称,将管控事件的事件类型设置为所有事件,选中Insight事件,然后单击下一步
  6. 审计事件投递页面,选择将事件投递到日志服务SLS,然后选择投递到本账号,设置如下参数。
    参数 描述
    日志库所属地域 日志项目所在地域。
    日志项目名称 日志服务SLS中日志项目的名称。同一账号同一地域下,日志项目名称不能重复。
    • 当您选中创建新的日志项目时,将通过操作审计控制台新建日志项目,输入日志项目名称。
    • 当您选中选择已有的日志项目时,在日志服务SLS中选择已有日志项目名称。

      关于如何在日志服务SLS中新建日志项目,请参见快速入门

  7. 单击下一步
  8. 预览并创建页面,确认跟踪信息,然后单击提交

步骤二(可选):创建历史事件投递任务

创建跟踪仅能投递跟踪创建时间之后的事件,如果需要下载最近90天的完整事件,您还需创建历史事件投递任务,补投递跟踪创建时间往前一段时间的事件。

说明 如果需要创建历史事件投递任务,请通过提交工单,获取历史事件投递任务功能的使用权限。
  1. 在左侧导航栏,单击历史事件投递任务
  2. 在顶部菜单栏,选择您需要投递历史事件的地域。
    说明 该地域必须与单账号跟踪所在地域相同。
  3. 历史事件投递任务页面,单击创建任务
  4. 创建任务页面,选择跟踪。
    说明 选择跟踪后,系统将自动填入跟踪的地域、日志项目地域、日志项目名称和日志库信息。
  5. 单击确定

步骤三:在SLS控制台下载事件

您可以在SLS控制台查询特定时间范围的事件,然后下载事件。如果查询到多个事件,SLS会将多个事件下载到同一个文件中,方便您后续使用。

  1. 在操作审计控制台,进入跟踪所在日志库。
    1. 在左侧导航栏,单击跟踪列表
    2. 在顶部菜单栏,选择您单账号跟踪和历史事件投递任务所在的地域。
    3. 跟踪列表页面,将鼠标悬浮到目标跟踪存储服务列的叹号图标,然后单击SLS日志库名称。
  2. 在SLS控制台,单击15分钟(相对),设置查询的时间范围(例如:今天)。
  3. 输入查询语句,然后单击查询/分析
    关于如何设置查询语句,请参见如何在SLS设置SQL语句查询操作审计的事件
  4. 下载事件。
    • 方式一:下载按字段维度分类的事件统计信息。

      统计图表页签,单击图表图标,然后单击下载日志

    • 方式二:下载事件代码文件。

      原始日志页签,单击下载图标。

  5. 日志下载对话框,选择下载方式,然后单击确定
    • 直接下载:将本页展示的日志以CSV格式下载到本地。
    • 通过Cloud Shell下载:请根据页面提示,下载所有日志。
      说明 目前Cloud Shell位于上海地域,如果当前Logstore不在上海地域,下载日志会产生一定的公网流量费用。关于价格的更多信息,请参见产品定价
    • 通过命令行工具下载:请根据页面提示,下载所有日志。
      说明
      • 通过命令行工具下载日志时,需替换命令中的访问密钥(AK)信息。请登录用户信息管理控制台获取阿里云账号AK。如果使用RAM用户进行下载,请登录RAM 控制台创建RAM用户并获取RAM用户的AK信息。
      • 如果用于安装命令行工具的机器所在地域与当前Project所在地域相同,建议单击切换为内网endpoint,下载速度更快且不会产生额外的外网带宽费用。