关于大规模配置默认设置
通过 code scanning 的默认设置,可以快速保护整个组织的存储库中的代码。
可以使用标记为“代码安全性和分析”的组织设置页来为组织中符合默认设置的所有存储库启用 code scanning。 有关详细信息,请参阅“为组织中所有符合条件的存储库配置默认设置”。
还可以使用安全概述查找组织中的一部分存储库,并同时为所有这些存储库启用或禁用默认设置。 有关详细信息,请参阅“为组织中的一部分存储库配置默认设置”。
还可以为单个存储库创建不同的默认设置配置。 有关在存储库级别配置默认设置的详细信息,请参阅“配置代码扫描的默认设置”。
对于不符合默认设置条件的存储库,可以在存储库级别或使用脚本在组织级别配置高级设置。 有关详细信息,请参阅“使用 CodeQL 大规模为代码扫描配置高级设置”。
符合 CodeQL 大规模默认设置条件的存储库
存储库必须满足以下所有条件才能使用默认设置,否则需要使用高级设置。
- Code scanning 尚未启用。
- GitHub Actions 已启用。
- 使用任何 CodeQL 支持的语言。
- 公开可见,或 GitHub Advanced Security 已启用。
关于向现有默认设置配置添加语言
如果存储库中的代码更改为包含 CodeQL 支持的语言 GitHub 会自动更新 code scanning 配置以包含新的语言。 如果 code scanning 因新配置而失败,GitHub 将自动恢复以前的配置,因此存储库不会失去 code scanning 覆盖范围。
为组织中所有符合条件的存储库配置默认设置
通过组织设置的“代码安全性和分析”页,可以为组织中所有符合条件的存储库启用默认设置。 有关存储库资格的详细信息,请参阅“符合 CodeQL 大规模默认设置条件的存储库”。
- 单击你的个人资料照片,然后单击“组织”。
- 单击组织旁边的“设置”。
- 单击“代码安全和分析”。
- 单击“Code scanning”旁边的“全部启用”。
- 在显示的“启用 code scanning 默认设置”对话框中的“查询套件”部分中,选择将运行默认设置配置的查询套件。 有关详细信息,请参阅“内置 CodeQL 查询套件”。
- 若要启用默认设置的配置,请单击“为符合条件的存储库启用”。
- (可选)若要在启用默认设置时在整个组织中推荐“扩展”查询套件,请选择“为启用默认设置的存储库图鉴扩展查询套件”。
注意:
- 如果为所有存储库禁用 CodeQL code scanning,则此更改不会反映在组织的安全概述中显示的覆盖范围信息中。 存储库在“安全覆盖范围”视图中仍将显示为已启用 code scanning。
- 为组织中的所有符合条件的存储库启用 code scanning 不会覆盖现有的 code scanning 配置。 若需了解如何为特定存储库配置不同设置的默认设置,请参阅“配置代码扫描的默认设置”和“为组织中的一部分存储库配置默认设置”。
为组织中的部分存储库配置默认设置
通过组织的安全概述,可以找到符合默认设置条件的存储库,然后同时在每个存储库中启用默认设置。 有关存储库资格的详细信息,请参阅“符合 CodeQL 大规模默认设置条件的存储库”。
查找符合默认设置条件的存储库
-
在 GitHub.com 上,导航到组织的主页。
-
在组织名称下,单击“ 安全性”。
-
在边栏中,单击“ 覆盖范围”,以显示“安全覆盖范围”视图。
-
在搜索栏中,输入以下查询之一:
code-scanning-default-setup:eligible is:public
显示具有适合默认设置的语言并且符合条件的存储库,因为它们对公众可见。code-scanning-default-setup:eligible advanced-security:enabled
显示具有适合默认设置的语言并且符合条件的专用或内部存储库,因为它们已启用 GitHub Advanced Security。code-scanning-default-setup:eligible is:private,internal advanced-security:not-enabled
显示具有适合默认设置的语言但未启用 GitHub Advanced Security 的专用或内部存储库。 为这些存储库启用 GitHub Advanced Security 后,也可以将它们添加到默认设置中。code-scanning-default-setup:not-eligible
显示已配置高级设置或语言不适合默认设置的存储库。
可以选择所有显示的存储库或其中一部分存储库,并同时为它们启用或禁用 code scanning 的默认设置。 有关详细信息,请参阅“为组织中的多个存储库大规模配置默认设置”的步骤 5。
为组织中的多个存储库大规模配置默认设置
-
在 GitHub.com 上,导航到组织的主页。
-
在组织名称下,单击“ 安全性”。
-
在边栏中,单击“ 覆盖范围”,以显示“安全覆盖范围”视图。
-
可以使用搜索栏根据名称或安全功能的启用状态来缩小“安全覆盖范围”视图中可见存储库的范围。 例如,要筛选符合默认设置条件且当前未启用默认设置的存储库,请搜索
code-scanning-default-setup:eligible
。 -
在存储库列表中,选择要为其启用 code scanning 的每个存储库。 若要选择页面上的所有存储库,请单击“NUMBER 个活动项”旁边的复选框。 若要选择与当前搜索匹配的所有存储库,请单击“NUMBER 个活动项”旁边的复选框,然后单击“全选 NUMBER 个存储库”。
-
单击“已选中 NUMBER 个”旁边的“安全设置” 。
-
在侧面板的“CodeQL 默认设置”部分中,选择“无更改”,然后单击“启用”。
-
(可选)若要选择与组织的默认查询套件不同的查询套件,请选择“查询套件:套件名称”,然后单击默认设置配置应使用的查询套件。 有关详细信息,请参阅“内置 CodeQL 查询套件”。
-
要确认为所选存储库启用 code scanning,请单击“应用更改编号”。 或者,要选择或取消选择多个存储库以启用 code scanning,请单击“”以关闭面板,而不应用所做的更改。
备注: 在组织中使用安全概述为多个存储库启用 code scanning 将替代所选存储库的任何现有 code scanning 配置,包括任何以前的查询套件选择和高级设置的工作流。
如果系统由于企业策略阻止你启用 code scanning,你仍然可以在“安全覆盖范围”视图中看到受影响的存储库,并从 “安全设置”按钮访问侧面板。 但是,你将在侧面板中看到一条消息,指示无法为所选存储库启用 code scanning。 有关企业策略的详细信息,请参阅“强制实施企业的代码安全性和分析策略”。