Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-03-26. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

审查组织的审核日志

审核日志允许组织管理员快速审查组织成员执行的操作。 其中包含操作执行人、操作内容和执行时间等详细信息。

访问审核日志

注意:****在特定用例中,Webhook 可能是审核日志或 API 轮询的良好替代方法。 Webhook 是一种 GitHub 在存储库、组织或企业发生特定事件时通知服务器的方法。 与 API 或搜索审核日志相比,如果只想了解企业、组织或存储库何时发生某些事件并进行相应记录,Webhook 效率更高。 有关详细信息,请参阅“Webhook 文档”。

审核日志列出了过去 180 天内影响组织的活动所触发的事件。 只有所有者才能访问组织的审核日志。

默认情况下,仅显示过去三个月的事件。 若要查看较旧的事件,必须使用 created 参数指定日期范围。 有关详细信息,请参阅“了解搜索语法”。

  1. 在 GitHub Enterprise Server 的右上角,选择个人资料照片,然后单击 “你的组织”****。

    @octocat 的个人资料图片下的下拉菜单的屏幕截图。 “你的组织”以深橙色标出。

  2. 在组织旁边,单击“设置”。

  3. 在侧边栏的“存档”部分中,单击“ 日志”,然后单击“审核日志”。

搜索审核日志

每个审核日志条目的名称由事件类型组成,后跟操作类型。 例如,repo.create 条目是指对 repo 类别的 create 操作。

每个审核日志条目都显示有关事件的适用信息,例如:

  • 执行操作的企业或组织
  • 执行操作的用户(参与者)
  • 受操作影响的用户
  • 执行操作的仓库
  • 执行的操作
  • 发生操作的国家/地区
  • 发生操作的日期和时间
  • 对于 Web UI 之外的操作,用户(操作者)如何进行身份验证

请注意,无法使用文本搜索条目。 但是,您可以使用各种过滤器构建搜索查询。 查询日志时使用的许多运算符,如 -><,与在 GitHub Enterprise Server 上搜索时的格式相同。 有关详细信息,请参阅“关于在 GitHub 上搜索”。

基于操作搜索

使用 operation 限定符将操作限制为特定类型的操作。 例如:

  • operation:access 查找访问过资源的所有事件。
  • operation:authentication 查找执行过身份验证事件的所有事件。
  • operation:create 查找创建过资源的所有事件。
  • operation:modify 查找修改过现有资源的所有事件。
  • operation:remove 查找删除过现有资源的所有事件。
  • operation:restore 查找还原过现有资源的所有事件。
  • operation:transfer 查找传输过现有资源的所有事件。

基于仓库搜索

使用 repo 限定符将操作限制到特定存储库。 例如:

  • repo:"my-org/our-repo" 查找 my-org 组织中 our-repo 存储库发生的所有事件。
  • repo:"my-org/our-repo" repo:"my-org/another-repo" 查找 my-org 组织中 our-repoanother-repo 存储库发生的所有事件。
  • -repo:"my-org/not-this-repo" 排除 my-org 组织中 not-this-repo 存储库发生的所有事件。

请注意,repo 限定符中必须包含帐户名,并将其放在引号中,或使用 \ 转义 /;仅搜索 repo:our-reporepo:my-org/our-repo 无效。

基于用户搜索

actor 限定符可将事件范围限于执行操作的人员。 例如:

  • actor:octocat 查找 octocat 执行的所有事件。
  • actor:octocat actor:hubot 查找 octocathubot 执行的所有事件。
  • -actor:hubot 排除 hubot 执行的所有事件。

请注意,只能使用 GitHub Enterprise Server 用户名,而不是个人的真实姓名。

基于执行的操作搜索

若要搜索特定事件,请在查询中使用 action 限定符。 审核日志中列出的操作分为不同类别。 有关每个类别中事件的完整列表,请参阅“组织的审核日志事件”。

