审计日志(Audit Log)
在瞬息万变的当下,管理数据以及由变更引发的各种影响至关重要。为满足充分的数据管理需求,我们现已在 Gitea Enterprise 中推出审计日志(Audit Log)功能。这项全面的功能着重于为您的 Gitea 实例内发生的各类活动提供深入的历史记录。我们的最新功能可捕获广泛的事件,例如登录/登出、克隆仓库(包括通过 SSH、HTTP)、下载源代码、下载软件包等等。
为什么需要审计日志功能?
Gitea Enterprise 的审计日志功能提供了一套全面的日志记录方案,使系统管理员能够跟踪各类活动和变更。它可确保更高的数据安全性、合规性、问责制以及可追溯性。
审计日志的用户界面
审计日志功能提供了一个整洁有序的界面,您可以在其中轻松访问所有日志。

接下来我们来介绍一下这些记录的内容与组织方式。
- 操作时间(Opeartion Time):此列显示活动发生的确切日期和时间。所记录的详细信息有助于追踪操作的先后顺序,也有助于在特定时间范围内精确定位活动。
- 操作类型(Operation Type):您可以在此找到不同活动的标签,例如
user:sign_in、user:sign_out、repo:clone等。此列有助于识别所执行任务的类别。 - 操作者(Operator):此列记录执行该操作的用户的 Gitea 用户名。这有助于问责制,也便于回溯任何未经授权的变更。
- 仓库(Repository):仓库列指明了与该操作相关的具体仓库。这在识别与所执行操作相关的来源/对象时特别有用。
- 所有者(Owner):所有者列 并不一定表示相关仓库的所有者;它指的是该操作所涉及对象的所有者。根据操作类型的不同,所有者也会有所差异。例如像“下载软件包(Download package)”这样的操作,软件包并不明确从属于任何仓库,而是有一个独立的所有者,该字段就会记录该所有者的相关信息。
- 目标(Target):具体而言,这表示某个操作所指向的特定对象或个人。例如,在文件下载的场景中,目标即为文件名。
- IP 地址(IP Address)*:执行该操作时所使用的 IP 地址也会被记录下来。这可以提供额外的安全保障,因为它能够追溯操作执行地的地理位置。
哪些操作会被记录到审计日志中?
几乎所有的用户操作都会被记录下来。以下是我们所记录的行为。
操作类型参考表
| 操作类型(Operation Type) | 操作 | 描述 | 备注 |
|---|---|---|---|
user:sign_in | 用户登录 | 记录一次成功的用户登录。 | 留意异常的时间段或 IP。 |
user:sign_out | 用户登出 | 记录一次用户登出。 | 结合会话管理,关注长期存活的会话。 |
user:change_password | 修改密码 | 用户在设置中修改自己的密码。 | 高风 险操作;留意频繁修改的情况。 |
user:reset_password | 重置密码 | 用户完成一次密码重置流程。 | 确认其与某次重置请求相匹配。 |
user:request_reset_password | 请求重置密码 | 用户请求重置密码。 | 结合邮件/验证活动进行关联分析。 |
user:enable_2fa | 启用双因素认证 | 用户启用双因素认证(2FA)。 | 安全性提升;留意发生时间。 |
user:disable_2fa | 禁用双因素认证 | 用户禁用双因素认证(2FA)。 | 高风险;核实操作者身份。 |
user:regenerate_recovery_codes | 重新生成恢复码 | 用户重新生成 2FA 恢复码。 | 旧的恢复码将失效。 |
user:add_ssh_key | 添加 SSH key | 用户添加一个 SSH 公钥。 | 影响 Git 的 SSH 访问方式。 |
user:remove_ssh_key | 移除 SSH key | 用户移除一个 SSH 公钥。 | 可能导致访问中断;核实操作意图。 |
user:add_principal_key | 添加 principal key | 用户添加一个 SSH principal key。 | 用于证书认证;确认其用途。 |
user:remove_principal_key | 移除 principal key | 用户移除一个 SSH principal key。 | 相关的证书认证将失效。 |
user:add_gpg_key | 添加 GPG key | 用户添加一个 GPG 公钥。 | 影响提交签名验证。 |
user:remove_gpg_key | 移除 GPG key | 用户移除一个 GPG 公钥。 | 现有签名仍可验证,但无法再创建新的签名。 |
user:create | 创建用户 | 创建一个新的用户账号。 | 通常为管理员操作 。 |
user:rename | 重命名用户 | 修改用户名。 | 会影响仓库路径与相关引用。 |
user:delete | 删除用户 | 删除一个用户账号。 | 不可逆;请确认数据归属的处理方式。 |
user:activate | 激活用户 | 激活一个用户账号。 | 通常在审核/解锁后使用。 |
user:deactivate | 停用用户 | 停用一个用户账号。 | 阻止登录及访问。 |
user:update | 更新用户 | 更新用户资料或设置。 | 审计日志不应暴露敏感数值。 |
user:admin_reset_password | 管理员重置密码 | 管理员重置某用户的密码。 | 高风险;确保存在审批记录。 |
user:prohibit_login | 禁止登录 | 禁止该用户登录。 | 适用于事件响应场景。 |
user:allow_login | 允许登录 | 重新允许该用户登录。 | 确认风险已消除。 |
user:add_email | 添加邮箱 | 用户添加一个邮箱地址。 | 应对邮箱归属进行验证。 |
user:delete_email | 删除邮箱 | 用户移除一个邮箱地址。 | 可能影响通知及登录方式。 |
user:change_primary_email | 更改主邮箱 | 用户更改主邮箱。 | 会影响通知与身份标识。 |
user_app:create | 创建用户应用 | 用户创建一个应用集成。 | 审查其权限范围与回调地址。 |
user_app:delete | 删除用户应用 | 用户删除一个应用。 | 现有授权将被撤销。 |
user_app:update | 更新用户应用 |