访问审计日志
注意:对于某些用例,Webhook 可能是审计日志或 API 轮询的良好替代方案。Webhook 是一种让 GitHub 在存储库、组织或企业发生特定事件时通知您的服务器的方式。与 API 或搜索审计日志相比,如果您只想了解并可能记录企业、组织或存储库上发生特定事件的时间,Webhook 可能更有效。有关更多信息,请参阅“Webhook 文档”。
审计日志列出了在过去 180 天内影响您组织的活动触发的事件。只有所有者可以访问组织的审计日志。
默认情况下,只显示过去三个月的事件。要查看更早的事件,您必须使用 created
参数指定日期范围。有关更多信息,请参阅“了解搜索语法”。
- 在 GitHub 的右上角,选择您的个人资料照片,然后单击 您的组织.
- 在组织旁边,单击 **设置**。
- 在侧边栏的“存档”部分,单击 日志,然后点击审计日志。
搜索审计日志
每个审计日志条目的名称由事件类别和操作类型组成。例如,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-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:hubot
查找由octocat
或hubot
执行的所有事件。-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) 文件。
要筛选导出结果,请在使用**导出**下拉菜单之前,按一个或多个支持的限定符进行搜索。
限定符 | 示例值 |
---|---|
action | team.create |
actor | octocat |
user | codertocat |
org | octo-org |
repo | octo-org/documentation |
created | 2019-06-01 |
导出日志后,您将在生成的文件中看到以下键和值。
键 | 示例值 |
---|---|
action | team.create |
actor | octocat |
user | codertocat |
actor_location.country_code | US |
org | octo-org |
repo | octo-org/documentation |
created_at | 1429548104000(时间戳显示自纪元以来的时间,以毫秒为单位。) |
data.email | [email protected] |
data.hook_id | 245 |
data.events | ["issues", "issue_comment", "pull_request", "pull_request_review_comment"] |
data.events_were | ["push", "pull_request", "issues"] |
data.target_login | octocat |
data.old_user | hubot |
data.team | octo-org/engineering |
使用审计日志 API
使用 GitHub Enterprise Cloud 的组织可以使用 GraphQL API 和 REST API 与审计日志进行交互。有关更多信息,请参阅GitHub Enterprise Cloud 文档。