| 类别名称 | 说明 |------------------|------------------- | copilot | 包含与 GitHub Copilot Business 或GitHub Copilot Enterprise 订阅相关的所有活动。 | dependabot_alerts | 包含现有存储库中 Dependabot alerts 的组织级配置活动。 有关详细信息,请参阅“关于 Dependabot 警报”。 | dependabot_alerts_new_repos | 包含组织新建存储库中 Dependabot alerts 的组织级配置活动。 | dependabot_security_updates | 包含现有存储库中 Dependabot security updates 的组织级配置活动。 有关详细信息,请参阅“配置 Dependabot 安全更新”。 | dependabot_security_updates_new_repos | 包含在组织中所创建新存储库的 Dependabot security updates 的组织级配置活动。 | discussion_post | 包含与发布到团队页面的讨论相关的所有活动。 | discussion_post_reply | 包含与发布到团队页的讨论回复相关的所有活动。 | enterprise | 包含与企业设置相关的活动。 | | hook | 包含与 Webhook 相关的所有活动。 | integration_installation | 包含与帐户中安装的集成相关的活动。 | | integration_installation_request | 包含与组织成员请求所有者批准用于组织的集成相关的所有活动。 | | issue | 包含与删除问题相关的活动。 | members_can_create_pages | 包含与管理组织中存储库的 GitHub Pages 站点的发布相关的所有活动。 有关详细信息,请参阅“管理组织的 GitHub Pages 站点发布”。 | | org | 包含与组织成员资格相关的活动。 | org_secret_scanning_custom_pattern | 包含与 secret scanning 自定义模式相关的存组织级活动。 有关详细信息,请参阅“为机密扫描定义自定义模式”。 | organization_default_label | 包含与组织中存储库的默认标签相关的所有活动。 | oauth_application | 包含与 OAuth apps 相关的所有活动。 | packages | 包含与 GitHub Packages 相关的所有活动。 | profile_picture| 包含与组织的头像相关的所有活动。 | project | 包含与 项目(经典) 相关的所有活动。 | protected_branch | 包含与受保护分支相关的所有活动。 | repo | 包含与组织拥有的存储库相关的活动。 | repository_secret_scanning | 包含与 secret scanning 相关的存储库级活动。 有关详细信息,请参阅“关于机密扫描”。 | repository_secret_scanning_custom_pattern | 包含与 secret scanning 自定义模式相关的存储库级活动。 有关详细信息,请参阅“为机密扫描定义自定义模式”。 | repository_secret_scanning_push_protection | 包含与 secret scanning 推送保护相关的存储库级活动。 有关详细信息,请参阅“存储库和组织的推送保护”。 | repository_vulnerability_alert | 包含与 Dependabot alerts 相关的所有活动。 | role | 包含与自定义存储库角色相关的所有活动。 | secret_scanning | 包含用于在现有存储库中进行 secret scanning 的组织级配置活动。 有关详细信息,请参阅“关于机密扫描”。 | secret_scanning_new_repos | 包含组织中创建的新存储库的 secret scanning 的组织级配置活动。 | team | 包含与组织中的团队相关的所有活动。 | team_discussions | 包含与管理组织的团队讨论相关的活动。 | workflows | 包含与 GitHub Actions 工作流相关的活动。

您可以使用这些词搜索特定的操作集。 例如:

  • action:team 查找分组在团队类别中的所有事件。
  • -action:hook 排除 Webhook 类别中的所有事件。

每个类别都有一组可进行过滤的关联操作。 例如:

  • action:team.create 查找创建团队的所有事件。
  • -action:hook.events_changed 排除已更改 Webhook 上事件的所有事件。

基于操作时间搜索

使用 created 限定符可以根据事件发生的时间筛选审核日志中的事件。 日期格式必须遵循 ISO8601 标准,即 YYYY-MM-DD(年-月-日)。 也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以按小时、分钟和秒进行搜索。 即 T,随后是 HH:MM:SS(时-分-秒)和 UTC 时差 (+00:00)。

搜索日期时,可以使用大于、小于和范围限定符来进一步筛选结果。 有关详细信息,请参阅“了解搜索语法”。

例如:

  • created:2014-07-08 查找 2014 年 7 月 8 日发生的所有事件。
  • created:>=2014-07-08 查找 2014 年 7 月 8 日当天或之后发生的所有事件。
  • created:<=2014-07-08 查找 2014 年 7 月 8 日当天或之前发生的所有事件。
  • created:2014-07-01..2014-07-31 查找 2014 年 7 月发生的所有事件。

注意:审核日志包含过去 180 天的数据。

基于位置搜索

使用限定符 country,可以根据原始国家/地区筛选审核日志中的事件。 您可以使用国家/地区的两字母短代码或完整名称。 请注意,名称中包含空格的国家/地区需要加引号。 例如:

  • country:de 查找在德国发生的所有事件。
  • country:Mexico 查找在墨西哥发生的所有事件。
  • country:"United States" 查找全发生在美国的事件。

使用审核日志 API

可以使用 GraphQL API 与审核日志交互。可以使用 read:audit_log 范围通过 API 访问审核日志。

为确保知识产权得到保护并保持组织的合规,可使用审核日志 GraphQL API 保留审核日志数据的副本并监视:- 对你的组织或存储库设置的访问

  • 权限的更改
  • 在组织、存储库或团队中添加或删除的用户
  • 被提升为管理员的用户
  • GitHub App

GraphQL 响应可包含长达 90 至 120 天的数据。

例如,您可以创建 GraphQL 请求以查看添加到组织的所有新组织成员。 有关详细信息,请参阅“接口”。

延伸阅读