跳到主要内容
版本:26.4.1

审计日志(Audit Log)

在瞬息万变的当下,管理数据以及由变更引发的各种影响至关重要。为满足充分的数据管理需求,我们现已在 Gitea Enterprise 中推出审计日志(Audit Log)功能。这项全面的功能着重于为您的 Gitea 实例内发生的各类活动提供深入的历史记录。我们的最新功能可捕获广泛的事件,例如登录/登出、克隆仓库(包括通过 SSH、HTTP)、下载源代码、下载软件包等等。

为什么需要审计日志功能?

Gitea Enterprise 的审计日志功能提供了一套全面的日志记录方案,使系统管理员能够跟踪各类活动和变更。它可确保更高的数据安全性、合规性、问责制以及可追溯性。

审计日志的用户界面

审计日志功能提供了一个整洁有序的界面,您可以在其中轻松访问所有日志。

Audit Log Interface

接下来我们来介绍一下这些记录的内容与组织方式。

  1. 操作时间(Opeartion Time):此列显示活动发生的确切日期和时间。所记录的详细信息有助于追踪操作的先后顺序,也有助于在特定时间范围内精确定位活动。
  2. 操作类型(Operation Type):您可以在此找到不同活动的标签,例如 user:sign_inuser:sign_outrepo:clone 等。此列有助于识别所执行任务的类别。
  3. 操作者(Operator):此列记录执行该操作的用户的 Gitea 用户名。这有助于问责制,也便于回溯任何未经授权的变更。
  4. 仓库(Repository):仓库列指明了与该操作相关的具体仓库。这在识别与所执行操作相关的来源/对象时特别有用。
  5. 所有者(Owner):所有者列并不一定表示相关仓库的所有者;它指的是该操作所涉及对象的所有者。根据操作类型的不同,所有者也会有所差异。例如像“下载软件包(Download package)”这样的操作,软件包并不明确从属于任何仓库,而是有一个独立的所有者,该字段就会记录该所有者的相关信息。
  6. 目标(Target):具体而言,这表示某个操作所指向的特定对象或个人。例如,在文件下载的场景中,目标即为文件名。
  7. 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更新用户应用用户更新一个应用。留意回调地址或权限范围的变更。
