简介: 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 资源名称:角色名称
原文链接
本文为阿里云原创内容,未经容许不得转载。