Skip to main content

管理组织的安全和分析设置

您可以控制功能以保护组织在 GitHub 上项目的安全并分析其中的代码。

谁可以使用此功能?

Organization owners can manage security and analysis settings for repositories in the organization.

关于安全性和分析设置的管理

GitHub 可帮助保护组织中的存储库。 您可以管理成员在组织中创建的所有现有或新仓库的安全性和分析功能。 如果你拥有 GitHub Advanced Security 许可证,则还可以管理对这些功能的访问。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

注意:你不能禁用公共存储库默认启用的某些安全和分析功能。

如果启用了安全和分析功能,GitHub 将对存储库执行只读分析。

显示安全和分析设置

  1. 在 GitHub.com 的右上角,选择个人资料照片,然后单击 “你的组织”****。

    @octocat 的个人资料图片下的下拉菜单的屏幕截图。 “你的组织”以深橙色标出。

  2. 在组织旁边,单击“设置”。

  3. 在边栏的“安全性”部分中,单击“ 代码安全性和分析”。

显示的页面允许您为组织中的仓库启用或禁用所有安全和分析功能。

如果你的组织属于具有 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 警报”。

  1. 转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。

  2. 在“代码安全性和分析”下,单击功能右侧的“全部禁用”或“全部启用”以显示确认对话框 。 如果没有可用的 GitHub Advanced Security 许可证,则“GitHub Advanced Security”控件将被禁用。

  3. 查看对话框中的信息。

  4. (可选)如果要启用专用漏洞报告、依赖项关系图或 Dependabot,则选择默认为新的 专用存储库启用

    “启用功能”模式对话框的屏幕截图,其中突出显示了“为新专用存储库默认启用”选项,且以深橙色框出。

  5. 当准备好进行更改时,单击“禁用功能”或“启用功能”为组织中的所有存储库禁用或启用该功能 。

  6. (可选)在安全和分析设置的功能部分中,选择其他启用设置。 其他启用设置可能包括:

    • 特定类型的存储库的自动启用
    • 特定于功能的设置,例如建议在整个组织中为 code scanning 默认设置提供扩展查询套件,或为 secret scanning 自动进行密钥密验证

注意:

  • 如果为所有存储库禁用 CodeQL code scanning,则此更改不会反映在组织的安全概述中显示的覆盖范围信息中。 存储库在“安全覆盖范围”视图中仍将显示为已启用 code scanning。
  • 为组织中的所有符合条件的存储库启用 code scanning 不会覆盖现有的 code scanning 配置。 有关使用不同设置针对特定存储库配置默认设置的信息,请参阅“配置代码扫描的默认设置”和“配置大规模代码扫描的默认设置”。

当您为现有仓库启用一个或多个安全和分析功能时,您将在几分钟内看到 GitHub 上显示的任何结果:

  • 所有现有仓库将具有选定的配置。
  • 如果启用了新存储库的复选框,则新存储库将遵循所选配置。
  • 我们使用权限扫描清单文件以应用相关服务。
  • 如果启用,您将在依赖关系图中看到依赖项信息。
  • 如果启用,GitHub 将对易受攻击的依赖项或恶意软件生成 Dependabot alerts。
  • 如果启用,Dependabot 安全更新将在触发 Dependabot alerts 时创建拉取请求以升级易受攻击的依赖项。

添加新仓库时自动启用或禁用功能

  1. 转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。
  2. 在“代码安全和分析”下找到该功能,默认为组织中的新存储库或所有新的专用存储库启用或禁用该功能。

允许 Dependabot 访问私有依赖项

Dependabot 可以检查项目中过时的依赖项引用,并自动生成拉取请求来更新它们。 为此,Dependabot 必须有权访问所有目标依赖项文件。 通常,如果一个或多个依赖项无法访问,版本更新将失败。 有关详细信息,请参阅“关于 Dependabot 版本更新”。

默认情况下,Dependabot 无法更新位于私有仓库或私有仓库注册表中的依赖项。 但是,如果依赖项位于与使用该依赖项之项目相同的组织内的私有 GitHub 仓库中,则可以通过授予对主机仓库的访问权限来允许 Dependabot 成功更新版本。

如果您的代码依赖于私有注册表中的软件包,您可以在仓库级别进行配置,允许 Dependabot 更新这些依赖项的版本。 可通过将身份验证详细信息添加到存储库的 dependabot.yml 文件来完成此操作。 有关详细信息,请参阅“dependabot.yml 文件的配置选项”。

注意:要使授予 Dependabot 访问专用存储库的选项可用,需要在组织中至少一个存储库上启用 Dependabot version updates 或 Dependabot security updates。****

要允许 Dependabot 访问私有 GitHub 仓库:

  1. 转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。

  2. 在“授予 Dependabot 专用存储库访问权限”下,单击“添加专用存储库”或“添加内部和专用存储库”以显示存储库搜索字段 。

    可用于搜索存储库的下拉列表的屏幕截图。 键入时,名称与搜索条件匹配的存储库将显示在列表中。 搜索文本字段以深橙色边框突出显示。

  3. 开始键入要授予 Dependabot 访问权限的存储库的名称。

  4. 将显示组织中匹配的存储库列表,单击要允许访问的存储库,这会将存储库添加到允许列表中。

  5. (可选)要从列表中删除仓库,在仓库右侧单击

允许对组织中的合作伙伴模式进行验证检查

注意: 合作伙伴模式的验证检查目前为 beta 版,可能会发生更改。

GitHub.com 上所有类型的存储库都提供针对合作伙伴模式的有效性检查。 若要使用此功能,必须具有 GitHub Advanced Security 的授权许可。

你可以允许 secret scanning 通过将其发送到相关合作伙伴的方式来自动检查机密的有效性。 在组织设置中勾选复选框时,将为组织中的所有存储库启用该功能。 或者,可以为单个存储库启用验证检查,或在企业级别启用。 有关详细信息,请参阅“允许对存储库中的合作伙伴模式进行验证检查”和“管理企业的 GitHub Advanced Security 功能”。

还可以使用 REST API 为组织的合作伙伴模式启用有效性检查。 有关详细信息,请参阅 REST API 文档中的“组织”。

  1. 转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。
  2. 在 Secret scanning 下,选中“通过将机密发送给相关合作伙伴自动验证其是否有效”旁边的复选框。

从组织中的个别仓库中移除对 GitHub Advanced Security 的访问权限

你可以从存储库的“设置”选项卡管理对存储库 GitHub Advanced Security 功能的访问。有关详细信息,请参阅“管理存储库的安全和分析设置”。 但您也可以从“Settings(设置)”选项卡对仓库禁用 GitHub Advanced Security 功能。

  1. 转到组织的安全和分析设置。 有关详细信息,请参阅“显示安全和分析设置”。
  2. 要查看您组织中启用 GitHub Advanced Security 的所有仓库的列表,请滚动到“GitHub Advanced Security 仓库”部分。

此表列出了每个存储库的唯一提交者数量。 这是你可通过移除对 GitHub Advanced Security 的访问权限来释放的许可证数量。 有关详细信息,请参阅“关于 GitHub 高级安全的计费”。

  1. 若要从存储库中移除对 GitHub Advanced Security 的访问权限并释放对存储库而言唯一的活跃提交者使用的许可证,请单击旁边的
  2. 在确认对话框中,单击“删除存储库”以删除对 GitHub Advanced Security 功能的访问权限。

注意:如果删除对存储库中 GitHub Advanced Security 的访问权限,则应与受影响的开发团队沟通,以便他们了解此更改是有意的。 这确保他们不会浪费时间调试运行失败的代码扫描。

延伸阅读