获取行为审计日志数据
该接口用于查询成员的操作行为日志。行为审计日志中记录了成员进行操作的时间、地点、操作对象等信息。通过查询成员行为日志,管理员可以发现成员是否有违规操作,以保护企业数据和信息安全。
- 性能说明:查询时请适当缩短查询时间范围和适当控制查询频次(避免重复的无效查询等情况)
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/admin/v1/audit_infos |
| HTTP Method | GET |
| 接口频率限制 | 100 次/分钟 |
| 支持的应用类型 | custom |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可 | admin:audit_info:readonly 获取行为审计日志 |
| 字段权限要求 | > Tip: 该接口返回体中存在下列敏感字段,仅当开启对应的权限后才会返回;如果无需获取这些字段,则不建议申请 contact:user.employee_id:readonly 获取用户 user ID |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | tenant_access_token 值格式:"Bearer access_token" 示例值:"Bearer t-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token |
查询参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
user_id_type | string | 否 | 用户 ID 类型 示例值:user_id 可选值有: - open_id: 标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。了解更多:如何获取 Open ID - union_id: 标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。了解更多:如何获取 Union ID? - user_id: 标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。了解更多:如何获取 User ID?默认值: user_id当值为 user_id,字段权限要求: contact:user.employee_id:readonly 获取用户 user ID |
latest | int | 否 | 日志时间范围: 结束时间。格式: 秒级时间戳。默认值: 此刻。起止日期之间相差不能超过30天 示例值:1668700799 |
oldest | int | 否 | 日志时间范围: 起始时间。格式: 秒级时间戳。默认值:30日前此刻。起止日期之间相差不能超过30天 示例值:1668528000 |
event_name | string | 否 | 行为审计的事件名称,可选事件名称见枚举值列表 示例值:space_create_doc |
operator_type | string | 否 | 过滤操作者: 操作者类型。 与 operator_value 配合使用,当填写operator_value时,此项必填 示例值:user 可选值有: - user: 用户 - bot: [当前未开放] 以bot_id来识别用户 |
operator_value | string | 否 | 操作者值 示例值:55ed16fe |
event_module | int | 否 | 行为审计的事件模块,可选事件模块见枚举值列表 示例值:1 |
page_token | string | 否 | 分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果 示例值:LC39/f1%2B/Sz9Uv39Gf39/ew/cd5WY0gfGYFdixOW9cVk4bC79ituO/gx0qpPn1bYf92nz/kI0nNJOG3wCwDJKoNU%2BtyaXbpI8pV/9UNDMZT0BNeyanFH17Wv711Qh9anR3l2GjQfc2fUqXtxg1YPp63XyhYY4iRMv54ySRG7r%2BI89iS3zAoPzFuuU1MUJKsf |
page_size | int | 否 | 分页大小 示例值:20 默认值: 20数据校验规则: - 取值范围: 1 ~ 200 |
user_type | int | 否 | 用户类型。此选项为空时,默认查询「组织内成员」。当填写此选项时,operator_type值必须为user。 示例值:1 可选值有: - 0: 互联网上的任何人 - 1: 组织内成员 - 2: 组织外成员 |
object_type | int | 否 | 过滤操作对象: 操作对象类型. 与object_value配合使用 示例值:1 |
object_value | string | 否 | 过滤操作对象: 操作对象ID. 与object_type配合使用 示例值:55ed16fe |
响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
code | int | 错误码,非 0 表示失败 |
msg | string | 错误描述 |
data | \- | - |
└ has_more | boolean | 是否还有更多项 |
└ page_token | string | 分页标记,当 has_more 为 true 时,会同时返回新的 page_token,否则不返回 page_token |
└ items | audit_info\[\] | 返回的具体数据内容 |
└ event_id | string | 事件ID,不唯一,可用作聚合 |
└ unique_id | string | 事件唯一ID,可以用于去重,倾向使用该字段识别用户的行为 |
└ event_name | string | 事件名称,字段详情见枚举值列表 |
└ department_ids | string\[\] | 用户所属部门的ID列表 |
└ event_module | int | 事件模块,字段详情见枚举值列表 |
└ operator_type | int | 操作人类型 可选值有: - 1: 组织内成员 - 12: 机器人 - 1001: 组织外成员 |
└ operator_value | string | 操作人id,当operator_type是1001时,该项为脱敏后的值 |
└ objects | audit_object_entity\[\] | 操作对象列表 |
└ object_type | string | 操作对象类型,字段详情见枚举值列表 |
└ object_value | string | 操作对象值 |
└ object_name | string | 操作对象名称,当前针对文档、会话、应用类型开放,如会话名、文档名等 |
└ object_owner | string | 操作对象所有者,当前针对文档类型开放 |
└ object_detail | audit_object_detail | 操作对象扩展字段,字段详情见枚举值列表 |
└ recipients | audit_recipient_entity\[\] | 接收者对象列表 |
└ recipient_type | string | 接收者对象类型,1代表用户,2代表部门,4代表会话 |
└ recipient_value | string | 接收者对象值 |
└ recipient_detail | audit_recipient_detail | 接收者对象扩展字段 |
└ event_time | int | 事件时间 |
└ ip | string | ip信息 |
└ operator_app | string | 第三方isvID |
└ audit_context | audit_context | 环境信息 |
└ terminal_type | int | 终端类型 可选值有: - 0: ios - 1: 安卓 - 2: pc端 - 3: web端 |
└ ios_context | audit_ios_context | 返回ios的环境信息,字段详情见枚举值列表 |
└ pc_context | audit_pc_context | 返回pc的环境信息,字段详情见枚举值列表 |
└ web_context | audit_web_context | 返回web的环境信息,字段详情见枚举值列表 |
└ android_context | audit_android_context | 返回android的环境信息,字段详情见枚举值列表 |
└ extend | audit_event_extend | 事件扩展字段,参考common_drawers中的信息即可 |
└ operator_app_name | string | 第三方isv名称 |
└ common_drawers | api_audit_common_drawers | 事件扩展字段,字段详情见枚举值列表 |
└ audit_detail | audit_detail | 设备信息:city:ip位置,城市名称;device_model:设备型号;mc:Mac地址;os:操作系统; |
└ operator_tenant | string | 操作人所在企业编号 |
响应体示例
json
{
"code": 0,
"msg": "success",
"data": {
"has_more": false,
"items": [
{
"event_id": "7254062411181719572",
"unique_id": "7254062413199179796",
"event_module": 1,
"event_name": "space_edit_doc",
"operator_type": 1,
"operator_value": "4a3b8541",
"operator_tenant": "F686619755",
"event_time": 1688968015,
"audit_context": {
"terminal_type": 3,
"web_context": {
"IP": "fdbd:dc02:ff:1:1:174:246:126",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}
},
"audit_detail": {
"city": "",
"device_model": "",
"mc": "",
"os": ""
},
"common_drawers": {
"common_draw_info_list": [
{
"info_key": "CCM_op_status",
"info_val": "success",
"key_i18n_key": "SuiteAdmin_DrawerKeyspaceeditdoc_Kccmopstatus",
"val_i18n_key": "SuiteAdmin_DrawerValspaceeditdoc_Kccmopstatusvsuccess",
"val_type": "1"
},
{
"info_key": "ccm_edit_part",
"info_val": "0",
"key_i18n_key": "SuiteAdmin_DrawerKeyspaceeditdoc_Kccmeditpart",
"val_i18n_key": "SuiteAdmin_DrawerValspaceeditdoc_Kccmeditpartv0",
"val_type": "1"
},
{
"info_key": "ccm_folder_id",
"info_val": "nodbcMQRCwBJ5aWEWxQsWsTA5zg",
"key_i18n_key": "SuiteAdmin_DrawerKeyspaceeditdoc_Kccmfolderid",
"val_i18n_key": "SuiteAdmin_DrawerValspaceeditdoc_Kccmfolderidvnodbcmqrcwbj5awewxqswsta5zg",
"val_type": "1"
},
{
"info_key": "ccm_folder_name",
"info_val": "",
"key_i18n_key": "SuiteAdmin_DrawerKeyspaceeditdoc_Kccmfoldername",
"val_i18n_key": "SuiteAdmin_DrawerValspaceeditdoc_Kccmfoldernamev",
"val_type": "1"
},
{
"info_key": "ccm",
"info_val": "[{\"key\":\"title\",\"keyName\":\"文件名称\",\"value\":\"\",\"valueType\":\"1\",\"valueExtInfo\":null,\"eventFieldInfoList\":null},{\"key\":\"owner\",\"keyName\":\"文件所有者\",\"value\":\"\",\"valueType\":\"3\",\"valueExtInfo\":\"{\\\"type\\\":3,\\\"id\\\":\\\"0\\\",\\\"name\\\":\\\"\\\",\\\"avatar\\\":\\\"\\\",\\\"employee_id\\\":\\\"\\\"}\",\"eventFieldInfoList\":null},{\"key\":\"create_time\",\"keyName\":\"创建时间\",\"value\":\"\",\"valueType\":\"8\",\"valueExtInfo\":null,\"eventFieldInfoList\":null},{\"key\":\"sec_label\",\"keyName\":\"密级标签\",\"value\":\"\",\"valueType\":\"1\",\"valueExtInfo\":null,\"eventFieldInfoList\":null},{\"key\":\"doc_belong_tenant\",\"keyName\":\"是否属于本组织\",\"value\":\"否\",\"valueType\":\"1\",\"valueExtInfo\":null,\"eventFieldInfoList\":null}]",
"key_i18n_key": "文件 ID",
"val_type": "Lwd1smp3nl01AndDEMzbsfqacBb"
},
{
"info_key": "ccm_type",
"info_val": "-",
"key_i18n_key": "文件类型"
}
]
},
"department_ids": [
"0",
"od-ab89476fbcf901c3e5ccd78f788f85bf"
],
"extend": {},
"ip": "fdbd:dc02:ff:1:1:174:246:126",
"objects": [
{
"object_detail": {},
"object_name": "",
"object_owner": "",
"object_type": "106",
"object_value": "Lwd1smp3nl01AndDEMzbsfqacBb"
}
],
"operator_app": "",
"operator_app_name": "",
"recipients": [
{
"recipient_type": "",
"recipient_value": "",
"recipient_detail": {
"permission_action_type": ""
}
}
]
}
],
"page_token": "LC39/f1%2B/Sz9Uv39Gf39/ew/cd5WY0gfGYFdixOW9cW8qPuyh59mg7cXBJKifnqatoP8P2g8URSUi2/4fj5NPJh8VxaPH3yTCnbSZeXzNs4mpQYaUVbp7lTIy1YfIsZ1i0UPASt4qAPObiCewWErhlEG6Qg%2B/6zX7JFBCRsatVcctGTHeL9bb8ssmfdt0Yag"
}
}注:审计环境信息有可能由于客户端版本不同、用户使用终端不同等原因导致缺失,我们会尽量保障环境信息完整获取,如发现缺失,您也可以随时报告给飞书
错误码
| HTTP状态码 | 错误码 | 描述 | 排查建议 |
|---|---|---|---|
| 400 | 1050001 | TIME_CHECK_NOT_VALID | 检查请求参数latest和oldest |
| 500 | 1050002 | ErrCode_DATABASE_ERR | 系统错误,请重试或联系相关人员 |
| 400 | 1050004 | Error_Param_Error | 检查请求参数 |
| 400 | 1050005 | Error_Page_Size_Invalid | 检查请求参数page_size |
| 400 | 1050006 | Error_Page_Token_Invalid | 检查请求参数page_token |
| 400 | 1050007 | Error_Event_Name_Not_Found | 检查请求参数event_name |
| 500 | 1050008 | Error_Open_Platform_RPC | 系统错误,请重试或联系相关人员 |
| 400 | 1050009 | Error_Lark_ID_Not_Found | 检查请求参数operator_value |
