Skip to main content

审查组织的审核日志

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

访问审核日志

Note

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

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

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

  1. 在 GitHub 的右上角,选择个人资料照片,然后单击 你的组织”。
  2. 在组织旁边,单击“设置”。
  3. 在边栏的“存档”部分中,单击“ 日志”,然后单击“审核日志”。

搜索审核日志

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

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

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

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

基于用户搜索

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

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

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

基于执行的操作搜索

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

类别名称说明
account包含与组织帐户相关的所有活动。
advisory_credit包含与 GitHub Advisory Database 中安全公告的参与者积分相关的所有活动。 有关详细信息,请参阅“关于存储库安全公告”。
auto_approve_personal_access_token_requests包含与 fine-grained personal access tokens 的组织审批策略相关的活动。 有关详细信息,请参阅“为组织设置个人访问令牌策略”。
billing包含与组织帐单相关的所有活动。
business包含与企业的业务设置相关的活动。
codespaces包含与组织的 codespace 相关的所有活动。
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 的组织级配置活动。
dependency_graph包含存储库依赖项关系图的组织级配置活动。 有关详细信息,请参阅“关于依赖关系图”。
dependency_graph_new_repos包含在组织中创建的新存储库的组织级配置活动。
discussion_post包含与发布到团队页的讨论相关的所有活动。
discussion_post_reply包含与发布到团队页的讨论回复相关的所有活动。
enterprise包含与企业设置相关的活动。
hook包含与 web 挂钩相关的所有活动。
integration_installation包含与帐户中安装的集成相关的活动。
integration_installation_request包含与组织成员请求所有者批准用于组织的集成相关的所有活动。
ip_allow_list包含与为组织启用或禁用 IP 允许列表相关的活动。
ip_allow_list_entry包含与为组织创建、删除和编辑 IP 允许列表条目相关的活动。
issue包含与删除问题相关的活动。
marketplace_agreement_signature包含与签署 GitHub Marketplace 开发者协议相关的所有活动。
marketplace_listing包含与 GitHub Marketplace 中列出的应用相关的所有活动。
members_can_create_pages包含与管理组织存储库的 GitHub Pages 站点发布相关的所有活动。 有关详细信息,请参阅“管理组织的 GitHub Pages 站点发布”。
org包含与组织会员资格相关的活动。
org_credential_authorization包含与授权凭据以用于 SAML 单一登录相关的活动。
org_secret_scanning_automatic_validity_checks包含与为 secret scanning 启用和禁用自动验证检查相关的组织级活动。 有关详细信息,请参阅“管理组织的安全和分析设置”。
org_secret_scanning_custom_pattern包含与 secret scanning 自定义模式相关的组织级活动。 有关详细信息,请参阅“为机密扫描定义自定义模式”。
organization_default_label包含与组织中存储库的默认标签相关的所有活动。
oauth_application包含与 OAuth apps 相关的所有活动。
packages包含与 GitHub Packages 相关的所有活动。
payment_method包含与组织如何支付 GitHub 费用相关的所有活动。
personal_access_token包含与组织中的 fine-grained personal access tokens 相关的活动。 有关详细信息,请参阅“管理个人访问令牌”。
profile_picture包含与组织的个人资料图片相关的所有活动。
project包含与 项目(经典) 相关的所有活动。
protected_branch包含与受保护分支相关的所有活动。
repo包含与组织拥有的存储库相关的活动。
repository_advisory包含与 GitHub Advisory Database 中的安全公告相关的存储库级活动。 有关详细信息,请参阅“关于存储库安全公告”。
repository_content_analysis包含与为专用存储库启用或禁用数据使用相关的所有活动。 有关详细信息,请参阅“管理存储库的安全和分析设置”。
repository_dependency_graph包含与为专用存储库启用或禁用依赖项关系图相关的存储库级活动。 有关详细信息,请参阅“关于依赖关系图”。
repository_secret_scanning包含与 secret scanning 相关的存储库级活动。 有关详细信息,请参阅“关于机密扫描”。
repository_secret_scanning_automatic_validity_checks包含与为 secret scanning 启用和禁用自动验证检查相关的存储库级活动。 有关详细信息,请参阅“为存储库启用机密扫描”。
repository_secret_scanning_custom_pattern包含与 secret scanning 相关的存储库级活动。 有关详细信息,请参阅“为机密扫描定义自定义模式”。
repository_secret_scanning_custom_pattern_push_protection包含与 secret scanning 的自定义模式推送保护相关的存储库级活动。 有关详细信息,请参阅“为机密扫描定义自定义模式”。
repository_secret_scanning_push_protection包含与 secret scanning 推送保护相关的存储库级活动。 有关详细信息,请参阅“关于推送保护”。
repository_vulnerability_alert包含与 Dependabot alerts 相关的所有活动。
repository_vulnerability_alerts包含 Dependabot alerts 的存储库级配置活动。
role包含与自定义存储库角色相关的所有活动。
secret_scanning包含现有存储库中 secret scanning 的组织级配置活动。 有关详细信息,请参阅“关于机密扫描”。
secret_scanning_new_repos包含在组织中创建的新存储库的 secret scanning 的组织级配置活动。
restore_member当组织所有者恢复成员时触发。 有关详细信息,请参阅“Reinstating a former member of your organization(恢复组织前成员的身份)”。
sponsors包含与发起人按钮相关的所有事件(请参阅“在仓库中显示赞助者按钮”)
team包含与您的组织中的团队相关的所有活动。
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 月发生的所有事件。

