简介
本指南向您展示如何配置仓库的安全功能。 您必须是仓库管理员或组织所有者才能配置仓库的安全设置。
您的安全需求是仓库独有的,因此您可能不需要启用仓库的每个功能。 有关详细信息,请参阅“GitHub 安全功能”。
某些功能可用于 所有存储库。 使用 GitHub Advanced Security 的企业可以使用其他功能。 有关详细信息,请参阅“关于 GitHub 高级安全性”。
管理对仓库的访问
保护存储库的第一步是建立谁可以查看和修改你的代码。 有关详细信息,请参阅“管理存储库的设置和功能”。
从仓库的主页中,单击“ Settings”,然后向下滚动到“Danger Zone”****。
- 要更改谁可以查看存储库,请单击“更改可见性”。 有关详细信息,请参阅“设置存储库可见性”。
- 要更改谁可以访问存储库并调整权限,请单击“管理访问权限”。 有关详细信息,请参阅“管理有权访问存储库的团队和人员”。
管理依赖关系图
企业所有者可以为企业配置依赖项关系图和Dependabot alerts。 有关详细信息,请参阅 “为企业启用依赖项关系图”和 “为企业启用 Dependabot”。
有关详细信息,请参阅“探索仓库的依赖项”。
管理 Dependabot alerts
当 GitHub 在依赖关系图中标识具有漏洞的依赖项时,将生成 Dependabot alerts 。
有关 Dependabot 提供的不同功能的概述以及如何入门的说明,请参阅“Dependabot 快速入门指南”。
企业所有者必须为企业配置依赖项关系图和 Dependabot alerts。
配置 Dependabot alerts 后,仓库管理员和组织所有者可以在其“Code security and analysis”设置页中为专用仓库和内部仓库启用 Dependabot alerts。 默认情况下,公共存储库处于启用状态。 有关详细信息,请参阅“为企业启用依赖项关系图”、“为企业启用 Dependabot”和“配置 Dependabot 警报”。
有关详细信息,请参阅“关于 Dependabot 警报”。
管理依赖项审查
依赖项审查可让您在合并到仓库之前在拉取请求中显示依赖关系的变化。 有关详细信息,请参阅“关于依赖项评审”。
依赖项审查是一项 GitHub Advanced Security 功能。 要为 存储库启用依赖项审查,请确保已启用依赖项关系图并启用 GitHub Advanced Security。
- 从存储库的主页中,单击“ 设置”。
- 单击“Code security and analysis”********。
- 检查是否已为企业配置依赖项关系图。
- 如果尚未启用 GitHub Advanced Security,请单击“启用”。
管理 Dependabot security updates
对于任何使用 Dependabot alerts 的仓库,您可以启用 Dependabot security updates 在检测到漏洞时提出带有安全更新的拉取请求。
- 从存储库的主页中,单击“ 设置”。
- 单击“Code security and analysis”********。
- 在 Dependabot security updates 旁边,单击“启用”。
有关详细信息,请参阅“关于 Dependabot 安全更新”和“配置 Dependabot 安全更新”。
管理 Dependabot version updates
您可以让 Dependabot 自动提出拉取请求以保持依赖项的更新。 有关详细信息,请参阅“关于 Dependabot 版本更新”。
要启用 Dependabot version updates,必须创建 dependabot.yml
配置文件。 有关详细信息,请参阅“配置 Dependabot 版本更新”。
配置 code scanning
Note
Code scanning 适用于组织拥有的仓库(如果企业使用 GitHub Advanced Security)。
可以配置 code scanning 使用 CodeQL 分析工作流程 或第三方工具自动识别存储库中存储的代码中的漏洞和错误。 根据存储库中的编程语言,可使用默认设置将 code scanning 配置为 CodeQL,其中 GitHub 将自动确定要扫描的语言、要运行的查询套件以及将触发新扫描的事件。 有关详细信息,请参阅“配置代码扫描的默认设置”。
- 从存储库的主页中,单击“ 设置”。
- 在边栏的“Security”部分中,单击“ Code security and analysis”****。
- 在“Code scanning”部分中,选择“设置”,然后单击“默认” 。
- 在显示的弹出窗口中,查看存储库的默认配置设置,然后单击“启用 CodeQL”。
或者,可以使用高级设置,这会生成一个可编辑的工作流文件,以使用 CodeQL 自定义 code scanning。 有关详细信息,请参阅“配置代码扫描的高级设置”。
配置 secret scanning
Secret scanning 可用于以下存储库:
- 启用了 GitHub Advanced Security 的组织拥有的存储库
- 启用了 GitHub Advanced Security 的企业的
-
从存储库的主页中,单击“ 设置”。
-
单击“Code security and analysis”********。
-
如果尚未启用 GitHub Advanced Security,请单击“启用”。
-
在 Secret scanning 旁边,单击“启用”。
设置安全策略
如果你是存储库维护者,最好通过在存储库中创建名为 SECURITY.md
的文件来为存储库指定安全策略。 此文件指示用户在想要报告存储库中的安全漏洞时,如何最好地联系你并与你协作。 可以从存储库的“安全”选项卡查看存储库的安全策略。
- 从仓库的主页中,单击“ Security”****。
- 单击“安全策略”。
- 单击“开始设置”。
- 添加关于项目受支持版本以及如何报告漏洞的信息。
有关详细信息,请参阅“将安全策略添加到存储库”。
后续步骤
您可以查看和管理来自安全功能的警报,以解决代码中的依赖项和漏洞。 有关详细信息,请参阅“查看和更新 Dependabot 警报”、“管理依赖项更新的所有拉取请求”、“评估存储库的代码扫描警报”和“管理来自机密扫描的警报”。
此外,还可以使用 GitHub 的工具来审核对安全警报的响应。 有关详细信息,请参阅“审核安全警报”。
如果使用 GitHub Actions,则可以使用 GitHub 的安全功能来提高工作流的安全性。 有关详细信息,请参阅“使用 GitHub 的安全功能来保护 GitHub Actions 的使用”。