简介: MaxCompute残缺地记录用户的各项操作行为,会主动将操作日志实时投递到ActionTrail中,ActionTrail针对作业(Instance)、表(Table)、函数(Function)、资源(Resource)、用户(User)、角色(Role)和受权(Privilege)等事件的多种操作行为进行记录。

背景

在很多的数据开发场景下,咱们须要记录每个子账户都做了什么,在哪个我的项目执行了具体的操作,出问题了须要审计是谁干的,什么工夫,怎么操作的。例如,有人歹意删除数据、有人将数据下载下来、谁上传的资源、有人给没有权限的人增加了权限、 等等。这些动作须要治理、跟踪。本文通过如何在ActionTrail控制台进行搜寻来跟踪咱们在MaxCompute中执行的动作。

日志审计和Informattion_Schema(元数据)比照

1.日志审计记录的是用户的各项操作行为
2.日志审计记录的是以后账号下的所有我的项目,Informattion_Schema记录的是以后project
3.如果咱们要查看用户的行为信息能够去日志审计查看,如果查问一些动态信息能够去元数据查看比方:表的拥有者,资源的拥有者
4.Informattion_Schema中的TASKS_HISTORY表能够记录已实现的作业历史,然而没有对应的事件名称不不便查找。比方查找删除表,咱们能够间接去ActionTrail间接搜寻DropTable 就能够查到
5.MaxCompute记录用户的各项操作行为是实时投递到ActionTrail中的,操作记录会在10分钟内被操作审计追踪并记录。操作记录保留的是180天的记录,目前ActionTrail反对搜寻,如果须要对日志进行更准确的剖析和保留更长的工夫,能够投递到oss上或这个sls上同步到MaxCompute进行剖析
6.如果咱们要统计一天当中消耗最高的作业能够去Informattion_Schema中的task_histoy表中查看

_--统计一天消耗cu最大的前十个工作信息_select * from information_Schema.TASKS_HISTORY where   ds = 20200812 order by cost_cpu limit 10;_--统计一天每个用户应用的cu_select owner_name,SUM(cost_cpu) from information_Schema.TASKS_HISTORY where   ds = 20200814 group by owner_id,owner_name;

如何应用ActionTrail进行搜寻

咱们列举几个简略的场景进行搜寻
首先登录到ActionTrail控制台的历史事件查问页面抉择要查看的地区。

如上图 事件类型:所有类型,工夫:抉择对应的工夫 产品类型:MaxCompute
事件名称:对应的文档名称https://help.aliyun.com/document_detail/164657.html?spm=a2c4g.11186623.6.972.232411db3BAG7v

查看子账号做过什么
用户名:子账号的名字
查看当前任务是被谁杀掉的
事件名称:jobChange 资源名称:instanceId(具体的工作id)
查看表做过什么操作
资源名称:表名字
查看表被谁读取过
事件名称:ReadTableData 资源名称:表名字
查看表被谁删除:
事件名称:DropTable 资源名称:表名字
查看表被谁下载过
事件名称:DownloadTable(间接应用tunnel download 表名下载) InstanceTunnel(通过instanceuid 下载)资源名称:表名字
查看表什么工夫上传的数据
事件名称:UploadTable(包含数据集成)资源名称:表名字
查看函数创立
事件名称:CreateFunction 资源名称:函数名字
查看资源创立事件
事件名称:CreateResource 资源名称:资源名字
查看创立角色
事件名称:CreateRole 资源名称:角色名称
查看受权事件
事件名称:GrantRole 资源名称:角色名称

原文链接
本文为阿里云原创内容,未经容许不得转载。