跳转到内容
免费试用 Gitea Cloud ☁️ 30 天,加速你的开发与部署!
技术支持

审计日志(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 地址也会被记录下来。这可以提供额外的安全保障,因为它能够追溯操作执行地的地理位置。

哪些操作会被记录到审计日志中?

Section titled “哪些操作会被记录到审计日志中?”

几乎所有的用户操作都会被记录下来。以下是我们所记录的行为。

操作类型(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 环境中提供关于「谁在何时做了什么」的详尽记录,它有助于防止未经授权的操作,并确保符合必要的数据保护法规要求。