访问审计日志
注意
对于某些用例,Webhooks 可能是审计日志或 API 轮询的良好替代方案。Webhooks 是一种让 GitHub 在存储库、组织或企业发生特定事件时通知您的服务器的方法。与 API 或搜索审计日志相比,如果您只想了解并在企业、组织或存储库上发生某些事件时进行记录,Webhooks 会更高效。请参阅“Webhooks 文档”。
审计日志列出过去 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 安全建议数据库中为安全建议的贡献者记入积分相关的所有活动。有关更多信息,请参阅“关于仓库安全建议”。 |
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 安全建议数据库中的安全建议相关的仓库级活动。有关更多信息,请参阅“关于仓库安全建议”。 |
repository_content_analysis | 包含与启用或禁用私有仓库的数据使用相关的活动。有关更多信息,请参阅“管理仓库的安全和分析设置”。 |
repository_dependency_graph | 包含与启用或禁用私有存储库的依赖关系图相关的存储库级活动。有关更多信息,请参阅“关于依赖关系图”。 |
repository_secret_scanning_automatic_validity_checks | 包含与启用和禁用 Secret Scanning 的自动有效性检查相关的存储库级活动。有关更多信息,请参阅“为您的存储库启用 Secret Scanning”。 |
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 文档。