跳至主要内容

查看组织的审计日志

审计日志允许组织管理员快速查看组织成员执行的操作。它包含有关谁执行了操作、操作是什么以及何时执行的详细信息。

访问审计日志

注意:对于某些用例,Webhook 可能是审计日志或 API 轮询的良好替代方案。Webhook 是一种让 GitHub 在存储库、组织或企业发生特定事件时通知您的服务器的方式。与 API 或搜索审计日志相比,如果您只想了解并可能记录企业、组织或存储库上发生特定事件的时间,Webhook 可能更有效。有关更多信息,请参阅“Webhook 文档”。

审计日志列出了在过去 180 天内影响您组织的活动触发的事件。只有所有者可以访问组织的审计日志。

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

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

搜索审计日志

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

每个审计日志条目显示有关事件的相关信息,例如

  • 执行操作的组织
  • 执行操作的用户(操作者)
  • 受操作影响的用户
  • 执行操作的仓库
  • 执行的操作
  • 操作发生的国家/地区
  • 操作发生的时间和日期

请注意,您无法使用文本搜索条目。但是,您可以使用各种过滤器构建搜索查询。许多在查询日志时使用的运算符,例如 -><,与在 GitHub 上搜索的格式相同。有关更多信息,请参阅 "关于在 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 用户名,不能使用个人的真实姓名。

根据执行的操作进行搜索

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

类别名称描述
account包含与您的组织帐户相关的所有活动。
advisory_credit包含与在 GitHub Advisory Database 中为安全建议的贡献者授予积分相关的所有活动。有关更多信息,请参阅“关于存储库安全建议”。
auto_approve_personal_access_token_requests包含与您的组织对细粒度个人访问令牌的审批策略相关的活动。有关更多信息,请参阅“为您的组织设置个人访问令牌策略”。
billing包含与您的组织的账单相关的所有活动。
business包含与企业业务设置相关的活动。
codespaces包含与您的组织的 codespaces 相关的所有活动。
copilot包含与您的 GitHub Copilot Business 或 GitHub Copilot Enterprise 订阅相关的所有活动。
dependabot_alerts包含现有存储库中 Dependabot 警报的组织级配置活动。有关更多信息,请参阅“关于 Dependabot 警报”。
dependabot_alerts_new_repos包含在组织中创建的新存储库中 Dependabot 警报的组织级配置活动。
dependabot_security_updates包含现有存储库中 Dependabot 安全更新的组织级配置活动。有关更多信息,请参阅“配置 Dependabot 安全更新”。
dependabot_security_updates_new_repos包含组织级配置活动,用于为组织中创建的新存储库配置 Dependabot 安全更新。
dependency_graph包含组织级配置活动,用于存储库的依赖关系图。有关更多信息,请参阅“关于依赖关系图”。
dependency_graph_new_repos包含组织级配置活动,用于为组织中创建的新存储库配置依赖关系图。
discussion_post包含与发布到团队页面上的讨论相关的所有活动。
discussion_post_reply包含与回复发布到团队页面上的讨论相关的所有活动。
enterprise包含与企业设置相关的活动。
hook包含与 Webhook 相关的所有活动。
integration_installation包含与在帐户中安装的集成相关的活动。
integration_installation_request包含与组织成员请求所有者批准在组织中使用集成相关的所有活动。
issue包含与删除问题相关的活动。
marketplace_agreement_signature包含与签署 GitHub Marketplace 开发者协议相关的所有活动。
marketplace_listing包含与在 GitHub Marketplace 中列出应用程序相关的所有活动。
members_can_create_pages包含与管理组织中存储库的 GitHub Pages 站点发布相关的所有活动。有关更多信息,请参阅“管理组织的 GitHub Pages 站点发布”。
org包含与组织成员资格相关的活动。
org_secret_scanning_automatic_validity_checks包含与在组织级别启用和禁用秘密扫描的自动有效性检查相关的活动。有关更多信息,请参阅“管理组织的安全和分析设置”。
organization_default_label包含与组织中存储库的默认标签相关的所有活动。
oauth_application包含与 OAuth 应用相关的所有活动。
packages包含与 GitHub Packages 相关的所有活动。
payment_method包含与组织如何为 GitHub 付款相关的所有活动。
personal_access_token包含与组织中细粒度个人访问令牌相关的活动。有关更多信息,请参阅“管理您的个人访问令牌”。
profile_picture包含与组织的个人资料图片相关的所有活动。
project包含与项目(经典)相关的所有活动。
protected_branch包含与受保护分支相关的所有活动。
repo包含与组织拥有的存储库相关的活动。
repository_advisory包含与 GitHub Advisory Database 中的安全建议相关的存储库级活动。有关更多信息,请参阅“关于存储库安全建议”。
repository_content_analysis包含与为私有存储库启用或禁用数据使用相关的所有活动。有关更多信息,请参阅“管理存储库的安全和分析设置”。
repository_dependency_graph包含与为私有存储库启用或禁用依赖项图相关的存储库级活动。有关更多信息,请参阅“关于依赖项图”。
repository_secret_scanning_automatic_validity_checks包含与为秘密扫描启用和禁用自动有效性检查相关的存储库级活动。有关更多信息,请参阅“为您的存储库配置秘密扫描”。
repository_vulnerability_alert包含与Dependabot 警报相关的所有活动。
repository_vulnerability_alerts包含与 Dependabot 提醒相关的仓库级配置活动。
restore_member当组织所有者恢复成员时触发。有关更多信息,请参阅 "恢复组织的前成员"。
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 月发生的事件。

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

基于位置搜索

使用限定符country,您可以根据事件的来源国家/地区筛选审计日志中的事件。您可以使用国家/地区的两位字母缩写代码或其全称。请记住,名称中包含空格的国家/地区需要用引号括起来。例如

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

导出审计日志

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

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

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

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

示例值
actionteam.create
actoroctocat
usercodertocat
actor_location.country_codeUS
orgocto-org
repoocto-org/documentation
created_at1429548104000(时间戳显示自纪元以来的时间,以毫秒为单位。)
data.email[email protected]
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

使用 GitHub Enterprise Cloud 的组织可以使用 GraphQL API 和 REST API 与审计日志进行交互。有关更多信息,请参阅GitHub Enterprise Cloud 文档

进一步阅读