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