Note

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

基于位置搜索

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

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

基于访问令牌的搜索

可以识别由特定访问令牌执行的所有事件。 有关详细信息,请参阅“标识由访问令牌执行的审核日志事件”。

导出审核日志

使用“导出”下拉菜单,可以将日志导出为 JSON 数据或逗号分隔值 (CSV) 文件****。

若要筛选导出结果,请在使用“导出”下拉菜单之前使用一个或多个支持的限定符进行搜索。

限定符示例值
actionteam.create
actoroctocat
usercodertocat
orgocto-org
repoocto-org/documentation
created2019-06-01

Note

导出 Git 事件时,通过 Web 浏览器或 REST 或 GraphQL API 启动的事件不包括在内。 例如,当用户在 Web 浏览器中合并拉取请求时,更改会推送到基础分支,但导出中不包含该推送的 Git 事件。

导出日志后,你将在生成的文件中看到以下键和值。

密钥示例值
actionteam.create
actoroctocat
usercodertocat
actor_location.country_codeUS
orgocto-org
repoocto-org/documentation
created_at1429548104000 (Timestamp shows the time since Epoch with milliseconds.)
data.emailoctocat@nowhere.com
data.hook_id245
data.events["issues", "issue_comment", "pull_request", "pull_request_review_comment"]
data.events_were["push", "pull_request", "issues"]
data.target_loginoctocat
data.old_userhubot
data.teamocto-org/engineering

使用审核日志 API

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

Note

若要使用审核日志 API,你的组织必须使用 GitHub Enterprise Cloud。 有关如何免费试用 GitHub Enterprise Cloud 的详细信息,请参阅“设置 GitHub Enterprise Cloud 的试用版”。

使用 GraphQL API

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

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

请注意,你无法使用 GraphQL API 检索 Git 事件。 要检索 Git 事件,请改为使用 REST API。 有关详细信息,请参阅“git 类别操作”。

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

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

使用 REST API

为确保知识产权得到保护并保持组织合规,可使用审核日志 REST API 保留审核日志数据的副本。 有关可使用 REST API 访问的特定事件的详细信息,请参阅“组织的审核日志事件”。

审核日志将 Git 事件保留七天。 这比其他审核日志事件更短,它们可以保留长达 7 个月。

默认情况下,仅返回过去三个月的事件。 若要包括较旧的事件,必须在查询中指定时间戳。

当使用 REST API 请求 Git 事件时,通过 Web 浏览器或 REST 或 GraphQL API 启动的事件不包括在内。 例如,当在 Web 浏览器中合并拉取请求时,更改会推送到基础分支,但响应中不包含该推送的 Git 事件。

有关审核日志 REST API 的详细信息,请参阅“适用于组织的 REST API 终结点”。

延伸阅读