访问审核日志
注意:****在特定用例中,Webhook 可能是审核日志或 API 轮询的良好替代方法。 Webhook 是一种 GitHub 在存储库、组织或企业发生特定事件时通知服务器的方法。 与 API 或搜索审核日志相比,如果只想了解企业、组织或存储库何时发生某些事件并进行相应记录,Webhook 效率更高。 请参阅“Webhook 文档”。
审核日志列出了过去 180 天内影响组织的活动所触发的事件。 只有所有者才能访问组织的审核日志。
默认情况下,仅显示过去三个月的事件。 若要查看较旧的事件,必须使用 created
参数指定日期范围。 请参阅“了解搜索语法”。
- 在 GitHub 的右上角,选择个人资料照片,然后单击“你的组织”。
- 在组织旁边,单击“设置”。
- 在边栏的“存档”部分中,单击“ 日志”,然后单击“审核日志”。
搜索审核日志
每个审核日志条目的名称由事件类型组成,后跟操作类型。 例如,repo.create
条目是指对 repo
类别的 create
操作。
每个审核日志条目都显示有关事件的适用信息,例如:
- 执行操作的企业或组织
- 执行操作的用户(参与者)
- 受操作影响的用户
- 执行操作的仓库
- 执行的操作
- 发生操作的国家/地区
- 发生操作的日期和时间
- 对于 Web UI 之外的操作,用户(操作者)如何进行身份验证
请注意,无法使用文本搜索条目。 但是,您可以使用各种过滤器构建搜索查询。 查询日志时使用的许多运算符,如 -
、>
或 <
,与在 GitHub Enterprise Server 上搜索时的格式相同。 有关详细信息,请参阅“关于在 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
或 repo:my-org/our-repo
无效。
基于用户搜索
actor
限定符可将事件范围限于执行操作的人员。 例如:
actor:octocat
查找octocat
执行的所有事件。actor:octocat actor:hubot
查找octocat
或hubot
执行的所有事件。-actor:hubot
排除hubot
执行的所有事件。
请注意,只能使用 GitHub Enterprise Server 用户名,而不是个人的真实姓名。
基于执行的操作搜索
若要搜索特定事件,请在查询中使用 action
限定符。 审核日志中列出的操作分为不同类别。 有关每个类别中事件的完整列表,请参阅“组织的审核日志事件”。
类别名称 | 说明 |
---|---|
auto_approve_personal_access_token_requests | 包含与 fine-grained personal access tokens 的组织审批策略相关的活动。 有关详细信息,请参阅“为组织设置个人访问令牌策略”。 |
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 的组织级配置活动。 |
discussion_post | 包含与发布到团队页的讨论相关的所有活动。 |
discussion_post_reply | 包含与发布到团队页的讨论回复相关的所有活动。 |
enterprise | 包含与企业设置相关的活动。 |
hook | 包含与 web 挂钩相关的所有活动。 |
integration_installation | 包含与帐户中安装的集成相关的活动。 |
integration_installation_request | 包含与组织成员请求所有者批准用于组织的集成相关的所有活动。 |
issue | 包含与删除问题相关的活动。 |
members_can_create_pages | 包含与管理组织存储库的 GitHub Pages 站点发布相关的所有活动。 有关详细信息,请参阅“管理组织的 GitHub Pages 站点发布”。 |
org | 包含与组织会员资格相关的活动。 |
org_secret_scanning_custom_pattern | 包含与 secret scanning 自定义模式相关的组织级活动。 有关详细信息,请参阅“为机密扫描定义自定义模式”。 |
organization_default_label | 包含与组织中存储库的默认标签相关的所有活动。 |
oauth_application | 包含与 OAuth apps 相关的所有活动。 |
packages | 包含与 GitHub Packages 相关的所有活动。 |
personal_access_token | 包含与组织中的 fine-grained personal access tokens 相关的活动。 有关详细信息,请参阅“管理个人访问令牌”。 |
profile_picture | 包含与组织的个人资料图片相关的所有活动。 |
project | 包含与 项目(经典) 相关的所有活动。 |
protected_branch | 包含与受保护分支相关的所有活动。 |
repo | 包含与组织拥有的存储库相关的活动。 |
repository_secret_scanning | 包含与 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 相关的所有活动。 |
role | 包含与自定义存储库角色相关的所有活动。 |
secret_scanning | 包含现有存储库中 secret scanning 的组织级配置活动。 有关详细信息,请参阅“关于机密扫描”。 |
secret_scanning_new_repos | 包含在组织中创建的新存储库的 secret scanning 的组织级配置活动。 |
team | 包含与您的组织中的团队相关的所有活动。 |
team_discussions | 包含与管理组织的团队讨论相关的活动。 |
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"
查找全发生在美国的事件。
使用审核日志 API
可以使用 GraphQL API 与审核日志交互。可以使用 read:audit_log
范围通过 API 访问审核日志。
为确保知识产权得到保护并保持组织的合规,可使用审核日志 GraphQL API 保留审核日志数据的副本并监视:* 对你的组织或存储库设置的访问
- 权限的更改
- 在组织、存储库或团队中添加或删除的用户
- 被提升为管理员的用户
- GitHub App
GraphQL 响应可包含长达 90 至 120 天的数据。
例如,您可以创建 GraphQL 请求以查看添加到组织的所有新组织成员。 有关详细信息,请参阅“接口”。
延伸阅读
- “保护组织安全”