本文档描述调用API导出审计日志的功能。日志审计属于增值功能,网盘与相册服务开发版中默认未开启,使用前请先联系我们。网盘与相册服务开发版,对增值服务会进行单独收费,请见增值计费项。
功能介绍
日志审计,用于管理员查阅和审计用户的历史操作。功能点:
超级管理员/网盘管理员的日志审计功能针对企业全员范围,团队管理员仅限负责团队的日志审计。
日志审计包含团队所有成员在各个端(App、Web、PC、WAP)的相关操作信息,包括操作者、操作项、操作详情、客户端等信息。
日志可以通过PDS Web/PC客户端的管理员界面、或者调用API导出为CSV文件,下载并保存到本地。
日志保存180天。
API 参数说明
调用AuditLogExport - 导出审计日志,创建一个日志导出任务,API返回异步任务ID,用于查询任务进度和状态。异步任务将查询范围的日志记录生成为一个CSV文件,任务完成后返回CSV文件的下载URL。
query:指定查询范围,支持根据空间(drive_id)、操作者(actor_id)、操作时间(acted_at)、操作类型(action_type)四种筛选方式来查询和导出日志。
file_name:指定导出的文件名,默认为log.csv。当使用浏览器直接访问URL下载CSV文件时,该参数的值是下载到本地的文件名。
query规则
支持的数据类型:
基本类型:long、string、bool、double
复合类型:array,date(时间类型,用双引号或单引号括起来,与字符串类型一致。格式"2006-01-02T00:00:00",只支持零时区)
基本类型支持的搜索:
long: =, <, >, <=, >=
string: = (精确搜索)
bool: =
double: =, <, >, <=, >=
复合类型支持的搜索:
array: in (多条件的=)
b. date: =, <, >, <=, >=
逻辑操作支持:not、and、or
支持括号,优先级为:括号 > not > and > or
query举例
1、查询所有日志
query为空。
2、根据操作时间查询
acted_at > "2025-02-14T00:00:00" and acted_at < "2025-03-14T00:00:00"
3、查询特定空间的日志
通过ListDrive - 列举空间、SearchDrive - 搜索空间、ListMyDrives - 列举我的空间,查询到空间(drive)ID。查询drive ID为1、2、3的drive相关日志:
drive_id = "1" or drive_id = "2" or drive_id = "3"
数组方式查询:
drive_id in ["1", "2", "3"]
4、根据操作者查询
通过ListUser - 列举用户、SearchUser - 搜索用户,查询到用户(user)ID;再以 actor_id = user ID来查询。
(1)查询ID为user1_id的单个用户日志
actor_id = "user1_id"
(2)查询ID为user1_id或user2_id的多个用户日志
actor_id = "user1_id" or actor_id = "user2_id"
5、按照操作类型查询
(1)查询创建分享、取消分享日志
action_type="create_sl" or action_type="cancel_sl"
(2)查询上传、创建分享日志
action_type="upload_file" or action_type="create_sl"
6、组合查询
查询特定时间范围内的分享、取消分享日志
(action_type="create_sl" or action_type="cancel_sl") and acted_at > "2025-02-14T00:00:00" and acted_at < "2025-03-14T00:00:00"
日志分类
日志审计的操作类型如下:
场景 | 操作类型 | action_type的值 |
文件基础操作 | 上传 | upload_file |
下载 | download_file | |
预览 | preview_file | |
在线编辑 | online_edit_file | |
移动 | move_file | |
复制 | copy_file | |
重命名 | rename_file | |
收藏 | starred_file | |
取消收藏 | unstarred_file | |
解压预览 | decompress_preview_file | |
解压文件 | decompress_file | |
新建文件夹 | create_folder | |
新建文件 | create_file | |
添加备注 | add_remark | |
修改备注 | edit_remark | |
删除备注 | delete_remark | |
删除 | trash_file | |
从回收站恢复 | restore_file | |
彻底删除 | delete_file | |
清空回收站 | clear_recycle_bin | |
永久保留版本 | keep_revision_forever | |
取消永久保留版本 | cancel_keep_revision_forever | |
添加版本标记 | add_revision_remark | |
修改版本标记 | edit_revision_remark | |
删除版本标记 | delete_revision_remark | |
还原历史版本 | restore_revision | |
删除历史版本 | delete_revision | |
文件分享 | 创建分享 | create_sl |
修改分享 | update_sl | |
取消分享 | cancel_sl | |
分享链接预览文件 | preview_sl_file | |
分享链接保存文件 | save_sl_file | |
分享链接下载文件 | download_sl_file | |
分享链接上传文件 | upload_sl_file | |
文件共享 | 创建共享 | create_share |
取消共享 | cancel_share | |
账号 | 登录成功 | login |
团队和用户管理 | 新建用户 | create_user |
禁用用户 | disable_user | |
启用用户 | enable_user | |
编辑用户 | edit_user | |
切换用户角色 | change_user_role | |
绑定用户认证方式 | link | |
解绑用户认证方式 | unlink | |
换绑用户认证方式 | change_link | |
删除用户 | delete_user | |
新建团队 | create_group | |
编辑团队 | edit_group | |
删除团队 | delete_group | |
添加团队成员 | add_group_membership | |
删除团队成员 | delete_group_membership | |
云盘管理 | 新建用户云盘 | create_user_drive |
禁用用户云盘 | disable_user_drive | |
启用用户云盘 | enable_user_drive | |
编辑用户云盘 | edit_user_drive | |
删除用户云盘 | delete_user_drive | |
移交用户云盘 | handover_user_drive | |
新建团队云盘 | create_group_drive | |
禁用团队云盘 | disable_group_drive | |
启用团队云盘 | enable_group_drive | |
编辑团队云盘 | edit_group_drive | |
删除团队云盘 | delete_group_drive |
API 调用流程
1、调用AuditLogExport - 导出审计日志,对query指定的查询范围内日志,创建导出任务,API返回导出任务的ID(async_task_id)。
请求示例:
{
"query":"(action_type = 'upload_file') and acted_at > '2025-03-10T16:00:00' and acted_at < '2025-03-17T15:59:59'",
"language":"zh_CN"
}
响应示例:
{
"async_task_id":"f58c59a800d7b2cb6e1c4f7f0485b41****"
}
2、调用GetAsyncTask - 获取异步任务信息,查询日志导出任务的进度和状态。
(1)通过返回参数state判断任务状态:
Failed(失败)
Running(运行中)
PartialSucceed(部分成功)
Succeed(成功)
(2)任务执行过程中,通过返回参数consumed_process(异步任务已处理总量)、total_process(异步任务需处理总量),获取处理进度。
注意:任务初始化阶段,如果还未统计出需处理总量,total_process可能为0。
(3)任务执行成功,通过返回参数url,获取到导出文件的下载地址。地址有效期为10分钟,请及时下载。
请求示例:
{
"async_task_id":"f58c59a800d7b2cb6e1c4f7f0485b41****"
}
任务执行中,响应示例:
{
"async_task_id": "f58c59a800d7b2cb6e1c4f7f0485b41****",
"state": "Running",
"message": "task is running",
"total_process": 4,
"consumed_process": 0
}
任务处理成功,响应示例:
{
"async_task_id": "f58c59a800d7b2cb6e1c4f7f0485b41****",
"state": "Succeed",
"total_process": 4,
"consumed_process": 4,
"url": "https://****"
}
使用限制
单次导出审计日志最多支持100万条日志记录。如果超过100万条,API会报错,信息为:HTTP code 400, errorCode: InvalidResourceUnsupported.ExportAuditLogMaxCount。遇到该错误,需要缩短查询时间区间或者添加过滤条件,重新调用导出审计日志API。
- 本页导读
- 功能介绍
- API 参数说明
- query规则
- query举例
- 日志分类
- API 调用流程
- 使用限制