关于安全性和分析设置的管理
GitHub 可帮助保护组织中的存储库。 您可以管理成员在组织中创建的所有现有或新仓库的安全性和分析功能。 如果你拥有 GitHub Advanced Security 许可证,则还可以管理对这些功能的访问。 有关详细信息,请参阅“关于 GitHub 高级安全性”。
注意:你不能禁用公共存储库默认启用的某些安全和分析功能。
如果启用了安全和分析功能,GitHub 将对存储库执行只读分析。
显示安全和分析设置
-
在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的组织”。
-
在组织旁边,单击“设置”。
-
在边栏的“安全性”部分中,单击“ 代码安全性和分析”。
显示的页面允许您为组织中的仓库启用或禁用所有安全和分析功能。
如果你的组织属于具有 GitHub Advanced Security 许可证的企业,则该页面还会包含启用和禁用 Advanced Security 功能的选项。 使用 GitHub Advanced Security 的任何仓库都列在页面底部。
为所有现有存储库启用或禁用某项功能
您可以启用或禁用所有仓库的功能。 您的更改对组织中仓库的影响取决于其可见性:
- 专用漏洞报告 - 更改仅影响公共存储库。
- 依赖项关系图 - 所做的更改仅影响专用存储库,因为该功能对公共存储库始终启用。
- Dependabot alerts - 所做的更改会影响所有存储库。
- Dependabot security updates - 所做的更改会影响所有存储库。
- GitHub Advanced Security - 所做的更改仅影响专用存储库,因为 GitHub Advanced Security 和相关功能对公共存储库始终启用。
- Secret scanning - 所做的更改会影响公共存储库以及启用了 GitHub Advanced Security 的专用或内部存储库。此选项控制是否启用 用户的机密扫描警报。 合作伙伴的机密扫描警报 始终在所有公共存储库上运行。
- Code scanning - 你的更改会影响公共存储库,以及启用了 GitHub Advanced Security 的专用或内部存储库。 有关符合条件的存储库的详细信息,请参阅“配置大规模代码扫描的默认设置”。 对于不符合默认设置条件的存储库,可以在存储库级别配置高级设置。 有关详细信息,请参阅“配置代码扫描的高级设置”。
可以使用安全概述来查找一组存储库,并同时为它们启用或禁用安全功能。 有关详细信息,请参阅“为多个存储库启用安全功能”。
注意:如果启用 GitHub Advanced Security,这些存储库的活动提交者将使用 GitHub Advanced Security 许可证。 如果已超出许可证容量,此选项将停用。 有关详细信息,请参阅“关于 GitHub 高级安全的计费”。
注意:如果遇到“由于组织的策略设置,无法启用 GitHub Advanced Security”的错误,请与企业管理员联系,请他们更改企业 GitHub Advanced Security 策略。 有关详细信息,请参阅“强制实施企业的代码安全性和分析策略”。
注意:在企业级启用或禁用 Dependabot alerts 时,它将替代 Dependabot alerts 的组织级别设置。 有关详细信息,请参阅“配置 Dependabot 警报”。
-
转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。
-
在“代码安全性和分析”下,单击功能右侧的“全部禁用”或“全部启用”以显示确认对话框 。 如果没有可用的 GitHub Advanced Security 许可证,则“GitHub Advanced Security”控件将被禁用。
-
查看对话框中的信息。
-
(可选)如果要启用某项功能,选择“默认为新的专用存储库启用”。
-
当准备好进行更改时,单击“禁用功能”或“启用功能”为组织中的所有存储库禁用或启用该功能 。
注意: - 如果为所有存储库禁用 CodeQL code scanning,则此更改不会反映在组织的安全概述中显示的覆盖范围信息中。 存储库在“安全覆盖范围”视图中仍将显示为已启用 code scanning。 - 为组织中的所有符合条件的存储库启用 code scanning 不会覆盖现有的 code scanning 配置。 有关使用不同设置针对特定存储库配置默认设置的信息,请参阅“配置代码扫描的默认设置”和“配置大规模代码扫描的默认设置”。
当您为现有仓库启用一个或多个安全和分析功能时,您将在几分钟内看到 GitHub 上显示的任何结果:
- 所有现有仓库将具有选定的配置。
- 如果启用了新存储库的复选框,则新存储库将遵循所选配置。
- 我们使用权限扫描清单文件以应用相关服务。
- 如果启用,您将在依赖关系图中看到依赖项信息。
- 如果启用,GitHub 将对易受攻击的依赖项或恶意软件生成 Dependabot alerts。
- 如果启用,Dependabot 安全更新将在触发 Dependabot alerts 时创建拉取请求以升级易受攻击的依赖项。
添加新仓库时自动启用或禁用功能
- 转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。
- 在“代码安全和分析”下找到该功能,默认为组织中的新存储库或所有新的专用存储库启用或禁用该功能。
允许 Dependabot 访问私有依赖项
Dependabot 可以检查项目中过时的依赖项引用,并自动生成拉取请求来更新它们。 为此,Dependabot 必须有权访问所有目标依赖项文件。 通常,如果一个或多个依赖项无法访问,版本更新将失败。 有关详细信息,请参阅“关于 Dependabot 版本更新”。
默认情况下,Dependabot 无法更新位于私有仓库或私有仓库注册表中的依赖项。 但是,如果依赖项位于与使用该依赖项之项目相同的组织内的私有 GitHub 仓库中,则可以通过授予对主机仓库的访问权限来允许 Dependabot 成功更新版本。
如果您的代码依赖于私有注册表中的软件包,您可以在仓库级别进行配置,允许 Dependabot 更新这些依赖项的版本。 可通过将身份验证详细信息添加到存储库的 dependabot.yml
文件来完成此操作。 有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
要允许 Dependabot 访问私有 GitHub 仓库:
-
转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。
-
在“授予 Dependabot 专用存储库访问权限”下,单击“添加专用存储库”或“添加内部和专用存储库”以显示存储库搜索字段 。
-
开始键入要授予 Dependabot 访问权限的存储库的名称。
-
将显示组织中匹配的存储库列表,单击要允许访问的存储库,这会将存储库添加到允许列表中。
-
(可选)要从列表中删除仓库,在仓库右侧单击 。
允许对组织中的合作伙伴模式进行验证检查
注意: 合作伙伴模式的验证检查目前为 beta 版,可能会发生更改。
你可以允许 secret scanning 通过将其发送到相关合作伙伴的方式来自动检查机密的有效性。 在组织设置中勾选复选框时,将为组织中的所有存储库启用该功能。 或者,可以为单个存储库启用验证检查,或在企业级别启用。 有关详细信息,请参阅“允许对存储库中的合作伙伴模式进行验证检查”和“管理企业的 GitHub Advanced Security 功能”。
- 转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。
- 在 Secret scanning 下,选中“通过将机密发送给相关合作伙伴自动验证其是否有效”旁边的复选框。
从组织中的个别仓库中移除对 GitHub Advanced Security 的访问权限
你可以从存储库的“设置”选项卡管理对存储库 GitHub Advanced Security 功能的访问。有关详细信息,请参阅“管理存储库的安全和分析设置”。 但您也可以从“Settings(设置)”选项卡对仓库禁用 GitHub Advanced Security 功能。
- 转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。
- 要查看您组织中启用 GitHub Advanced Security 的所有仓库的列表,请滚动到“GitHub Advanced Security 仓库”部分。
此表列出了每个存储库的唯一提交者数量。 这是你可通过移除对 GitHub Advanced Security 的访问权限来释放的许可证数量。 有关详细信息,请参阅“关于 GitHub 高级安全的计费”。
- 若要从存储库中移除对 GitHub Advanced Security 的访问权限并释放对存储库而言唯一的活跃提交者使用的许可证,请单击旁边的 。
- 在确认对话框中,单击“删除存储库”以删除对 GitHub Advanced Security 功能的访问权限。
注意:如果删除对存储库中 GitHub Advanced Security 的访问权限,则应与受影响的开发团队沟通,以便他们了解此更改是有意的。 这确保他们不会浪费时间调试运行失败的代码扫描。