Skip to main content
Skip to content

查看贵组织的审核日志

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

可通过多种方式访问和保留组织的审核日志数据:

每个方法都会公开审核日志数据的不同子集。 有关事件的完整列表,请参阅 组织的审核日志事件。

如果组织属于企业,请与企业所有者合作,启用企业审核日志流式处理、API 请求事件流式处理和源 IP 地址泄露。 如果没有在企业级别启用这三项功能,响应者在调查影响组织的事件时将存在严重的可见性差距。 企业所有者还应为流式传输的日志设置适当的保留期,并确保事件响应者可以访问它们。

有关设置说明,请参阅 流式处理企业审核日志、 启用 API 请求的审核日志流式处理和 在企业审核日志中显示 IP 地址。

访问方法提供的审核日志数据

可用数据Web 界面JSON/CSV 导出REST API 端点流式传输到外部系统
Web 事件的范围180 天180 天180 天由外部系统的保留策略确定
Git 事件 (仅限 JSON)。 审核日志将 Git 事件保留七天。。 审核日志将 Git 事件保留七天。
单点登录响应
已创建和已完成的工作流运行
已启动的工作流作业,包括提供给每个作业的机密
联机和脱机自托管运行器

通过 Web 界面访问组织的审核日志

注意

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

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

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

  1. 在 GitHub 的右上角,单击个人资料图片,然后单击“ Your organizations”****。

  2. 通过单击组织来选择组织。

  3. 在组织名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。

    组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

  4. 在边栏的“Archive”部分中,单击“ Logs”,然后单击“Audit log”********。

搜索审核日志

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

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

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

请注意,无法使用文本搜索条目。 但是,您可以使用各种过滤器构建搜索查询。 查询日志时使用的许多运算符,如 -、> 或 <,与在 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-repo 和 another-repo 存储库发生的所有事件。
  • -repo:my-org/not-this-repo 排除 my-org 组织中 not-this-repo 存储库发生的所有事件。

请注意,repo 限定符必须包含帐户名;仅搜索 repo:our-repo 无效。

基于角色搜索

actor限定符可以根据执行作的人员或代理来限定事件范围。 举例来说:

  •           `actor:octocat` 查找 `octocat` 执行的所有事件。
    
  •           `actor:octocat actor:Copilot` 查找 `octocat` 或 `Copilot` 执行的所有事件。
    
  •           `-actor:Copilot` 排除 `Copilot` 执行的所有事件。
    

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

基于已执行的动作进行搜索

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

类别名称说明
account包含与组织帐户相关的所有活动。
advisory_credit包含与在 GitHub Advisory Database 中为安全公告参与者署名相关的所有操作。 有关详细信息,请参阅“存储库安全公告”。
auto_approve_personal_access_token_requests包含与您组织针对 fine-grained personal access token 的审批策略相关的操作。 有关详细信息,请参阅“为组织设置个人访问令牌策略”。
billing包含与组织帐单相关的所有活动。
business包含与企业的业务设置相关的活动。
code-scanning包含与组织的代码扫描警报相关的所有活动。
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包含与 webhooks 相关的所有活动。
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 token 相关的活动。 有关详细信息,请参阅“管理个人访问令牌”。
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 月发生的所有事件。

注意

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

基于位置搜索

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

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

基于访问令牌的搜索

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

导出审核日志

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

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

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

注意

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

导出限制

导出组织的审核日志时存在硬性限制。 这些限制之一是:

  • 100 MB 压缩文件,或
  • 10 分钟 导出处理时间,或
  • 两者。

若要避免这些限制,建议在导出之前将审核日志减少到较小的数据集。 有关详细信息,请参阅“查看贵组织的审核日志”。

如果打算查看大型审核日志数据集,建议将日志流式传输到外部数据管理系统。 有关详细信息,请参阅“流式处理企业审核日志”。

导出的日志密钥和值

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

密钥示例值
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 访问审核日志。

注意

若要使用审核日志 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 终结点”。

其他阅读材料