审计日志(Audit Logs)

(Enterprise 计划)

(v4.6.0)

页面摘要: 审计日志将每一次管理操作记录在可搜索、可过滤的历史中,以辅助排查问题与满足合规要求。在本文档的示例中,展示了如何查看负载(payload)以及按用户或日期进行过滤。

审计日志(Audit Logs)功能以可搜索、可过滤的方式展示 Strapi 应用程序用户执行的所有活动。

  • Plan:CMS Enterprise 方案
  • Role & permission:项目 admin 面板中的超级管理员(Super Admin)角色
  • Activation:默认可用(如已具备所需方案)
  • Environment:在开发与生产环境中均可用

审计日志面板

配置

唯一可配置的部分是日志在被删除前保留多长时间。

审计日志并非永久性归档。超过保留期(retention period)的日志会被自动删除。保留期默认为 90 天。

:::caution 在保留期结束时被删除的日志,无法从审计日志界面恢复。 :::

基于代码的配置

保留期通过 /config/admin 文件的 auditLogs.retentionDays 参数设置。

对于 Strapi Cloud 项目,除非在配置文件中定义了更小的值,否则以许可证信息中存储的值为准。

JavaScript

module.exports = ({ env }) => ({
  // … other configuration properties
  auditLogs: {
    retentionDays: 30,
  },
});

TypeScript

export default ({ env }) => ({
  // … other configuration properties
  auditLogs: {
    retentionDays: 30,
  },
});

管理面板中没有等效的设置:保留期只能从 /config/admin 文件进行配置。

使用

使用该功能的路径: Settings > Administration Panel - Audit Logs

审计日志功能记录以下事件:

事件(Event)操作(Actions)
Content Typecreate, update, delete
Entry(草稿/发布)create, update, delete, publish, unpublish
Mediacreate, update, delete
Login / Logoutsuccess, fail
Releasescreate, update, delete, trigger
Release entriesadd, update, remove
Release settingsupdate
Role / Permissioncreate, update, delete
Usercreate, update, delete
Token (v5.54.0+)create, update, delete, regenerate

每条日志记录会显示以下信息:

  • Action(操作):用户执行的操作类型(例如 create 或 update)。
  • Date(日期):操作的日期和时间。
  • User(用户):执行操作的用户。
  • Details(详情):显示一个包含该操作更多详情的模态框(例如用户 IP 地址、请求正文或响应正文)。

Token 事件涵盖 API tokens、admin tokens 以及 transfer tokens。每条日志都会标识其类型(kind),而一次 update 会记录发生变化的字段,包括令牌名称、说明、类型和权限。访问密钥(Access keys)绝不会被记录,包括 regenerate 操作。

在 Strapi (v5.52.0+) 中,被记录的操作可以来自管理面板,也可以来自 MCP server。通过 MCP server 执行的条目(Entry)操作会像对应的管理面板操作一样被记录。仅读取内容的操作不会被记录。

过滤日志

默认情况下,所有日志按时间倒序显示。你可以按以下方式过滤日志:

  • Action(操作):选择要过滤的操作类型(例如 create 或 update)。
  • User(用户):选择要过滤的用户。
  • Date(日期):选择要过滤的日期(范围)和时间。

审计日志过滤器

查看日志详情 {#log-details}

对于任何日志条目,点击 图标即可打开一个包含该操作更多详情的模态框。在该模态框中,Payload(负载) 部分以一个交互式 JSON 组件展示详情,你可以展开和折叠该 JSON 对象。

日志详情模态框

在 Strapi (v5.52.0) 中,负载中的 origin 键表示操作来源于何处:对于 MCP server 为 mcp,对于管理面板为 admin。

导出审计日志

(v5.53+)

拥有审计日志 export 权限的用户,可以将当前过滤后的条目集合导出为 CSV 文件。要使用此功能,用户的角色必须同时具备 Settings > Administration Panel > Roles > Audit Logs 下的 Read(读取) 和 Export(导出) 权限(请参阅 admin 面板配置)。

要导出审计日志:

  1. (可选)应用过滤器以选择要导出的条目。
  2. 点击 Export(导出) 开始预下载文件。在预下载完成前请保持浏览器标签页打开。
  3. 点击 Download CSV(下载 CSV) 以保存导出的文件。

每次导出本身都会被记录为一个 audit-log.export 事件。该事件也包含在导出的 CSV 文件中。

默认情况下,导出限制为 1,000,000 行。要更改此限制,请在 admin 面板配置 中设置 auditLogs.exportMaxRows 参数。