user_app:grant_revoke授予/撤销应用权限用户授予或撤销应用访问权限。对权限影响较大。
user_access_token:create创建访问令牌用户创建一个访问令牌(access token)。该令牌仅显示一次;留意泄露风险。
user_access_token:delete删除访问令牌用户删除一个访问令牌(access token)。该令牌的 API 访问权限随之停止。
user_actions_secret:create创建 Actions secret用户创建一个 Actions secret。secret 数值会被掩码处理。
user_actions_secret:delete删除 Actions secret用户删除一个 Actions secret。之后相关工作流可能会失败。
user_actions_secret:update更新 Actions secret用户更新一个 Actions secret。更新后的数值不会显示。
user_actions_variable:create创建 Actions variable用户创建一个 Actions variable。变量数值以明文形式存储。
user_actions_variable:delete删除 Actions variable用户删除一个 Actions variable。之后相关工作流可能会失败。
user_actions_variable:update更新 Actions variable用户更新一个 Actions variable。跟踪数值的变化。
user_webhook:create创建用户 Webhook用户创建一个个人 Webhook。审查回调地址与所监听的事件。
user_webhook:delete删除用户 Webhook用户删除一个个人 Webhook。事件投递随之停止。
user_webhook:update更新用户 Webhook用户更新一个个人 Webhook。审查地址/密钥的变更。
user_openid_uri:create创建 OpenID URI用户添加一个 OpenID 标识符。影响第三方身份绑定。
user_openid_uri:delete删除 OpenID URI用户移除一个 OpenID 标识符。相关登录方式将失效。
repo:create创建仓库创建一个新仓库。审查所有者与可见性设置。
repo:delete删除仓库删除一个仓库。不可逆;请确保已有备份。
repo:archive归档仓库将仓库设置为只读归档状态。禁止写入操作。
repo:unarchive取消归档仓库将仓库恢复为可写状态。请确认符合流程要求。
repo:clone克隆仓库用户克隆一个仓库。记录所用协议及 IP。
repo:pull拉取仓库用户从仓库中拉取内容。记录所用协议及 IP。
repo:push推送仓库用户推送提交内容。结合分支保护策略进行审计。
repo:download下载源代码用户下载源代码归档文件。留意批量下载的情况。
repo:update_settings更新仓库设置更新仓库的配置。关注可见性或权限的变更。
repo:update_avatar更新仓库头像更新仓库头像。风险较低。
repo:delete_avatar删除仓库头像删除仓库头像。风险较低。
repo:add_push_mirror添加推送镜像添加一个推送镜像(push mirror)配置。审查镜像目标地址。
repo:update_push_mirror更新推送镜像更新推送镜像配置。留意凭证或地址的变更。
repo:delete_push_mirror删除推送镜像删除一个推送镜像配置。镜像同步随之停止。
repo:rename重命名仓库重命名仓库或其路径。会影响远端引用及相关依赖。
repo:transfer转移仓库转移仓库所有权。确认权限及资产归属处理。
repo:transfer_pending转移待确认仓库转移正等待接受确认。需要接收方进行确认。
repo:make_public设为公开将仓库设置为公开。扩大数据暴露范围。
repo:make_private设为私有将仓库设置为私有。限制访问权限。
repo:delete_wiki删除 Wiki删除仓库的 Wiki。不可逆;请考虑先行备份。
repo:add_collaborator添加协作者添加仓库协作者。属于权限变更。
repo:update_collaborator更新协作者更新协作者的权限。留意权限提升的情况。
repo:remove_collaborator移除协作者移除仓库协作者。访问权限随之被撤销。
repo:add_webhook添加仓库 Webhook添加一个仓库 Webhook。审查回调地址与所监听的事件。
repo:update_webhook更新仓库 Webhook更新一个仓库 Webhook。审查地址/密钥的变更。
repo:delete_webhook删除仓库 Webhook删除一个仓库 Webhook。事件投递随之停止。
repo:add_protected_branch添加受保护分支创建一条受保护分支规则。会改变推送/合并权限。
repo:update_protected_branch更新受保护分支更新受保护分支规则。关注权限的变更。
repo:delete_protected_branch删除受保护分支删除受保护分支规则。访问限制可能因此放宽。
repo:add_protected_tag添加受保护标签创建一条受保护标签(tag)规则。控制标签的创建/删除。
repo:update_protected_tag更新受保护标签更新受保护标签规则。关注权限的变更。
repo:delete_protected_tag删除受保护标签删除受保护标签规则。访问限制可能因此放宽。
repo:add_deploy_key添加部署密钥添加一个仓库部署密钥(deploy key)。影响自动化流程的访问权限。
repo:delete_deploy_key删除部署密钥删除一个仓库部署密钥。自动化流程的访问随之停止。
repo:add_actions_secret添加 Actions secret添加一个仓库 Actions secret。secret 数值会被掩码处理。
repo:update_actions_secret更新 Actions secret更新一个仓库 Actions secret。更新后的数值不会显示。
repo:delete_actions_secret删除 Actions secret删除一个仓库 Actions secret。之后相关工作流可能会失败。
repo:add_actions_variable添加 Actions variable添加一个仓库 Actions variable。变量数值以明文形式存储。
repo:update_actions_variable更新 Actions variable更新一个仓库 Actions variable。跟踪数值的变化。
repo:delete_actions_variable删除 Actions variable删除一个仓库 Actions variable。之后相关工作流可能会失败。
repo:enable_security_scan启用安全扫描启用仓库安全扫描。请考虑扫描范围及负载情况。
repo:disable_security_scan禁用安全扫描禁用仓库安全扫描。会降低漏洞检测能力。
repo:update_security_scan_branch更新扫描分支更新扫描所针对的目标分支。确保关键分支已被覆盖。
repo:cleanup_security_scan清理扫描数据清理安全扫描的历史记录。记录将被删除且无法恢复。
repo_label:create创建标签创建一个仓库标签(label)。影响 issue/PR 的分类方式。
repo_label:update更新标签更新一个仓库标签。留意名称/颜色的变更。
repo_label:delete删除标签删除一个仓库标签。影响标签的关联关系。
repo_milestone:create创建里程碑创建一个仓库里程碑(milestone)。影响规划安排。
repo_milestone:update更新里程碑更新一个仓库里程碑。跟踪截止日期的变更。
repo_milestone:delete删除里程碑删除一个仓库里程碑。影响统计数据与跟踪情况。
repo_project:create创建项目看板创建一个仓库项目看板(project board)。影响项目工作流程。
repo_project:update更新项目看板更新一个仓库项目看板。留意看板列或权限的变更。
repo_project:close关闭项目看板关闭一个仓库项目看板。该看板将变为只读状态。
repo_project:reopen重新打开项目看板重新打开一个仓库项目看板。恢复写入权限。
repo_project:delete删除项目看板删除一个仓库项目看板。不可逆。
reference:create创建引用创建一个 Git 引用(分支/标签)。记录目标引用的名称。
reference:delete删除引用删除一个 Git 引用(分支/标签)。该引用随之被移除。
release:create创建发行版创建一个仓库发行版(release)。与标签及发布资产相关联。
release:update更新发行版更新一个仓库发行版。留意资产或描述内容的变更。
release:delete删除发行版删除一个仓库发行版。相关资产将变得不可用。
package:download下载软件包下载一个软件包制品。跟踪软件包名称/版本/所有者。
package:upload上传软件包上传一个软件包制品。核实权限及来源。
package:create创建软件包创建一条软件包记录。通常与上传操作同时发生。
package:delete删除软件包删除一条软件包记录。该软件包将变得不可用。
issue:create创建 issue/PR创建一个 issue 或 PR。记录所属仓库及作者。
issue:update更新 issue/PR更新一个 issue 或 PR。跟踪状态/指派人/标签的变化。
issue:close关闭 issue/PR关闭一个 issue 或 PR。审查关闭原因,或是否由自动化触发。
issue:reopen重新打开 issue/PR重新打开一个 issue 或 PR。确认该 issue 是否仍然有效。
issue:delete删除 issue/PR删除一个 issue 或 PR。不可逆。
issue:lock锁定 issue/PR锁定 issue 或 PR 的评论。用于内容管理场景。
issue:unlock解锁 issue/PR解锁 issue 或 PR 的评论。恢复评论功能。
issue_comment:create创建评论创建一条 issue/PR 评论。会记录评论内容。
issue_comment:update更新评论更新一条 issue/PR 评论。跟踪编辑历史。
issue_comment:delete删除评论删除一条 issue/PR 评论。不可逆。
pull:create创建 PR创建一个拉取请求(pull request)。记录源分支/目标分支。
pull:wip标记为 WIP将某个 PR 标记为 WIP(进行中)。影响合并就绪状态。
pull:remove_wip移除 WIP 标记移除某个 PR 的 WIP 状态。恢复正常的评审流程。
pull:change_target_branch更改目标分支更改 PR 的目标分支。影响评审及合并策略。
pull:create_review_request请求评审为某个 PR 创建一条评审请求。分配评审职责。
pull:remove_review_request移除评审请求移除一条评审请求。影响评审流程。
pull:merge合并 PR合并一个拉取请求。高风险;请检查分支保护设置。
pull_request_review:submit提交评审提交一次 PR 评审。记录评审结果及评审意见。
pull_request_review:dismiss驳回评审驳回一次 PR 评审。请确认驳回原因。
org:create创建组织创建一个新组织。影响资源归属。
org:delete删除组织删除一个组织。不可逆;请确认所有权的处理方式。
org:rename重命名组织重命名一个组织。会影响仓库路径与相关引用。
org:update_settings更新组织设置更新组织的配置。关注可见性及权限的变更。
org:add_team添加团队创建一个组织团队。影响权限设置。
org:remove_team移除团队删除一个组织团队。团队的相关权限随之被移除。
org:update_team更新团队更新一个组织团队。留意权限的变更。
org:add_team_member添加团队成员向团队中添加一名成员。改变访问权限。
org:remove_team_member移除团队成员从团队中移除一名成员。访问权限随之被撤销。
org_app:create创建组织应用创建一个组织应用。审查其权限范围与回调地址。
org_app:delete删除组织应用删除一个组织应用。相关授权将被撤销。
org_app:update更新组织应用更新一个组织应用。留意回调地址的变更。
org_app:grant_revoke授予/撤销组织应用权限授予或撤销某个组织应用的访问权限。对权限影响较大。
org_webhook:create创建组织 Webhook创建一个组织 Webhook。审查回调地址及所监听的事件。
org_webhook:delete删除组织 Webhook删除一个组织 Webhook。事件投递随之停止。
org_webhook:update更新组织 Webhook更新一个组织 Webhook。审查地址/密钥的变更。
org_actions_secret:create创建组织 Actions secret创建一个组织 Actions secret。secret 数值会被掩码处理。
org_actions_secret:delete删除组织 Actions secret删除一个组织 Actions secret。之后相关工作流可能会失败。
org_actions_secret:update更新组织 Actions secret更新一个组织 Actions secret。更新后的数值不会显示。
org_actions_variable:create创建组织 Actions variable创建一个组织 Actions variable。变量数值以明文形式存储。
org_actions_variable:delete删除组织 Actions variable删除一个组织 Actions variable。之后相关工作流可能会失败。
org_actions_variable:update更新组织 Actions variable更新一个组织 Actions variable。跟踪数值的变化。
org_label:create创建组织标签创建一个组织标签。该标签会在组织内各仓库间共享。
org_label:update更新组织标签更新一个组织标签。留意名称/颜色的变更。
org_label:delete删除组织标签删除一个组织标签。影响标签的关联关系。
org_protected_branch:create创建组织级受保护分支创建一条组织级受保护分支规则。影响组织下各仓库的策略。
org_protected_branch:update更新组织级受保护分支更新组织级受保护分支规则。关注权限的变更。
org_protected_branch:delete删除组织级受保护分支删除组织级受保护分支规则。访问限制可能因此放宽。
org_project:create创建组织项目看板创建一个组织项目看板。影响组织层面的规划安排。
org_project:update更新组织项目看板更新一个组织项目看板。留意看板列或权限的变更。
org_project:close关闭组织项目看板关闭一个组织项目看板。该看板将变为只读状态。
org_project:reopen重新打开组织项目看板重新打开一个组织项目看板。恢复写入权限。
org_project:delete删除组织项目看板删除一个组织项目看板。不可逆。
system:update_settings更新系统设置更新系统级配置。仅限管理员执行的操作。
system:update_webhook更新系统 Webhook更新一个系统 Webhook。审查地址/密钥的变更。
system:run_maintenance_task运行维护任务运行一项系统维护任务。可能影响性能或数据。
system:update_site_announcement更新站点公告更新站点公告内容。审查发布时机及内容。
system:cleanup_expired_packages清理过期软件包清理已过期的软件包记录。相关历史记录会被移除。
system:adopt_repositories接管仓库将已存在的仓库纳入系统管理。影响所有权与路径。
auth_source:create创建认证源创建一个认证源(LDAP/OAuth)。影响登录方式。
auth_source:update更新认证源更新认证源配置。请核实配置变更内容。
auth_source:delete删除认证源删除一个认证源配置。相关登录方式将失效。
system_app:create创建系统应用创建一个系统级应用。其权限范围影响整个实例。
system_app:delete删除系统应用删除一个系统级应用。相关授权将被撤销。
system_app:update更新系统应用更新一个系统级应用。留意回调地址的变更。
system_webhook:create创建系统 Webhook创建一个系统 Webhook。影响全局事件投递。
system_webhook:delete删除系统 Webhook删除一个系统 Webhook。全局事件投递随之停止。
system_webhook:update更新系统 Webhook更新一个系统 Webhook。审查地址/密钥的变更。
system_default_webhook:create创建默认 Webhook创建一个系统默认 Webhook。会被新建仓库自动继承。
system_default_webhook:delete删除默认 Webhook删除一个系统默认 Webhook。新建仓库将不再继承该配置。
system_default_webhook:update更新默认 Webhook更新一个系统默认 Webhook。影响新建仓库的默认配置。
system_actions_variable:create创建系统 Actions variable创建一个系统 Actions variable。变量数值以明文形式存储。
system_actions_variable:delete删除系统 Actions variable删除一个系统 Actions variable。之后相关工作流可能会失败。
system_actions_variable:update更新系统 Actions variable更新一个系统 Actions variable。跟踪数值的变化。
license:activate激活许可证激活系统许可证(license)。记录许可证的变更情况。
license:update更新许可证更新系统许可证。审查到期时间及权益的变更。
license:delete删除许可证删除系统许可证。之后部分功能可能会受限。

结语

全新的审计日志功能为 Gitea Enterprise 带来了更强的安全性与操作透明度。通过在您的 Gitea 环境中提供关于「谁在何时做了什么」的详尽记录,它有助于防止未经授权的操作,并确保符合必要的数据保护法规要求。